#полезно
Какие инструменты помогают работать поиску в Uzum Market?
Что может пойти не так, если просто взять и создать ещё одно правило в поиске? Например, по запросу «наушники» вы увидите… спальные гарнитуры.
Мой друг Дмитрий Шипилов из команды поиска Uzum Market поделился подробным разбором того, что происходит с запросом пользователя до того, как он увидит выдачу.
Что сработало, что пришлось откатить и какие выводы команда забрала с собой.
Хороший поиск — это не одна модель, а большая система из retrieval, ranking, ML, эвристик, экспериментов и постоянного контроля качества.
Качество поиска здесь улучшают не одной «магической ML-моделью», а целым набором инструментов:
1️⃣Опечаточник с контекстом — учитывает не только расстояние между словами, но и реальные данные о запросах, корзинах и заказах. В результате правильные исправления стали происходить на 8% чаще, а ошибочные — на 50% реже.
2️⃣ Персонализированные подсказки — ранжируются с учётом поведения пользователей, конверсии и даже персональных признаков.
3️⃣ Синонимы — казалось бы, чем их больше, тем лучше retrieval. Но нет: десятки тысяч неконтролируемых синонимов могут буквально сломать выдачу. В итоге словарь удалось сократить почти в 10 раз без ухудшения поисковых метрик.
4️⃣ Категорийные предикты — иногда выдачу наоборот нужно *сужать*. Например, при поиске конкретного смартфона пользователю не нужны тысячи чехлов и зарядок.
5️⃣ LLM для оценки качества — команда построила Golden Dataset и метрику ideal precision, чтобы измерять именно релевантность выдачи, а не ориентироваться только на клики и покупки.
Причём некоторые решения, отлично выглядящие офлайн, на реальном трафике оказывались бесполезными или даже вредными. Поэтому без A/B-тестов никуда.
Получился очень практичный кейс для тех, кто занимается search, ML, Elasticsearch, recommendation systems или e-commerce.
👉 Полный разбор с архитектурой, экспериментами и неудачными подходами:
👉читать на Хабре
Post #851
1.6K