Как собрать MVP поиска товаров: дообучение E5 на данных Amazon и сервис для сравнения поисковых моделей

Построение эффективного поиска товаров — ключевая задача для e-commerce, требующая баланса между скоростью внедрения и качеством ML-решения. В материале подробно разобран процесс создания MVP-сервиса product search: от загрузки и анализа датасета ESCI (≈1,1 млн пар "запрос-товар", 3 языка) до экспериментов с различными поисковыми моделями.

  • Сравниваются подходы BM25, E5 (pretrain) и E5 (fine-tuned) на задаче извлечения релевантных товаров по пользовательским запросам: BM25 — быстрый бейзлайн, E5 — би-энкодер с семантическим поиском, дообученный на пользовательских данных Amazon. Метрики (Recall@10): BM25 — 0.71, E5 (pretrain) — 0.59, E5 (fine-tuned) — 0.93.
  • Реализован web-интерфейс поиска на Streamlit с визуализацией статистики, подробным анализом выдачи и поддержкой быстрого сравнения моделей. Акцент — на возможности дообучения E5 для учёта реальной пользовательской активности.
  • Обсуждаются инженерные и продуктовые trade-off при создании MVP: как выбирать между «красивой архитектурой» и быстрым запуском, когда нужны костыли, и почему MVP важен для выработки продуктовой интуиции.
  • Дается пошаговая инструкция по обучению на триплетах (query, pos, neg) с TripletMarginLoss, подготовке датасета, запуску инференса и построению пайплайна от EDA до продакшн-сервиса.
  • В итогах: решение универсально для продуктового поиска, FAQ, поиска по резюме и пр.; предложены направления для развития: оптимизация модели, вынос логики в модули, поддержка Faiss/ONNX и интеграция ClearML/W&B для экспериментов.

Материал адресован ML- и продуктовым командам, e-com и martech-разработчикам, внедряющим поиск в реальные сервисы.

← Назад в лентуЧитать оригинал →
✈️ Подписывайтесь на мой Telegram-канал — там еще больше интересного про AdTech, MarTech, AI и многое другое!