В IT-сообществе только и разговоров об эмбеддингах, metric learning, косинусных расстояниях и семантическом поиске. На конференциях все хвастаются красивыми слайдами про нейросети и векторные пространства. Но если заглянуть под капот и посмотреть, что реально работает в поиске крупных маркетплейсов и e-commerce платформ, то там, как правило, он — добрый, старый полнотекстовый индекс.
Почему? Потому что полнотекстовый поиск — это стабильно, быстро и понятно. Минус только один, его уже недостаточно. Да, он классно ловит точные совпадения, но синонимы, переформулировки и небольшие ошибки прощает пользователям уже с большим трудом.
Меня зовут Игорь Самарин, я Machine Learning Engineer из команды поиска в Купере, где уже полтора года занимаюсь проектами, связанными с векторами. В этой статье я расскажу, как на самом деле работает поиск внутри компании, поведаю о полнотекстовом поиске — его сильных сторонах и недостатках. Затем объясню специфику векторного поиска и разберу, какие именно проблемы старого подхода он решает и продемонстрирую, как обучить векторную модель на своих данных, чтобы она понимала специфику каталога. А в конце вас ждут реальные результаты из A/B тестов и небольшой панч о перспективах.