У нас есть три стратегии, в рамках которых мы делаем рекомендации для пользователя. Все три работают одновременно.
Вся информация о товаре разбивается на свойства (например, «материал») и значения («искусственная кожа»). Проблема в том, что у продавца и у Ozon они могут называться по-разному (не «искусственная кожа», а «кожзам»).
Наша задача в рамках машинного обучения — понять, что это одно и то же. Для этого система анализирует свойства и значения в числовом формате и мэтчит их с параметрами Ozon. В результате мы из сырых данных получаем табличку с необходимым для публикации контентом
Пользователь находится на сайте больше 30 минут. Он уже попал в ежечасный цикл переобучения. Поэтому мы пользуемся хорошо рассчитанным вектором свойств пользователя и делаем рекомендации. Они получаются самыми качественными.
Холодный пользователь. Он только что пришел, мы о нем ничего не знаем, но нам надо ему что-то порекомендовать. В этом случае мы используем статические фичи, которые выражаются не в его поведении, а в его свойствах (какой язык на сайте выбран, из какого региона, с какого устройства и т. п.).
Пользователь пришел недавно. Его еще нет в рассчитанных фичах, но он уже успел проявить свое поведение, например, кликнул на один товар. В этом случае мы делаем хорошее предположение относительно его предпочтений на основании свойств товара, к которому он проявил интерес, и формируем для него рекомендации.