Перейти к содержимому
Позвоните нам, чтобы обсудить ваш проект!

Sparse Retrieval


Sparse Retrieval (разреженный поиск) — это метод информационного поиска, при котором документы и запросы представляются в виде разреженных векторов высокой размерности, где большинство координат равны нулю, а ненулевые значения соответствуют отдельным словам или термам. В отличие от плотных векторных представлений, разреженные векторы сохраняют прямую связь с лексикой: каждое измерение — это конкретный термин из словаря, а вес отражает его значимость. Классический пример — модель BM25, лежащая в основе большинства поисковых систем, включая ранние версии Google и Elasticsearch.

Как работает разреженный поиск

  • Токенизация: запрос и документы разбиваются на слова, приводятся к базовой форме (лемматизация или стемминг).
  • Построение инвертированного индекса: для каждого терма хранится список документов, где он встречается, с частотными характеристиками.
  • Взвешивание: применяются схемы TF-IDF или BM25, учитывающие частоту термина в документе, его редкость в коллекции и длину документа.
  • Ранжирование: документы сортируются по сумме весов совпавших терминов, топ-N возвращается пользователю.

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

Сильные и слабые стороны

  • Плюсы: интерпретируемость (видно, какие слова повлияли на выдачу), высокая скорость на инвертированных индексах, отсутствие необходимости обучать нейросеть, устойчивость к редким терминам и артикулам.
  • Минусы: не понимает синонимы и перефразирования — запрос «автомобильные покрышки» не найдёт документ со словом «шины»; чувствителен к опечаткам; плохо работает с длинными естественно-языковыми запросами.
  • Проблема словарного разрыва (vocabulary mismatch) — главная причина, по которой сегодня sparse-методы комбинируют с dense-подходами в гибридных системах.

Современные реализации — SPLADE, uniCOIL, DeepImpact — обучают нейросети генерировать разреженные векторы с расширением терминов: модель добавляет в вектор синонимы и связанные слова, сохраняя разреженность. Это даёт прирост nDCG на 10–15% относительно BM25 при сопоставимой скорости. Для англоязычных проектов такие настройки особенно важны, и их часто заказывают вместе с продвижением англоязычных сайтов.

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

  • Поиск по сайту и внутренняя навигация интернет-магазинов.
  • Первая стадия ранжирования в гибридных поисковых системах (candidate generation).
  • Юридический и патентный поиск, где важна точность формулировок.
  • RAG-системы: разреженный поиск отбирает релевантные фрагменты перед подачей в языковую модель.

В контексте генеративного поиска sparse retrieval часто выступает дополнением к Dense Retrieval: первый ловит точные совпадения, второй — семантику. Вместе они образуют Retrieval, лежащий в основе RAG (Retrieval-Augmented Generation). Для задач Passage Retrieval и Document Retrieval выбор между разреженным и плотным подходом определяется типом запросов: транзакционные и навигационные — sparse, информационные — dense.


Еще на эту тему