Dense retrieval и семантический векторный поиск

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

Dense retrieval


Dense retrieval — подход к поиску, использующий плотные векторные эмбеддинги для сопоставления запросов и документов по смысловой близости, а не по совпадению терминов.

Определение

Dense retrieval — это класс методов информационного поиска, в которых запрос и документы кодируются в плотные (dense) векторы фиксированной размерности с помощью нейросетевых энкодеров. Поиск выполняется через вычисление близости между векторами, обычно с помощью косинусного сходства или dot-product. В отличие от sparse retrieval, dense retrieval не требует явного совпадения слов и способен находить релевантные документы при перефразировании, синонимах и абстрактных формулировках.

Как работает

1. Dual-encoder архитектура

Наиболее распространённая схема:

  • Query encoder — кодирует пользовательский запрос.
  • Document encoder — кодирует документы или фрагменты.

Оба энкодера обычно имеют одинаковую архитектуру (Siamese / bi-encoder), но работают независимо. Это позволяет заранее закодировать документы и хранить их в векторном индексе.

2. Обучение эмбеддингов

Модель обучается так, чтобы релевантные пары были близки в embedding space:

  • contrastive loss (InfoNCE);
  • in-batch negatives;
  • hard negatives (BM25 или mined negatives).

Обучение часто проводится на QA-датасетах, кликовых логах или синтетических парах запрос–документ.

3. Векторный поиск

После обучения:

  • документы кодируются один раз;
  • строится ANN-индекс (HNSW, IVF, PQ);
  • запрос кодируется в реальном времени;
  • выполняется поиск ближайших векторов.

Это обеспечивает быстрый поиск даже по миллионам документов.

4. Re-ranking (опционально)

Dense retrieval часто используется как первый этап. Далее:

  • cross-encoder или LLM переранжирует топ-k кандидатов;
  • учитывается контекст запроса целиком;
  • повышается точность финального ответа.

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

  • Semantic search по большим текстовым корпусам.
  • Retrieval-augmented generation (RAG).
  • Поиск по FAQ, документации, support-базам.
  • Научный и патентный поиск.
  • Мультимодальный поиск (текст ↔ изображение).

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

Dense retrieval лежит в основе моделей DPR (Dense Passage Retrieval), Contriever, E5, GTR, BGE. В RAG-системах документы разбиваются на чанки, кодируются в эмбеддинги и извлекаются по семантической близости к запросу LLM.

В продакшене dense retrieval используется в связке с ANN-библиотеками (FAISS, Milvus, Weaviate). Для повышения качества часто комбинируется с sparse retrieval (hybrid search) и neural re-ranking.

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

  • Семантическое сопоставление без совпадения слов.
  • Компактные векторы фиксированной размерности.
  • Быстрый ANN-поиск по большим индексам.
  • Хорошая работа с перефразированием.
  • Гибкость под разные домены при дообучении.

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

  • Потеря точности для редких и формальных терминов.
  • Сложность интерпретации причин релевантности.
  • Зависимость от качества обучающих данных.
  • Требует регулярного переиндексирования при обновлении корпуса.
  • Может возвращать семантически близкие, но фактически нерелевантные документы.

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

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

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

  • Sparse retrieval
  • Hybrid search
  • Vector embeddings
  • ANN search
  • RAG

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

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