Введение В Рекомендательные Системы

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

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



Введение в рекомендательные системы

Примером подхода являются Amazon и Netflix. Amazon начала использовать подход совместной фильтрации в первые годы своего существования и добилась увеличения доходов на 10% только за счет этого алгоритма.

Netflix увеличивает количество зрителей на 40% благодаря своему алгоритму рекомендаций.

Теперь проще назвать компанию, которая не использует этот подход, чем перечислить все те, кто использует. Netflix имеет увлекательную историю, связанную с этой технологией.

В 2006-2009 годах (еще до того, как платформа Kaggle для соревнований по ML стала популярной) Netflix объявил открытый конкурс на улучшение алгоритма с призовым фондом в $1 000 000. Конкурс длился 2 года и в нем приняли участие несколько тысяч разработчиков и ученых.

Если бы Netflix нанял их в штат, затраты были бы во много раз выше обещанных призовых.

В результате одна из команд победила, прислав решение требуемого качества на 2 часа раньше другой команды, повторившей результат победителя.

В итоге деньги достались эффективной команде.

Конкурс стал катализатором качественных изменений в сфере персонализированных рекомендаций.

Основным подходом к решению проблемы построения рекомендательных систем является коллаборативная фильтрация.

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



Введение в рекомендательные системы

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

Это подход, основанный на элементах.

В простейшем случае используется алгоритм поиска ближайшего соседа.

Пример: Если Марии нравятся фильмы «Титаник» и «Звездные войны», то наиболее близким ей по вкусу пользователем будет Аня, которая помимо этих фильмов смотрела еще и «Хатико».

Порекомендуем Марии фильм «Хатико».

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



Введение в рекомендательные системы

Рис.

2 Принцип работы алгоритма ближайших соседей Кажется просто, но качество рекомендаций при таком подходе низкое.

Рассмотрим сложные алгоритмы рекомендательных систем, основанные на свойстве матриц, а точнее на матричной декомпозиции.

Классический алгоритм — SVD (сингулярное матричное разложение).

Суть алгоритма в том, что матрица товарных предпочтений (матрица, где строки — пользователи, а столбцы — продукты, с которыми пользователи взаимодействовали) представляется как произведение трёх матриц.



Введение в рекомендательные системы

Рис.

3 Алгоритм СВД После восстановления исходной матрицы появились ячейки, где у пользователя были нули и «большие» числа, которые показывают степень скрытого интереса к товару.

Давайте упорядочим эти цифры и получим список продуктов, которые актуальны для пользователя.

В ходе этой операции у пользователя и продукта появляются «скрытые» признаки.

Это знаки, которые показывают «скрытое» состояние пользователя и продукта.

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

Это пол, возраст, средняя цена покупки, регион и т. д. Попробуем обогатить нашу модель этими данными.

Для этого воспользуемся алгоритмом «факторизационные машины».



Введение в рекомендательные системы

Рис.

4 Алгоритм работы факторизационной машины Из нашего опыта в компании Данные4 , решения кейсов в области построения рекомендательных систем для интернет-магазинов, именно машины факторизации дают наилучшие результаты.

Таким образом, мы использовали факторизационные машины для построения рекомендательной системы для нашего клиента, компании KupiVip. Увеличение метрики RMSE составило 6-7%.

Но подходы, основанные на матричной декомпозиции, имеют свои недостатки.

Число обобщающих закономерностей взаимного сочетания благ невелико.

Для решения этой проблемы целесообразно использовать нейронные сети.

Но нейронная сеть требует таких объемов данных, которые есть только у крупных компаний.

Из нашего опыта в компании Данные4 , только у одного клиента нейросеть для персонализированных товарных рекомендаций дала лучший результат. Но в случае успеха можно получить до 10% к метрике RMSE. Нейронные сети используются на YouTube и ряде крупных контент-платформ.



Случаи использования



Для интернет-магазинов

  1. Рекомендуйте товары, актуальные для пользователя, на страницах интернет-магазина
  2. В карточке товара используйте блок «Вам может понравиться»
  3. Порекомендуйте дополнительные товары в вашей корзине (пульт дистанционного управления телевизором)
  4. Если товара нет в наличии, порекомендуйте аналог
  5. Делайте персонализированные рассылки


Для контента

  1. Повышайте вовлеченность, рекомендуя соответствующие статьи, фильмы, книги и видео.



Другой

  1. Рекомендуйте людей в приложениях для знакомств
  2. Порекомендуйте блюда в ресторане
В статье мы обсудили основы рекомендательных систем и варианты использования.

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

В следующей статье , будут рассмотрены лайфхаки рекомендательных систем, основанные на реальных бизнес-кейсах.

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

Теги: #Машинное обучение #Алгоритмы #Управление электронной коммерцией #искусственный интеллект #Интеллект #Интеллектуальный анализ данных #системы рекомендаций #совместная фильтрация #svd #машины факторизации

Вместе с данным постом часто просматривают: