Upgrade to Pro — share decks privately, control downloads, hide ads and more …

“Вы продоете "теплых кросовок"? Или как работает поиск в Lamoda”

Ef2327689a92d784d7d63803140e833e?s=47 Yuliya
December 06, 2021

“Вы продоете "теплых кросовок"? Или как работает поиск в Lamoda”

Ef2327689a92d784d7d63803140e833e?s=128

Yuliya

December 06, 2021
Tweet

Transcript

  1. Александр Желубенков DS Lead, Ranking & Navigation Вы “продоёте теплых

    кросовок”? или как работает поиск в Lamoda
  2. Поиск в Lamoda Популярный инструмент > 100.000 уникальных запросов в

    день Важный продукт 20% - доля выручки из поиска В большом числе кейсов это единственный эффективный способ найти релевантные товары: d если есть конкретная потребность “кеды air force черные” d если трудно ориентироваться в каталоге “шапки” лежат в категории “Аксессуары”
  3. Особенности поиска в fashion- сегменте Простой язык запросов Есть и

    сложные запросы из низкочастотного хвостаa H “босоножки женские без каблука с открытым носомB H “красовка калсниеB H “подушки колбасой” Структура потока: “бренд“ “категория + гендер” … “категория + гендер + цвет” 25% 22% 1%
  4. Особенности поиска в fashion- сегменте Узкая предметная область Какому запросу

    релевантны все эти товары?
  5. Особенности поиска в fashion- сегменте Узкая предметная область Какому запросу

    релевантны все эти товары? Американка водолазка без рукавов мужская куртка бомбер американская пройма
  6. Особенности поиска в fashion- сегменте Структура в описании документов Короткие

    и частично структурированные описания товаров Контролируем контент - можем управлять атрибутами товаров!
  7. поиск “в лоб” не работает? Почему

  8. Особенности Пользователи привыкли, что поиск должен найти релевантные результаты, даже

    если ввести запрос в неправильной раскладке или с ошибками “штаны” нужна синонимия “красовки”, “yfqr”(найк) опечатки, транслиты, раскладка “футболки и поло” учет сложных паттернов “условия доставки” сервисные запросы
  9. К какому решению мы пришли Два модуля, в которых сосредоточена

    основная логика поиска отвечает за понимание и разбор запроса отвечает за логику индексации товара
  10. К какому решению мы пришли Общая логика поиска глазами data

    scientist-а ТОВАР
 и его описание
  11. К какому решению мы пришли Общая логика поиска глазами data

    scientist-а ТОВАР
 и его описание КУПИТЬ ТЕПЛЫХ КРОСОВОК
  12. К какому решению мы пришли Общая логика поиска глазами data

    scientist-а КУПИТЬ ТЕПЛЫХ КРОСОВОК ТОВАР
 и его описание
  13. Анализатор запросов Как мы понимаем запросы пользователей Часть 1

  14. Зачем нам
 Search Query Analyzer Хотим понимать и разбирать запросы

    пользователей, чтобы: Лучше искать (синонимия, опечатки, транслиты, сервисные запросы, ...) На качественном уровне анализировать структуру потока запросов Гибко управлять тем, в каких атрибутах следует вести поиск
  15. Tokenizer & Spell Corrector Named Entities Extractor Entities Tree Builder

    Attributes Tree Builder Этапы логики Search Query Analyzer
  16. Этап 1 Токенизация Раскладка, опечатки Нормализация “rhjccjdrb” → “кроссовки” “кроссовкиnike”

    → “кроссовки nike” “кросовок” → “кроссовок” “кроссовок” → “кроссовки” “теплых” → “теплый” Как работает: словарь частотных опечаток + ML Как работает: pymorphy2
  17. Выделение сущностей Переход от слов к именованным сущностям Зачем? Чтобы

    далее на уровне сущностей: Этап 2 … настраивать синонимиy … управлять, в каких атрибутах нужно искать разные сущности Как работает: внутренняя онтология (база знаний) + поиск по ней с учетом транслитов
  18. Синонимия и дерево сущностей Расширение запроса: Этап 3 худи =

    толстовки (двусторонние синонимы) мех → утепленный (односторонние синонимы) Как работает: внутренняя онтология (база знаний)
  19. Дерево атрибутов В каких атрибутах следует искать сущности: Этап 4

    category – {name: 1.0} material – {materials: 1.0} is_warmed – {attributes: 1.0, description: 0.3} Как работает: отдельный ручной маппинг
  20. В каких атрибутах следует искать сущности: category – {name: 1.0}

    material – {materials: 1.0} is_warmed – {attributes: 1.0, description: 0.3} Как работает: отдельный ручной маппинг Дерево атрибутов Этап 4
  21. Индексация и поиск товаров Как обогащаются атрибуты товаров и по

    какой логике формируется запрос к Elasticsearch Часть 2
  22. Зачем нам
 Search Enricher Хотим гибко управлять атрибутами товара: Обогащать

    товар новыми атрибутами Часть логики перенести на сторону формирования индекса: – сложные правила, которые тяжело учесть в Search Query Analyzer – нормализация текстовых атрибутов
  23. Два типа атрибутов и логика Search Enricher Keyword-атрибуты – для

    поиска по точному совпадению Пример - формирование атрибута is_warmed: Text-атрибуты – для полнотекстового поиска По текстовым полям будем искать нормализованными словами IF material_filler is not empty AND ["нет утеплителя", "без утеплителя"] not in material_filler THEN {"key": "is_warmed", "value": "утепленный"} «Футболка выполн из тонк трикотаж » → «футболка выполнить из тонкий трикотаж» ена ого а
  24. Search enricher Keyword fields Text fields

  25. Формирование запроса к Elasticsearch ВСЕ значимые слова запроса должны быть

    найдены в атрибутах товара (напрямую или через синонимию)
  26. Формирование запроса к Elasticsearch ВСЕ значимые слова запроса должны быть

    найдены в атрибутах товара (напрямую или через синонимию)
  27. Формирование запроса к Elasticsearch ВСЕ значимые слова запроса должны быть

    найдены в атрибутах товара (напрямую или через синонимию) Rel = 1.0 Rel = 0.3
  28. Какие кроссовки показывать выше в каталоге? “КУПИТЬ ТЕПЛЫХ КРОСОВОК” Search

    Logic
  29. Какие кроссовки показывать выше в каталоге? “КУПИТЬ ТЕПЛЫХ КРОСОВОК” Search

    Logic Правильного ответа нет! Правильного ответа нет!
  30. Ранжирование каталога строится на основании прогноза ML-модели, в которой используются:

    исторические продажи и конверсии товаров доступность размерной сетки цены, скидки и другие атрибуты товара релевантность товара запросу (при наличии поискового запроса)
  31. Развитие поисковой системы важно для Lamoda Поиск – важный инструмент

    и в большом числе кейсов это наиболее эффективный способ найти релевантные товары Успешные A/B-эксперименты подтверждают, что мы не только помогаем пользователям находить товары их мечты, но и позитивно влияем на показатели бизнеса. КУПИТЬ ТЕПЛЫХ КРОСОВОК
  32. Над чем работаем сейчас и какие есть планы на будущее

    Часть 3
  33. Использование поведенческих данных в поиске Тельняшки = полосатые кофты +

    поведенческие данные Пример: “Тельняшки”
  34. Рекомендации на пустой поисковой выдаче Альтернативные запросы Товарные рекомендации

  35. Не у всех товаров хорошо заполнены атрибуты. Обогатим атрибуты, используя

    Computer Vision, и улучшим качество поиска. Выделение атрибутов по фото
  36. Резюмируем Поиск в Lamoda – продукт, которым пользуются сотни тысяч

    пользователей ежедневно Особенности fashion-сегмента: простой язык запросов, короткие описания товаров и узкая предметная область
  37. Резюмируем Поиск в Lamoda – продукт, которым пользуются сотни тысяч

    пользователей ежедневно Особенности fashion-сегмента: простой язык запросов, короткие описания товаров и узкая предметная область Основная логика поиска сосредоточена в двух модулях: Š Search Query Analyzer - отвечает за разбор и трансформацию запроса пользователя в фильтрующий запрос к Elasticsearcr Š Search Enricher - отвечает за логику индексации товара
  38. Резюмируем Поиск в Lamoda – продукт, которым пользуются сотни тысяч

    пользователей ежедневно Особенности fashion-сегмента: простой язык запросов, короткие описания товаров и узкая предметная область Основная логика поиска сосредоточена в двух модулях: Š Search Query Analyzer - отвечает за разбор и трансформацию запроса пользователя в фильтрующий запрос к Elasticsearcr Š Search Enricher - отвечает за логику индексации товара Развитие поисковой системы важно для Lamoda, ведь помогая пользователям находить товары их мечты, мы позитивно влияем на показатели бизнеса
  39. a.zhelubenkov lamoda.ru @ E-mail @topspin26 Telegram