«Маленькая сумочка с леопардовым принтом» или как инженеры Lamoda помогают нам найти идеальные товары

Миллионы людей ежедневно заходят на сайты маркетплейсов, чтобы найти тот или иной товар. Мы не всегда знаем, как точно описать то, что ищем. Но технологии не стоят на месте и сегодня нам это уже и не нужно.

Приблизительного описания хватает, чтобы из тысяч товаров выделить то, что вы действительно хотите приобрести. О том, как алгоритмы помогают пользователям Lamoda находить товары, рассказывают руководитель направления разработки R&D Lamoda Дмитрий Генинг и руководитель направления ранжирования и навигации в компании Lamoda Александр Желубенков.

Дмитрий Генинг, руководитель направления разработки R&D Lamoda (слева) и Александр Желубенков, руководитель направления ранжирования и навигации в компании Lamoda (справа)

Теплые кроссовки Reebok и подушки колбасой: что ищут покупатели на Lamoda

Очки-авиаторы, белые ботинки, туфли красные на высоком каблуке — все это пользователи пишут в поисковой строке Lamoda, когда хотят обновить гардероб. Не всегда понятно, сколько именно сантиметров должен быть высокий каблук. Авиаторы — какого цвета стекла в них должны быть? Угадать потребности пользователей нужно быстро.

Чаще покупатели используют связки вида бренд+категория; гендер+вид товара. Около половины всех запросов - популярные. Еще порядка 20% — специфические. 30% — низкочастотные или редкие запросы. Важно уметь отвечать именно на эту категорию запросов так, чтобы пользователь был удовлетворен.

Запросы всегда достаточно короткие, конкретика вида «кроссовки женские мех белые липучка» встречаются редко. Случаются и забавные запросы: «красовки калсние» или «подушки колбасой» (прим. длинные, вытянутые подушки). Такие мы тоже находим.

Ключевой нюанс поиска на Lamoda — узкая предметная область. Вот что это значит: запрос «американка» в контексте моды — это водолазка без рукавов или мужская куртка-бомбер. На аналогичный запрос Google выдаст игру в бильярд или резьбовое соединение.

Структура описания товаров

Все атрибуты товаров делятся на две большие группы: с фиксированным списком значений («цвет: красный» или «вид спорта: футбол») и с произвольным («спортивная футболка выполнена из тонкого технологичного трикотажа»). Значения фиксированных атрибутов контролирует платформа и использует их для поиска.

Если на стороне поставщика те или иные атрибуты заполнены некорректно или оставлены пустыми, мы заполняем их самостоятельно. На основе фото товара и технологии компьютерного зрения система автоматически выясняет цвет и другие характеристики. Также над заполнением атрибутов работают контент-менеджеры..

Заполнение атрибутов позволяет нам показывать в выдаче то, что нужно пользователю. Например, если мы пропустим в “штанах” его атрибут, то в поисковой выдаче клиент товар не увидит. Оставляем атрибуты не заполненными - не даем клиенту то, что он ищет и теряем продажи.

Вместе с тем мы способны удовлетворить запросы с опечатками, написанные на транслите и на неправильной раскладке. На «Neakb yf dscjrjv rf,kert±» — Lamoda быстро выдаст варианты туфель с каблуком. Так запрос покупательницы будет удовлетворен.

Бывают запросы, связанные со сложными паттернами. На запрос «футболки поло» система понимает, что покупателю нужно показать и простые футболки с круглым вырезом, и поло — с воротником.

Под капотом Lamoda

Поисковые сервисы Lamoda обрабатывают и трансформируют запросы на естественном языке в AND/OR-дерево (дерево сочетаний и/или, графическое изображение пошагового решения задач). Затем оно поступает в виде запроса в Elasticsearch.

Над этим работают два модуля: (search-query-analyzer - понимание и разбор запроса); (search-enricher - логика индексации товара). Они выделяют из естественного запроса важные сущности (категория, цвет, бренд, гендер и другие). Система разбивает запрос «купить теплых кросовок» на сущности: обувь, цвет, сезон.

После этого система настраивает синонимию и анализирует атрибуты товаров на предмет совпадения. Все это происходит последовательно.

Токенизация. Алгоритмы устраняют ошибки запроса, переключают раскладку, вылавливают опечатки, расставляют правильно пробелы и выделяют отдельные слова.

Сущности. Алгоритм выделяет сущности из отдельных слов используя понятия известные системе. Наиболее популярные — бренд, гендер и цвет. Некоторые слова, например «купить» система помечает как незначимые

Синонимия. Затем система расширяет запрос, используя внутреннюю базу знаний, фешн-сленг. Например «утепленный» она считывает как «мех/шерсть». Тогда в запрос попадут, например, кроссовки, в составе которых указан мех.

Дерево атрибутов. На этом этапе система создает маппинг и указывает, какую часть запроса в каких частях карточки товара следует искать. Например, «мех» в составе, слово «кроссовки» — в названии.

Атрибуты каждого товара вручную заполняют контент-менеджеры на стороне Lamoda или поставщика. Эти значения система индексирует, трансформирует и обогащает на основе определенных правил. Например, она определяет туфли с каблуком 13 см как «на высоком каблуке» и соответствующе помечает такой товар. Если у товара есть атрибут утеплитель и указан его материал, то система считает товар утепленным или зимним.

На финальном этапе поиска дерево атрибутов трансформируется в запрос к Elasticsearch. Его «листья» указывают, в каком атрибуте карточки товара нужно искать конкретное слово из запроса. Его части трансформируются Term Query и Match Query для поиска по точному совпадению и полнотекстового поиска соответственно.

Также система умеет приоритизировать части запроса. Она выделяет своеобразный «вес» каждой из них и формирует подходящую для покупателя выдачу, где вид товара, например, кроссовки, важнее, чем цвет. Если бы такой фичи не было, на запрос «красные кроссовки» система выдавала бы вразнобой товары красного цвета и кроссовки любого цвета отдельно, это было бы неудобно для покупателя.

Как опыт Lamoda можно учесть в вашем бизнесе

A/B-тесты регулярно показывают нам, как поиск, работа над релевантностью выдачи улучшают бизнес-показатели всей компании. Сейчас команда поиска работает в трех направлениях: использование поведенческих данных для поиска, управление балансом точности и полноты выдачи и использование компьютерного зрения в поиске. Почему это может быть полезно для вашего бизнеса?

Поведенческие данные для поиска. При некорректном или не сформулированном запросе можно показывать пользователю рекомендацию, которая будет ему интересна с высокой долей вероятности на основе его прежних запросов и покупок.

Управление балансом между точностью и полнотой выдачи. Это происходит за счет истории кликов пользователя по конкретным товарам. Также улучшается качество ранжирования.

Использование компьютерного зрения для заполнения атрибутов. Это помогает нам быстрее обрабатывать товары, атрибуты которых были некорректно заполнены поставщиком. Тогда по фото товара мы можем выявить цвет, модель и другие детали без привлечения контент-менеджеров.

0
7 комментариев
Написать комментарий...
Арина Попова

Интересная статья.

Ответить
Развернуть ветку
Lamoda
Автор

спасибо 🤗

Ответить
Развернуть ветку
Nadezhda Hodilina

Cпасибо.

Ответить
Развернуть ветку
Lamoda
Автор

😊

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Lamoda
Автор

рады, что вам понравился материал 😊

Ответить
Развернуть ветку
Софья Долгополова

Очень интересно. Даже не знала, что так выглядит "изнанка" работы с поиском на сайте )

Ответить
Развернуть ветку
4 комментария
Раскрывать всегда