Sparse retrieval и разреженный поиск

Термин глоссария

Sparse retrieval


Sparse retrieval — подход к поиску, при котором запросы и документы представлены разреженными векторами с небольшим числом ненулевых признаков, напрямую связанных с терминами или их взвешенными вариантами.

Определение

Sparse retrieval — это класс поисковых методов, основанных на разреженных представлениях текста, где каждый измеримый признак соответствует конкретному термину или псевдотермину. В отличие от dense retrieval, где используются плотные семантические эмбеддинги, sparse retrieval сохраняет явную интерпретируемую связь между словами запроса и документами. Классические алгоритмы (TF-IDF, BM25) и современные neural sparse модели (SPLADE, DeepImpact) относятся к этому подходу.

Как работает

1. Разреженное представление

Документы и запросы кодируются в векторы большой размерности, где:

  • каждое измерение соответствует термину словаря;
  • большинство значений равны нулю;
  • ненулевые значения отражают важность термина.

2. Взвешивание терминов

Ключевой механизм sparse retrieval — оценка значимости слов:

  • TF-IDF — частота термина с учётом его редкости;
  • BM25 — вероятностная модель с нормализацией по длине документа;
  • Learned weights — нейросети предсказывают веса терминов.

3. Сопоставление и ранжирование

Релевантность вычисляется как скалярное произведение или суммарный скор по совпадающим терминам. Чем больше совпадений и выше веса — тем выше позиция документа.

4. Neural sparse retrieval

Современные модели расширяют классический подход:

  • SPLADE — Transformer генерирует разреженный вектор с псевдотерминами;
  • DeepImpact — обучает веса терминов через supervision;
  • UniCOIL — токен-уровневые веса для BM25-подобного поиска.

При этом сохраняется совместимость с inverted index и классическими поисковыми движками.

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

  • Поиск по документации и техническим текстам.
  • Корпоративные базы знаний.
  • Юридические и медицинские архивы.
  • Поисковые системы общего назначения.
  • Retrieval-слой в RAG-системах.

Практические примеры использования

BM25 остаётся стандартом в Elasticsearch и OpenSearch благодаря предсказуемости и скорости. В production-системах sparse retrieval часто используется как первый этап кандидатов, после которого применяется neural re-ranking или dense retrieval.

Neural sparse модели (SPLADE) активно применяются в поиске научных статей и технической документации, где точное совпадение терминов критично. В RAG-пайплайнах sparse retrieval обеспечивает попадание редких сущностей, API-названий и формальных терминов, которые dense модели могут игнорировать.

Ключевые свойства

  • Явная связь между терминами запроса и документа.
  • Интерпретируемость скоринга.
  • Совместимость с inverted index.
  • Высокая точность для редких и специфических слов.
  • Низкие требования к вычислениям по сравнению с dense retrieval.

Проблемы и ограничения

  • Слабая работа с перефразированием и синонимами.
  • Ограниченное семантическое обобщение.
  • Зависимость от качества токенизации.
  • Большие словари увеличивают размер индекса.
  • Neural sparse модели сложнее в обучении и настройке.

Преимущества и ограничения

  • Плюс: точность, интерпретируемость и эффективность.
  • Минус: ограниченная семантика без гибридных подходов.

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

  • Dense retrieval
  • BM25
  • Hybrid search
  • Inverted index
  • RAG

Категория термина

Работа с данными и векторами