Как работает семантический поиск
Классический keyword-поиск (BM25, TF-IDF) ранжирует документы по частоте вхождения слов запроса. Это работает для точных запросов («iPhone 15 Pro 256gb»), но ломается на описательных («что взять в поход на три дня с детьми»).
Семантический поиск решает эту задачу через эмбеддинги:
- Языковая модель (BERT, E5, multilingual-E5 и др.) кодирует запрос в числовой вектор — точку в многомерном пространстве.
- Все товары в каталоге также закодированы в векторы и хранятся в векторной базе данных.
- При поиске система находит товары, чьи векторы ближайшие к вектору запроса — по косинусному расстоянию или скалярному произведению.
Запрос: "тёплые кроссовки для зимы"
Вектор запроса: [0.23, -0.14, 0.87, ...]
Ближайшие товары:
- "Кроссовки утеплённые Gore-Tex" (similarity: 0.94)
- "Ботинки зимние Salomon" (similarity: 0.91)
- "Кроссовки с флисовой подкладкой" (similarity: 0.89)
Гибридный поиск: лучшее из двух миров
На практике большинство промышленных систем используют гибридный поиск — комбинацию keyword и semantic:
| Метод | Сильные стороны | Слабости |
|---|---|---|
| Keyword (BM25) | Точные артикулы, бренды, числа | Не понимает синонимы, нет устойчивости к опечаткам |
| Semantic | Синонимы, разговорные запросы, намерения | Может «размывать» точные запросы |
| Hybrid | Точность + смысл | Сложнее настройка весов |
Гибридный подход: keyword-результаты и semantic-результаты смешиваются с весами (например, 60/40) или через reranking-модель.
Применение в e-commerce
- Снижение zero results. Каталог из 50 000 товаров с keyword-поиском даёт 10–15% нулевых результатов. Семантический поиск находит ближайшие альтернативы.
- Длиннохвостые запросы. 70–80% поисковых запросов уникальны — никогда не вводились раньше. Семантика работает с ними без специальной настройки.
- Мультиязычность. Модели типа multilingual-E5 понимают запросы на разных языках в едином векторном пространстве.
- Визуальный поиск. Мультимодальные модели кодируют изображения и текст в общее пространство: поиск по фото вместо описания.
Совет: внедрение семантического поиска — это не замена, а дополнение к существующей поисковой системе. Начинайте с гибридного подхода и A/B-теста: semantic vs existing — на реальном трафике.