GEO

Гибридный поиск

Гибридный поиск - это техника извлечения, которая параллельно выполняет плотный векторный поиск (семантический) и разреженный поиск по ключевым словам (BM25), а затем объединяет результаты в единый ранжированный список. Он улавливает одновременно и "сходство по смыслу", и "точное совпадение токенов" в рамках одного запроса.

Гибридный поиск - это техника извлечения, которая параллельно выполняет плотный векторный поиск (семантический) и разреженный поиск по ключевым словам (BM25), а затем объединяет результаты в единый ранжированный список. Он улавливает одновременно и "сходство по смыслу", и "точное совпадение токенов" в рамках одного запроса.

Почему это важно

Плотный векторный поиск отлично справляется с семантическими совпадениями ("доступные ноутбуки" ≈ "бюджетные лэптопы"), но дает сбой на редких токенах вроде кодов товаров, артикулов (SKU) и имен собственных. Поиск по ключевым словам безошибочно находит точные токены, но упускает перефразировки. Гибридный поиск выигрывает в обоих случаях - продакшн-системы RAG в Anthropic, OpenAI и Elastic единодушно сообщают, что гибридный подход стабильно превосходит каждый из них в отдельности, обычно давая прирост полноты (recall) на 10-30% на реальных бенчмарках извлечения.

Как это работает

1. Двойное извлечение: Один и тот же запрос проходит через оба индекса - векторный индекс (плотные эмбеддинги) и инвертированный индекс (BM25 или TF-IDF).

2. Нормализация оценок: Плотные и разреженные оценки находятся в разных масштабах. Их нормализуют - по min-max, z-score или по рангу.

3. Слияние: Оценки объединяются в единое ранжирование. Самые популярные методы:

  • Reciprocal Rank Fusion (RRF): score = Σ 1/(k + rank_i) - на основе рангов, не требует настройки, чрезвычайно надежен.
  • Взвешенная сумма: α * dense + (1-α) * sparse - требует настройки α под каждую область.
  • Обучаемое слияние: Небольшая модель предсказывает оптимальный вес для каждого запроса.

4. Опциональное переранжирование: Кросс-энкодер переранжирует топ-k объединенных кандидатов для финальной точности.

Когда его использовать

Специализированная лексика: Медицинские коды, юридические ссылки, номера деталей.

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

Важна полнота длинного хвоста: Редкие запросы, где BM25 по-прежнему силен.

Вы получаете ноль результатов от одних только векторов: Часто это сбой точного совпадения - гибридный поиск его исправляет.

Компромиссы

Задержка: Два индекса означают два запроса. Смягчается параллельным выполнением.

Хранение индекса: Нужно поддерживать и векторный, и инвертированный индекс.

Сложность настройки: Взвешенное слияние требует размеченных данных для настройки. RRF этого избегает.

Не всегда выигрыш: В областях, где эмбеддинги очень сильны (чисто перефразировочные задачи), один лишь плотный поиск может сравняться с гибридным.

Гибридный поиск против чистого векторного поиска

АспектЧистый векторныйГибридный
Семантические совпаденияСильноСильно
Точные совпадения токеновСлабоСильно
Редкие токены, артикулы (SKU)СлабоСильно
ИнфраструктураПростаяДва индекса
Типичный прирост полнотыБазовый уровень+10-30%

Современные векторные базы данных (Pinecone, Weaviate, Qdrant, Elasticsearch) предлагают гибридный поиск как полноценную функцию, поэтому операционные затраты невелики.

Источники: