← Все статьи

Гибридный поиск BM25 и Dense Vectors: архитектура поисковой строки интернет-магазина по стандартам генеративных систем

14 мин чтенияОбновлено 01.10.2026
Гибридный поиск BM25 и Dense Vectors: архитектура поисковой строки интернет-магазина по стандартам генеративных систем

Смена пользовательской парадигмы: почему точный поиск больше не работает

В последние годы поведение интернет-пользователей претерпело фундаментальную трансформацию. Массовое распространение диалоговых интерфейсов и генеративных поисковых платформ (таких как SearchGPT, Perplexity и интеллектуальные ассистенты) сформировало принципиально новый стандарт взаимодействия с поисковой строкой. Пользователи привыкли формулировать свои намерения на естественном языке, описывая жизненные сценарии, проблемы, эстетические предпочтения и неточные ассоциации.

Однако, переходя в крупные интернет-магазины и на маркетплейсы, покупатель сталкивается с жесткой архаичной системой. Вместо понимания запроса «тихий пылесос для шерсти кота в однокомнатную квартиру» или «платье на свадьбу подруги не белое и не слишком строгое» традиционный внутренний поиск сайта либо выводит сообщение «По вашему запросу ничего не найдено», либо возвращает случайный набор товаров, где механически встретилось одно из слов.

Пользователь переносит паттерны общения с генеративными системами в поисковую строку e-commerce. Если витрина интернет-магазина требует знания точной номенклатуры, артикулов или буквального совпадения ключевых слов, ритейлер теряет наиболее платежеспособную и мотивированную аудиторию в момент максимальной готовности к покупке.

Анатомия проблемы «нулевой выдачи» (Zero Search Results) кроется в лексическом разрыве (Vocabulary Mismatch). В карточке товара указаны официальные характеристики поставщика: «влагозащитная мембрана 10000 мм», «циклонный фильтр», «бесщеточный двигатель». Покупатель же мыслит задачами: «чтобы не промокала под ливнем», «для уборки за питомцами», «надежный инструмент для дачи». Если поисковый алгоритм оперирует лишь буквальным совпадением символов, соединить потребность клиента с реальным ассортиментом на складе становится невозможно. Результатом становятся резкий рост показателя отказов, падение внутренней конверсии и отток аудитории к внешним поисковым системам.

Анатомия двух подходов: лексический поиск vs плотные векторные представления

Для создания поискового механизма, отвечающего современным стандартам генеративных систем, необходимо объединить две принципиально разные технологии извлечения информации (Information Retrieval): лексический полнотекстовый поиск и семантический векторный поиск.

Лексический поиск и алгоритм BM25: точность и скорость на ключевых словах

Алгоритм BM25 (Best Matching 25) на протяжении десятилетий остается базовым стандартом классического полнотекстового поиска. Он представляет собой развитие формулы TF-IDF и оценивает релевантность документа запросу на основе частоты вхождения терминов с учетом нелинейного насыщения частоты и штрафа за длину текста.

Ключевые преимущества BM25 в интернет-торговле:

  • Мгновенный поиск по артикулам и идентификаторам: если покупатель ищет конкретный артикул (SKU), код производителя, штрихкод (EAN) или точную модель (например, «DW745» или оригинальное название бренда), BM25 отрабатывает безошибочно за доли миллисекунды.
  • Строгое совпадение редких наименований: для уникальных названий торговых марок лексический поиск обеспечивает стопроцентную точность попадания, исключая ложные ассоциации.
  • Энергоэффективность и предсказуемость: инвертированный индекс (Inverted Index) потребляет сравнительно мало оперативной памяти, прекрасно масштабируется на многомиллионные каталоги и не требует специализированных вычислительных ускорителей.

Однако фундаментальное ограничение BM25 — неспособность учитывать семантический контекст. Алгоритм не понимает синонимов (если они явно не прописаны в жестких словарях), морфологических нюансов разговорной речи, опечаток вне заданного расстояния Левенштейна и смысловых связей между понятиями.

Плотные векторные представления (Dense Vectors): извлечение глубинного смысла

Векторный семантический поиск переводит тексты из плоскости символов в многомерное векторное пространство смыслов. Специализированные нейросетевые модели-энкодеры (Bi-Encoders) трансформируют описание каждого товара и входящий поисковый запрос в числовые векторы фиксированной размерности (например, 768 или 1024 измерений).

В этом пространстве концептуально близкие сущности располагаются геометрически рядом друг с другом, независимо от того, какие конкретные слова были использованы. Сходство между запросом и товаром измеряется через косинусное расстояние или скалярное произведение векторов.

Преимущества векторного поиска для каталога e-commerce:

  • Понимание естественных формулировок и задач: запрос «теплая обувь для слякотной зимы» автоматически связывается с ботинками с водоотталкивающей пропиткой и термомембраной.
  • Устойчивость к отсутствию точных ключевых слов: поиск по ассоциациям, стилю или неявным признакам («скандинавский минимализм для спальни», «инструмент для нарезания резьбы в трубах») находит нужные товарные категории без прямого вхождения слов.
  • Межъязыковая семантика: многоязычные векторные представления способны сопоставлять русскоязычный запрос с англоязычными названиями категорий и маркировок в карточке товара.

Тем не менее, чистый векторный поиск не подходит в качестве единственного движка интернет-магазина. Плотные векторы страдают от «размытия» точных чисел и кодов: векторный поиск может выдать похожие аксессуары вместо конкретной модели устройства, либо перепутать критические габариты изделия (например, крепеж 10 мм и 12 мм будут иметь предельно близкие векторные профили).

Архитектура гибридного пайплайна: алгоритм Reciprocal Rank Fusion (RRF)

Попытка объединить результаты двух поисковых систем через прямое сложение баллов (BM25 score + Vector similarity score) на практике не работает. Причина кроется в принципиальной несовместимости шкал оценки:

  • Оценка BM25 не ограничена сверху: она может принимать значения от нуля до сотен единиц в зависимости от длины поля, насыщенности документа терминами и общего объема индекса.
  • Косинусное сходство векторов нормализовано (обычно в пределах от 0 до 1), но реальные значения для большинства релевантных товаров концентрируются в узком диапазоне (например, 0.72–0.89).
  • Стандартные методы нормализации (Min-Max масштабирование или Z-score) нестабильны при динамическом обновлении каталога и дают систематический перекос в сторону одного из алгоритмов при малом количестве результатов.

Математика и принцип работы Reciprocal Rank Fusion

Для надежного и масштабируемого слияния разнородных списков выдачи применяется алгоритм Reciprocal Rank Fusion (RRF). Его фундаментальное преимущество заключается в отказе от абсолютных численных оценок в пользу анализа порядковых номеров (рангов) документов в каждом списке.

Формула RRF выглядит следующим образом:

RRF_Score(d) = Σ [ 1 / (k + rank_i(d)) ]

Где:

  • d: конкретный документ (товарная позиция в каталоге).
  • i: поисковая система (в гибридном контуре i ∈ {BM25, Dense Vectors}).
  • rank_i(d): порядковая позиция товара в результирующем списке системы i (начиная с 1). Если товар отсутствует в топ-N выдачи конкретной системы, данный член суммы опускается.
  • k: сглаживающая константа (Smoothing Constant), классическое эмпирическое значение которой составляет 60.

Константа k = 60 играет важнейшую роль: она смягчает влияние единичных аномально высоких позиций. Если товар занял 1-е место в одном списке, но полностью отсутствует в другом, его вклад составит 1 / (60 + 1) ≈ 0.0164. Если же товар занял стабильные 3-е и 4-е места в обоих списках (BM25 и векторы подтвердили релевантность с двух сторон), его итоговый балл составит 1 / (60 + 3) + 1 / (60 + 4) ≈ 0.0159 + 0.0156 = 0.0315. В результате сбалансированные товары уверенно поднимаются на вершину выдачи, вытесняя случайные артефакты отдельных алгоритмов.

Многоуровневый пайплайн обработки запроса в реальном времени

В промышленной архитектуре поисковый запрос пользователя проходит следующий сквозной маршрут:

  1. Препроцессинг и синтаксический анализ: очистка строки от шума, исправление опечаток и раскладки клавиатуры, извлечение явных структурированных фильтров (цена, бренд, категория, наличие на складе региона).
  2. Параллельная генерация кандидатов (Retrieval Stage):
    • Ветка BM25: формирование оптимизированного булева запроса к инвертированному индексу (поиск по полям артикулов, названий, характеристик) и извлечение топ-100 кандидатов.
    • Ветка Dense Vectors: обращение к сервису эмбеддингов, получение вектора запроса и поиск топ-100 ближайших соседей по графу HNSW (Hierarchical Navigable Small World) в векторном индексе.
  3. Слияние рангов через RRF: объединение списков кандидатов, вычисление скоров по формуле взаимного ранжирования и формирование общего пула из топ-50 наиболее релевантных товаров.
  4. Точное переранжирование (Cross-Encoder Re-ranking): для финального топ-20 товаров запускается более ресурсоемкая нейросетевая модель кросс-энкодера, которая оценивает полную пару «запрос + контекст карточки» для прецизионной сортировки.
  5. Бизнес-постпроцессинг (Merchandising): корректировка позиций с учетом коммерческих факторов (маржинальность, складские остатки, рейтинг товара, персональные предпочтения) и передача готового ответа на витрину.

Обогащение данных: индексация синонимов, сленга и сценариев использования

Качество гибридного поиска напрямую зависит от полноты данных в карточке товара. Если в базе хранится лишь сухой технический паспорт от вендора, даже самая совершенная векторная модель не сможет сопоставить товар со всеми жизненными сценариями. Векторный поиск строго подчиняется правилу «мусор на входе — мусор на выходе».

Синтез контекстных сценариев и сленга (Document Expansion)

Вместо попыток расширять запрос пользователя на лету во время поиска (что увеличивает задержку ответа и часто приводит к смысловым искажениям), современная архитектура опирается на предварительное расширение документов каталога (Document Expansion) в процессе индексации.

Для каждого товара в офлайн-пайплайне формируются дополнительные семантические слои:

  • Сценарии и контексты использования (Use Cases): для походной кружки формируются маркеры: «для кемпинга, в рюкзак, для горячего чая на рыбалке, не обжигает руки, легкая посуда в поход».
  • Проблемы и их решения: для робота-пылесоса генерируется блок: «уборка шерсти домашних животных, преодоление высоких порожков, чистка ковров с длинным ворсом, уборка под низкой мебелью».
  • Разговорные синонимы, жаргонизмы и сленг: сопоставление нормативных названий с народными формулировками («шуруповерт — шурик», «наушники — уши», «графический планшет — доска для рисования», «гайковерт — колесоверт»).
  • Синтетические пользовательские вопросы: создание пула из 10–15 типовых вопросов, которые реальные покупатели задают на форумах и в диалоговых системах относительно данного товара.

Стратегия раздельной многополевой индексации

Обогащенный контент нельзя хаотично смешивать с техническими спецификациями, иначе это приведет к засорению лексического индекса. Архитектурно карточка товара разделяется на независимые поисковые пространства:

  • Поле точного соответствия (Exact Field): строго для артикулов, EAN, оригинальных названий брендов и номеров модификаций. Индексируется в BM25 без стемминга с наивысшим весовым приоритетом.
  • Поле нормализованных атрибутов (Catalog Field): официальное наименование, категория, перечень характеристик с единицами измерения. Индексируется классическим анализатором BM25 с морфологическим разбором.
  • Синтетическое семантическое поле (Semantic Enrichment Field): текстовый блок, объединяющий сценарии использования, сленг, ассоциации и синонимы. Преобразуется в плотный вектор и отправляется в HNSW-индекс векторной базы данных.

Благодаря такому разделению, если покупатель вводит точный код детали, срабатывает поле точного соответствия BM25 и выдает единственную корректную карточку на первой позиции. Если же запрос звучит как «что подарить мужу в гараж для ремонта машины», срабатывает векторный семантический слой и подтягивает релевантные наборы инструментов и диагностическое оборудование.

Влияние на бизнес-показатели: рост внутренней конверсии и среднего чека

Внедрение гибридной архитектуры поиска кардинально трансформирует экономику интернет-магазина, воздействуя на ключевые показатели воронки продаж:

  • Снижение показателя нулевой выдачи (Zero Result Rate): в классических магазинах доля запросов, завершившихся пустой страницей, нередко достигает 10–20%. Гибридный поиск сокращает этот показатель до долей процента, превращая потерянные сессии в результативные просмотры карточек.
  • Рост конверсии из поиска в покупку (Search Conversion Rate): посетители, пользующиеся поисковой строкой, традиционно конвертируются в 3–5 раз лучше тех, кто перемещается по общему меню каталога. Понимание сложных интентов с первой попытки устраняет раздражение и предотвращает уход к внешним поисковикам.
  • Увеличение глубины корзины и среднего чека (AOV): поиск по сценариям и проблемам автоматически объединяет в выдаче основной товар и сопутствующие аксессуары (например, при запросе «все для поклейки обоев» покупатель видит не только рулоны, но и клей, валики, шпатели и защитную пленку).
  • Раскрытие «длинного хвоста» каталога (Long-tail Discovery): значительная часть ассортимента крупного магазина может годами оставаться невостребованной из-за того, что описания поставщиков не содержат популярных поисковых терминов. Семантическая векторизация возвращает эти позиции в активный оборот.

Чек-лист внедрения гибридного поиска для инженерной команды

Для поэтапного развертывания гибридного поиска без остановки текущих продаж рекомендуется придерживаться следующего инженерного плана:

  1. Аудит поисковых журналов (Search Query Logs): выгрузите историю запросов за последние 6–12 месяцев. Сформируйте выборки «нулевых запросов», запросов с быстрыми отказами и длинных многословных фраз для последующего регрессионного тестирования.
  2. Выбор поискового ядра: разверните поисковый кластер с нативной поддержкой гибридного поиска и векторных индексов HNSW (например, на базе OpenSearch или специализированных векторных баз в связке с реляционным хранилищем).
  3. Построение офлайн-пайплайна обогащения: настройте периодическую пакетную генерацию сценариев использования и синонимов для номенклатурных позиций перед формированием векторных эмбеддингов.
  4. Калибровка RRF и весов источников: проведите валидацию на тестовом наборе данных, регулируя параметр k (в диапазоне от 20 до 100) и соотношение количества кандидатов от BM25 и векторного ретривера.
  5. Запуск A/B-эксперимента: направьте 50% поискового трафика на новый гибридный пайплайн с RRF, непрерывно замеряя частоту добавления в корзину (Add-to-Cart), глубину просмотра и финальный доход на поисковую сессию (Revenue per Search).

Заключение: поисковая строка как главный генератор выручки

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

Гибридная архитектура, объединяющая проверенную временем надежность BM25 на точных терминах и когнитивную гибкость плотных векторных представлений через алгоритм Reciprocal Rank Fusion, формирует устойчивый технологический фундамент ритейла. Это решение не просто избавляет сайт от проблемы «ничего не найдено», но и превращает поисковую строку в интеллектуального консультанта, способного понять любую неточную мысль покупателя и конвертировать её в завершенный заказ.

Cobalt Media проведет предварительный аудит, определит приоритетные направления роста и подготовит прозрачную оценку работ без обещаний гарантированного места в выдаче.

по теме