Неизученные примеры извлечения мусора: косинус — не основа.
Enterprise Document Intelligence [Том 1 #7ter] – Шесть позиций в блоке определения, которые противоречат рефлексу «сначала косинус» базового алгоритма RAG.
Делить
Эта статья является манифестом вашего рода, дополняющим серию статей «Enterprise Document Intelligence», философия, которая изложена в книге «Amplify the Expert». В ее подробном обзоре третий (поиск)из четырехкомпонентной структуры и возникают циклы, которые обычно возникают в большинстве научных пособий. Мы не согласны почти со всеми ее аспектами. Поиск информации — это фильтрация по структурированным таблицам, а не поиск по свободному тексту. Эмбеддинги — это необязательный резервный вариант, а не основа. Якорь и контекст — это две детализации, а не одна. Каждая из этих позиций — это то, что мы можем защитить, и последствия этого можно измерить.

📓 Запускаемые сопутствующие блокноты доступны на GitHub: doc-intel/notebooks-vol1.

Наивная Исходное внимание, подтверждает эту статью.

Наивный алгоритм обработки данных разбивает документ на фрагменты, встраивает каждый фрагмент, встраивает вопрос и ранжирует по косинусу. Этот единственный сигнал непрозрачен и игнорирует структуру документа. Мы сохраняем документ в видео line_df + toc_dfи запускаем три поиска сигнала параллельно (ключевое слово в строках, рассуждения в оглавлении, встраивание по косинусу), а затем разрешаем арбитру LLM ранжировать документ один раз в конце, затем все три набора результатов.

Ниже перечислены шесть нерассказанных уроков, содержащихся в этом кирпичике.
Урок 1 – Извлечение информации – это фильтрация, а не поиск.
После завершения синтаксического анализа поиск сводится к задаче фильтра, простой SQL, по line_df и toc_df , что является ответом на запросы к chunk-embed-cosine-top-k. Изменение просто: вопрос имеет столбцы, имеет столбцы документа, а поиск представляет собой объединение.
Поиск и фильтрация — не синонимы; эти две операции работают по-разному. Поиск оценивает каждого кандидата по непрерывной шкале сходства ( cosine , BM25 ), устанавливает пороговое значение top-k и всегда возвращает результат, даже если ответ отсутствует в документе. Фильтрация прилагает логическое условие ( line.contains("X") , toc.title в [...]), сохраните все соответствующие строки и более того, и можете вернуть только первую строку, если документ не содержит ответа. Разница, которая проявляется на примере, — это журнал аудита. Условие фильтра — это одна строка кода, которую можно проверить, и она показывает одинаковый результат в течение шести месяцев. Ранжирование поиска зависит от того, какие меры встраивания заложены в основу, и вы не можете воспроизвести это решение без повторного запуска модели.
Рассмотрим «Какое позиционное кодирование используется в статье?» в документе Внимание. Наивная RAG встраивает его, оценивает около трехсот фрагментов и возвращает пять лучших. Вместо этого процесса обработки данных фильтрует данные следующим образом: он сохраняет четыре строки line_df , содержащие "позиционное кодирование" , и один раздел toc_df, заголовок которого содержит "positional" , 3.5 Позиционное кодирование. Затем арбитр считывает оба элемента: строки в качестве якоря и раздел в качестве области сильной. Косинусный анализ не показал результата, и если бы фраза отсутствовала, фильтр бы ничего не вернулся, что является честным результатом. 2 – Якорь и контекст разделены.
Вы привязываетесь к базовой строке, в которой упоминается «премиум» (точно), но передаете весь окружающий раздел в генерации (достаточный контекст); Смешение этих двух подходов обеспечивает точность и охват всех движений. МетодTop-k заставляет вас выбирать: крошечные фрагменты утверждения контекста, значительные фрагменты обеспечения точности. Мы получаем и то, и другое, разделяя их.
В поиске информации раскрываются два разных понятия, и их легко совместить. Первое — это якорь: именно то место, где находится ответ, к которому вы обращаетесь с помощью ключевого слова. Если вы запросите сумму премии, ключевое слово premium укажет вам нужный формат, где будет указана цифра рядом со словом. Если вы запросите исключение, ключевое слово « exclusions укажет вам на нужный раздел. В обоих случаях именно ключевое слово находит ответ.
Второе рассмотрение касается контекста вокруг этого якоря: сколько текста вам на самом деле нужно прочитать, чтобы ответить. Для премиум-класса это почти ничего, стоимость находится прямо в строке. Для исключения это три страницы, потому что список проходит через них. Один и тот же якорь, но совершенно разное количество окружающего текста. Именно здесь единый алгоритм определения по k-значениям дает сбой, потому что он использует один блок увеличения для обоих случаев. Маленькие блоки идут с символом премиум-класса, но включены в список исключений. Большие блоки охватывают весь исключенный раздел, но скрывают тени со страницы премиум-класса на шумной странице. Поэтому мы разделяем эти два случая: ключевое слово указывает, где находится ответ, область действия определяет, сколько окружающего текстового объекта для генерации, поиск возвращает их вместе как типизированную пару.
→ Статья 7А: «Извлечение информации — это фильтрация, а не поиск» проводится граница между якорем и контекстом.
Урок 3 – Встраивание данных происходит в последнюю очередь, а не в первую очередь.
Ключевые слова всегда использовались (дешевый, детерминированный подход); собственное оглавление документа — первый метод определения; эмбеддинги являются необязательным заключительным сигналом, используются только в тех случаях, когда руководство не соответствует словарю. Рефлекс эпохи 2024 года начинается с эмбеддингов; мы предоставляем их для случаев, когда более простые сигналы не сработали.
Определим фактический поиск в страховой полисе: «дата придания силы?». Наивный алгоритм RAG встраивает вопрос и возвращает пять фрагментов. Конвейер обработки серии сначала выполняет поиск по ключевым словам "эффективный" и "date" , находит единственную букву, содержащую оба параметра, и останавливается на этом. Этот встраивания не всегда успешен, поскольку на простой сигнал уже дан ответ. Это выполняется всего один проход по регулярному выражению над line_df , несколько миллисекунд, вместо определения по косинусу над каждым фрагментом. Встраивания ключевых слов не найдены и не расходуются по умолчанию.
→ Статья 7B: На правильных опорных точках формируется трехсигнальный конвейер.
Урок 4 – Ключевые слова доказывают отсутствие; Векторные представления это сделать не могут.
Нулевое значение в поиске по ключевым словам означает, что ответа действительно нет; нулевое значение в сходстве эмбеддингов может заключаться в отсутствии объяснения или просто разных слов, поэтому эмбеди — это уточнение, а не критерий принятия решений. землетрясения?» в полисе, покрывающие только ущерб от наводнения. Поиск по ключевому слову "earthquake" не дает ни одного совпадения в line_df , поэтому конвейер может отправить answer_found = Falseи считаю, что это действительно так: этого слова просто нет в документе. Метод встраивания косинуса ведет себя иначе. Он все равно возвращает пять фрагментов, строк, наиболее близких по смыслу, о стихийных страданиях и наводнениях, и модель, читающая их, может убедить себя в ошибочном положительном ответе. В этом и заключается асимметрия. Ноль от ключевых слов означает реальное отсутствие; низкий показатель косинуса — незначительное расстояние. Таким образом, именно ключевые слова, а не встраивания, определяют, существует ли ответ вообще.
→ Статья 7B: Поиск правильных анкоров основной принцип «ключевые слова в свою очередь первый».
Урок 5 – Совместное появление слова превосходит BM25 в узких корпусах текстов.
BM25 ранжирует по частоте встречи терминов, но в корпоративном ответе это означает одно упоминание тем рядом с этим значением, поэтому периодичность совместного проявления и значимые регулярные выражения превосходят статистические IDF на узких корпусах. class=»wp-block-paragraph»> Возьмем, например, вопрос «какова последней франшизы?». В BM25 ранжирование происходит по частоте упоминаний слов "deductible" , поэтому раздел глоссария, повторяющий это слово дюжину раз, оказывается на первом месте, даже если в нем нет цифр. В случае совместного использования слов и чисел модель отдает предпочтение строкам, содержащим как слово «франшиза», так и число. Строка с текстом полиса, <код>«франшиза $1000»код>, занимает первое место, потому что слово и значение находятся рядом, и модель может вычислять данные напрямую. В корпусе из двадцати документов, где IDF рассматривает почти каждый термин как редкий, эта форма сигнала превосходит просто подсчет частоты.
→ Статья 7B: Подбор правильных результатов совпадения совпадений с BM25.
Урок 6 – Первый проход по содержанию магистерской работы.
Передача 20-100-строчного файла toc_df небольшие модели и запрос информации о том, какие разделы предложений по вопросу, происходит в одном кэшированном вызове и позволяет выбрать логические сочетания отдельных слов. («ранний выход» ≈ «Завершение»). Рассуждения TOC являются одним из последних внешних сигналов определения в производственной среде RAG.
Возьмем, к примеру, вопрос «Когда я смогу досрочно расторгнуть договор?». Поиск подстроки по слову "leave" ничего не нашёл в оглавлении, потому что этот раздел называется «Прекращение действия договора и аннулирование» и не содержит ни одного общего слова с вопросом. Передайте все оглавление (двадцать восемь строк) небольшим моделям в одном запросе и спросите, какие разделы точны, и она вернет «Предупреждение действия договора и аннулирование»: она воспринимает «досрочное расторжение договора» и «прекращение действия договора» как одну и ту же идею. Вызов кэшируется, поэтому результат один раз и остается определённым после этого, и он сохраняет раздел, поиск которого по ключевым словам просто пропустил.
→ Статья 7B обосновывает положения TOC, статья 7C: магистр права в качестве арбитра включает арбитр.
Все шесть уроков включают один принцип: отказ от рефлекса «фрагмент-встраивание-косинус» и продолжение определения как фильтрацию по структурированным таблицам. Ключевые слова всегда выполняются, поскольку они доказывают отсутствие; оглавление является первым сигналом, поскольку документ уже определил вашу структуру; встраивания — это необязательное уточнение, а не основа. Подробные уроки (7A, 7B, 7C, 7bis) содержат исполняемый код на одних документах; эта статья — каталог, указывающий на них.
В разных секторах и профессиях
Один и тот же шаблон поиска по трем сигналам (ключевое слово в line_df + рассуждение в toc_df + резервное встраивание) применимо во всех областях. Словарь и глубина TOC существуют; иерархия сигналов остается неизменной. Пять секторов ниже, один шаблон определения, одна трассировка аудита на каждый вызов.

Эмбеддинги происходят только в медицинской сфере, где словарь пользователя («тахикардия») отличается от словарного документа («учащенное сердцебиение»). Остальные четыре строки полностью обоснованы ключевым словом + оглавлением. Ключевые слова доказывают отсутствие (Урок 4), оглавление выявляет перефразирование (Урок 6), разделение на якорь и область обеспечивает определение точности и контекста (Урок 2) в каждой строке. Разница в реальной стоимости: четыре строки, определяемые ключевые слова, обрабатываются за миллисекунды с нулевым количеством токенов LLM; медицинская строка оплачивает один проход встраивания и один вызов арбитра.
и и дополнительную литературу
Основная литература по поисковой оптимизации метода Основание крупномасштабного веб-поиска и выбора потребительских корпусов данных. Подход, основанный на анализе серий данных, предполагает использование небольших интегральных корпусов, устойчивую структуру, ключевым фактором является словарный запас.
- Извлечение информации — это фильтрация, а не поиск (статья 7А). Опованная статья о ментальной модели: извлечение информации как фильтрация структурированных таблиц.
- Эмбеддинги — это не магия (статья 2). Опубликованный каталог типов ошибок при оценке сходства эмбеддингов.
- Переранжировщики тоже не волшебные (статья 2bis). Когда кросс-кодировщик используется, а когда нет.
Кежан Ши Посмотреть все Кежан Ши
Источник: towardsdatascience.com
Похожие записи
- Внедрение ИИ в розничной торговле для масштабирования персонализации и анализа потребительских предпочтений.
- Ультимативная шпаргалка по Claude (июль 2026): как выжать максимум из нейросети, от промптов до MCP и терминальных агентов
- Теперь Slackbot от Slack может получать данные из вашей CRM-системы, создавать диаграммы и отправлять документы DocuSign — и все это из сообщения в чате.
Оцените материал:
Похожие записи
Присоединяйтесь и подпишитесь на рассылку самых свежих новостей по Email
Получайте свежие новости и идеи на почту. Без спама — только самое интересное.
Нажимая «Подписаться», вы соглашаетесь с политикой конфиденциальности.
