Обработка естественного языка

Semantic Search

Семантический поиск

новинкаНовое или быстро растущее направление

Направления: Прикладные направления · NLP, Прикладные направления · Рекомендательные системы, Прикладные направления · Мультимодальный ИИ, Генеративный ИИ · RAG

Поиск по смыслу, а не по совпадению слов: запрос и документы сравниваются в пространстве .

Ключевые тезисы

  • ANN-индексы (HNSW, IVF) обеспечивают поиск за миллисекунды.
  • Гибрид BM25 + устойчивее любого из подходов по отдельности.
  • Реранкер — cross-encoder — заметно поднимает точность топа выдачи.

Какую задачу решает

Классический поиск ищет документы, содержащие слова запроса. Это ломается, как только пользователь формулирует своими словами: «не приходит письмо с кодом» не находит инструкцию «настройка двухфакторной аутентификации», хотя это ровно то, что нужно.

сравнивает не слова, а : запрос и документы кодируются моделью в одно пространство, и близость в нём отражает близость по смыслу. Но чистая векторная схема теряет то, в чём словарный поиск силён — точные термины, коды, артикулы. Поэтому рабочие системы почти всегда гибридные.

Reciprocal rank fusion в двух строках

Возьмите топ-50 от векторного поиска и топ-50 от BM25. Для каждого документа посчитайте по обоим спискам (документ, отсутствующий в списке, вклада не даёт). Отсортируйте по этой сумме. Схема не требует настройки весов и шкал — она работает с рангами, а не с несравнимыми оценками релевантности. На типичной базе знаний такая склейка поднимает @10 на 10–15 процентных пунктов относительно любого из двух поисков по отдельности.

Подробный разбор

2 подтемы — объяснения, формулы, примеры и интерактивные графики.

  1. Кандидаты: BM25 и поиск дают по 50–100 документов каждый.
  2. Слияние: Reciprocal Rank Fusion объединяет два списка без настройки весов.
  3. Реранкинг: cross-encoder оценивает пары «запрос — документ» и переупорядочивает топ-20.
Обозначения
  • награда, полученная агентом на шаге
  • номер или количество: индекс шага, число соседей, кластеров или позиций
  • суммирование по всем перечисленным элементам

Bi-encoder кодирует запрос и документ независимо (быстро, можно проиндексировать заранее). Cross-encoder обрабатывает их вместе (точнее, но дорого) — поэтому он применяется только к небольшому топу.

  • Соберите 50–200 реальных запросов с отмеченными релевантными документами.
  • Основные метрики: @k для этапа кандидатов, @10 и — для финальной выдачи.
  • Мерьте отдельно лексический, и гибридный поиск — увидите, что каждый добавляет.
  • Следите за latency: реранкер cross-encoder на 100 документов может стоить сотни миллисекунд.
0.00.51.00.00.51.0FPRTPR
ROC-AUC0.983
TPR (recall)0.841
FPR0.023
Retrieval можно смотреть и как задачу ранжирования: качество отделения релевантного от нерелевантного

Где применяется

  • Поиск по базе знанийПользователи формулируют вопросы своими словами, а не терминами документации.
  • Первый и определяющий этап: качество ответа не выше качества поиска.
  • Поиск похожих объектовТовары, вакансии, статьи, изображения — по описанию.
  • ДедупликацияПоиск повторов, отличающихся формулировкой.

Плюсы, минусы и альтернативы

Плюсы

  • Находит по смыслу, а не по совпадению слов.
  • Устойчив к синонимам, опечаткам и переформулировкам.
  • Работает между языками, если модель мультиязычная.
  • Масштабируется до миллиардов документов с ANN-индексами.

Минусы

  • Промахивается на точных терминах, кодах и редких именах.
  • Требует переиндексации при смене модели .
  • Индекс занимает много памяти.
  • Качество на узком домене может оказаться ниже BM25 без .
  • Результат трудно объяснить: почему документ оказался релевантным — не видно.

Брать, если

  • Запросы формулируются свободным языком.
  • Терминология пользователей и документов расходится.
  • Нужен поиск как этап .

Не брать, если

  • Поиск строго по кодам, идентификаторам и точным названиям.
  • Корпус мал и структурирован — обычные фильтры справятся лучше.

Чем заменяют

Связанные темы

Поиск, эмбеддинги и RAG

Embeddings80%

Эмбеддинги · Обработка естественного языка

Плотные векторные представления объектов, где геометрическая близость означает смысловое сходство.

RAG80%

Retrieval-Augmented Generation · Обработка естественного языка

Языковая модель отвечает, опираясь на найденные во внешней базе фрагменты, а не только на память весов.

TF-IDF80%

TF-IDF · Обработка естественного языка

Взвешивает частоту слова в документе на его редкость в корпусе, подавляя общеупотребительные слова.

RAG80%

RAG · Генеративный ИИ

Подмешивание найденных документов в контекст модели вместо хранения знаний в весах.

LLM80%

Большие языковые модели · Генеративный ИИ

Трансформеры-декодеры, обученные на огромных корпусах предсказывать следующий токен.

Agents80%

Агенты · Генеративный ИИ

LLM, которая планирует, вызывает инструменты и итеративно движется к цели.

NDCG80%

NDCG · Метрики

Нормированный дисконтированный кумулятивный выигрыш: учитывает градации релевантности и позиции с логарифмическим дисконтом.

MRR80%

Средний обратный ранг · Метрики

Среднее значение 1/rank первого релевантного результата.

MAP80%

Средняя усреднённая точность · Метрики

Среднее по запросам от average precision — учитывает и релевантность, и позиции.

Precision@K80%

Точность@K · Метрики

Доля релевантных объектов среди первых K позиций выдачи.

Recall@K80%

Полнота@K · Метрики

Какая доля всех релевантных объектов попала в топ-K.

Проверить себя

Тема встречается в тестах по направлениям — ошибки приведут обратно на эту страницу.

Тема в работе целиком

Разбор архитектуры, где эта тема — один из кирпичей: требования, развилки, цифры и режимы отказа.

Следующий шагПроверить себя: NLPТема встречается в этом тесте 3 раза. Ошибка приведёт обратно на эту страницу — с объяснением, что именно не сошлось.Перейти →

Глава «Обработка естественного языка» последний раз правилась . Нашли ошибку — напишите.