Поиск по сайту, который понимает, что ищет покупатель
Покупатель пишет «куртка для зимней рыбалки» — и находит товар, даже если в каталоге он назван «костюм утеплённый».
Для кого: Магазины с большим каталогом, порталы, базы документов
Знакомо?
Если узнаёте хотя бы одно из этого — эта страница для вас.
- Поиск находит только точное совпадение слов, а на синоним отдаёт «ничего не найдено».
- Одна опечатка — и пустая выдача.
- В каталоге тысячи позиций, а люди ищут описанием задачи, а не названием товара.
Что изменится
- Покупатель найдёт товар, даже если назвал его синонимом, описал задачей или ошибся в слове.
- Артикулы, бренды и ваши фильтры (город, цена, наличие) продолжат работать как раньше.
- Вы увидите, чего люди ищут и не находят в ассортименте: по отчёту о запросах без результата.
Как это работает
- Ваш каталог: названия, описания, артикулы и бренды
- Описания переводятся в векторы моделью для русского языка; при необходимости она дообучается на ваших данных
- Смысл складывается с точными совпадениями
- Лучшее переставляется наверх
- Выдача на сайт через API
Для технических специалистов
Эмбеддинги описаний моделью для русского языка (при необходимости — дообучение на ваших данных), гибрид из векторного и точного поиска, реранкинг лучших результатов, выдача через API с вашими фильтрами.
Демо: два поиска в интернет-магазине
Это вымышленный магазин «Северный путь» (108 товаров для рыбалки, туризма и дома). В каталоге названия написаны так, как принято в магазинах («костюм утеплённый»), а люди ищут своими словами («куртка для зимней рыбалки»). Слева поиск «как у многих сайтов», справа по смыслу. На вашем каталоге будет то же самое, меняются только данные.
Обычный поиск
Как у многих сайтов: каждое слово запроса должно встретиться в тексте так, как оно написано.
Введите запрос или выберите пример.
Поиск по смыслу
Понимает смысл запроса, синонимы и формы слов.
Здесь появятся статьи, близкие по смыслу.
Поиск по смыслу не безошибочен: если в каталоге нет ничего подходящего (попробуйте «каска»), он всё равно покажет ближайшие товары. Порог «ничего не найдено» подбирается на ваших данных: у этой модели области правильных и неправильных запросов пересекаются.
Доказательства
Мои проекты: цифры из README, ссылка на GitHub.
compas
~147 тыс. компаний, своя дообученная модель (открыта на Hugging Face). На 1000 запросах (40 отраслей × 25 городов) у 691 лучшие совпадения достаточно близки (сходство ≥ 40%); запрос с опечатками меняет оценку совпадения всего на 1,2%. Честный вывод из того же замера: главное ограничение — полнота данных, а не модель.
semos
Поиск файлов по запросу своими словами: нужный файл в первой тройке в 74% случаев на настоящей папке из 358 файлов. Четыре сигнала (текст, имя, свежесть, выученные названия) сводятся в один рейтинг.
negation-direction
Исследование того, почему поиск по смыслу путает «с сахаром» и «без сахара», и как это исправить: дополнительный признак снижает долю таких ошибок, например с 0,72 до 0,02 на русском (multilingual-e5-base).
Этапы и сроки
После каждого этапа можно остановиться.
- РазборКаталог, ваши фильтры, примеры запросов.
- ПрототипПоиск по вашему каталогу, 3–4 недели.
- Сравнение«Было — стало» на 100 реальных запросах.
- ВнедрениеAPI для сайта, обновление индекса, отчёт о пустых запросах, 4–6 недель.
Пакеты и цены
Цены «от» — ориентир; точную стоимость называю после разбора задачи.
Поиск по вашему каталогу, сравнение с текущим на 100 реальных запросах
API для сайта, обновление индекса при смене каталога, отчёт о пустых запросах
Дообучение на кликах, ежемесячный отчёт
Работу модели в месяц оплачивает заказчик напрямую провайдеру (на своём сервере платы за токены нет): она зависит от числа запросов и выбранной модели. Точную цифру считаю в пилоте на ваших реальных вопросах, пример расчёта — в образце отчёта.
Честные условия
Замер до запуска
Качество замеряю на ваших вопросах до запуска, а не обещаю на словах.
Скажу прямо
Если пилот не дотянул до цели, я скажу об этом сам.
Код и данные ваши
Результаты работы остаются у вас.
NDA
Подписываем до доступа к данным.
Как я оформляю работу
- Самозанятый
- Работаю как самозанятый (налог на профессиональный доход), НДС нет. Чек из приложения «Мой налог» — после каждой оплаты.
- Договор и акт
- Подписываем договор оказания услуг, по итогам этапа — акт. Физическим лицам и компаниям.
- Оплата 50/50
- 50% до начала работы, 50% после приёмки. Крупные проекты разбиваю по этапам.
- Если цель не достигнута
- Скажу об этом сам, и остановимся. Следующий этап вы не оплачиваете; оплаченная работа не возвращается.
Вопросы
Наш поиск придётся выкинуть?
Нет: новый слой работает рядом, точные совпадения остаются.
Работает с Битриксом?
Через API — да; конкретную интеграцию обсуждаем на разборе.
Не замедлит сайт?
Скорость ответа записываю в задачу и замеряю на прототипе.
Как понять, что стало лучше?
Сравнение на ваших запросах до запуска, после запуска — доля пустых выдач и кликов из поиска.
Зачем это, если есть готовые сервисы поиска для магазинов?
Готовый сервис — быстрый старт. Свой слой имеет смысл, когда важны ваши фильтры, ваш ассортимент и проверка на ваших запросах. Это покажет прототип: сравнение на 100 ваших запросах до того, как вы решите внедрять.
Сколько стоит работа модели?
Если поиск использует модель через провайдера, её оплата идёт отдельно и напрямую провайдеру: она зависит от числа запросов. Точную цифру считаю на прототипе по вашим реальным запросам.
Бесплатный пример на ваших открытых данных
Пришлите адрес сайта или каталога — за 2 дня соберу пример поиска на ваших открытых данных, и вы сравните его со своим.
Что написать: адрес сайта или каталога, чем занимается компания, пара запросов, на которых поиск сейчас не справляется, и к какому сроку нужен поиск. По этим ответам и делаю пример. Пишите в Telegram или на почту, отвечаю в течение суток.
Что будет после обращения
- Вы пишетеЧто у вас есть (сайт, документы, каталог) и что хотите улучшить — в Telegram или на почту.
- Я уточняюЗадаю вопросы по задаче и данным; до доступа к данным подписываем NDA.
- Называю цену и срокТочную стоимость называю после разбора задачи; дальше решаете вы.