Рекомендательные системы: что это и как работает алгоритм рекомендаций

Рекомендательные системы: что это и как работает алгоритм рекомендаций

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

Для чего нужны рекомендательные системы

Рекомендательные системы помогают пользователю сориентироваться в многообразии продуктов. Если раньше выбор ограничивался витриной офлайн-магазина, то в онлайн-магазине может быть и миллион товаров — все увидеть невозможно. Рекомендации помогают найти то, что нужно.
Пример блока рекомендаций сайта Amazon.com
Пример блока рекомендаций сайта Amazon.com
Пример блока рекомендаций «С этим товаром покупают» магазина «Кант»
Пример блока рекомендаций «С этим товаром покупают» магазина «Кант»
Бизнесу рекомендательные системы помогают увеличивать метрики, например продажи. Если не заставлять пользователя искать товар, а сразу показывать то, что он, скорее всего, ищет, это сэкономит его время и поднимет средний чек. Другой пример — рекомендации похожих фильмов и сериалов в онлайн-кинотеатрах увеличивают retention rate пользователя.
Технически рекомендательная система — программа, под капотом которой спрятан обучающийся алгоритм. Формирование рекомендаций происходит так: алгоритму «скармливают» информацию о товарах, пользователях и их взаимодействии, а он подбирает рекомендации. Например, пользователь посмотрел фильм в онлайн-кинотеатре, и алгоритм подбирает новое кино, опираясь на жанр, актеров, год выпуска, режиссера и предпочтения других пользователей, которые посмотрели тот же фильм.

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

Рекомендации могут быть персонализированными и неперсонализированными. В первом случае мы знаем что-то о пользователе и основываемся на его предпочтениях, во втором — используем популярные или сопутствующие товары.
Выделяют четыре вида рекомендательных систем:
  • Контентная фильтрация.
  • Коллаборативная фильтрация.
  • Фильтрация, основанная на знаниях.
  • Гибридные рекомендательные системы.

Контентная фильтрация

Контентная фильтрация (content-based filtering) основывается на потребленном контенте.
Например, пользователь зашел в онлайн-кинотеатр и купил боевик с Брюсом Уиллисом. Посмотрел его, поставил хороший балл. В следующий раз пользователю, скорее всего, посоветуют новый боевик с Брюсом Уиллисом. Рекомендательная система ориентируется на то, что пользователь посмотрел, и советует похожие фильмы.

Коллаборативная фильтрация

Коллаборативная фильтрация (collaborative filtering) учится на опыте других пользователей со схожими интересами.
Представим, что есть Петя и есть Вася. Они оба любят мороженое, стейки и лимонад. Еще есть Андрей, который любит мороженое и лимонад. Рекомендательная система интернет-магазина с коллаборативной фильтрацией приходит к выводу, что тем, кто любит мороженое и лимонад, скорее всего, нравятся и стейки. Поэтому в следующий раз система порекомендует стейки и Андрею.
Коллаборативная фильтрация

Система, основанная на знаниях

В системе, основанной на знаниях (knowledge-based filtering), рекомендации строятся на основе экспертного мнения. В отличие от рекомендаций в предыдущих системах они чаще всего неперсонализированные.
Например, исследование компании показывает, что на севере России люди предпочитают есть рыбу, а на юге — курицу. Тогда в онлайн-магазине продуктов рекомендации могут отталкиваться от места жительства покупателя.

Гибридная система

В гибридной системе (hybrid filtering) все перемешано: предыдущие виды рекомендаций могут работать вместе и подключаться в разных последовательностях.
Например, параллельное подключение рекомендаций. В спортивном магазине есть пользователь, который занимается теннисом, живет на юге России и часто проводит время в разделе с товарами для походов. Алгоритм уже знает, что теннисисты сейчас увлекаются паддл-теннисом, а на юге пользователи чаще ездят на море летом и ходят в походы осенью. Кроме рекомендаций, основанных на прошлых покупках, система порекомендует ракетки для паддл-тенниса и палатку или зонтик от солнца в зависимости от сезона.
Или последовательное: в музыкальном сервисе появляется новый пользователь, про которого еще ничего неизвестно. Система предлагает выбрать любимых исполнителей — это точка отсчета. Теперь алгоритм рекомендаций может обучаться. Например, он знает, что любители Тейлор Свифт часто слушают Гарри Стайлза, а слушателям джаза обычно по нраву блюз.

Инструменты для оценки эффективности рекомендательных систем

Качество рекомендаций можно измерить двумя способами:
  1. Ретроспективно, офлайн. Это способ проверить эффективность алгоритма рекомендаций до его внедрения в бизнес. Например, у компании есть история взаимодействия пользователя с продуктами за месяц. Для теста из этой истории берется последняя неделя, а первые три «скармливаются» алгоритму рекомендаций в качестве обучающей выборки. Так компания может сравнить то, что система порекомендует, с тем, что на самом деле выбирал пользователь.
  2. Онлайн с помощью AB-тестов. Их можно проводить на уже работающих алгоритмах, чтобы оценить, насколько эффективно работают рекомендации. Оценивать их стоит исходя из задач бизнеса. Например, можно оценить разнообразие: пользователь каждый раз видит одно и то же или узнает что-то новое? Сколько товаров показывается пользователям? Насколько новые рекомендации товаров интернет-магазина попадают в цель? Насколько пользователя интересуют эти товары?

Основные проблемы при подключении рекомендательных систем

Проблема холодного старта. В магазин пришел новый клиент без истории заказов: алгоритм пока не знает, что ему показывать. Если в магазине таких пользователей много, то рекомендации в целом могут быть некачественными. Алгоритму нечего порекомендовать персонально клиенту и не на чем основываться, чтобы выбрать популярные товары.
Эта проблема решается накоплением истории. Например, в магазин поступила новая коллекция. С ней никто еще не взаимодействовал, а бизнес хочет, чтобы товары из нее рекомендовались. В этом случае можно сделать виджет с товарами из новой коллекции: как только пользователи начнут с ними взаимодействовать, система получит историю и начнет выделять самые популярные товары.
Проблема «длинного хвоста». Когда у бизнеса много продуктов, а пользователи взаимодействуют только с самыми популярными, алгоритм будет рекомендовать только эти популярные продукты. Вся остальная линейка остается как бы в хвосте.
Эта проблема решается, если периодически добавлять непопулярные продукты в списки рекомендаций. Например, в «длинном хвосте» есть йогурт, который никто не покупает. Система может посоветовать этот йогурт любителю йогуртов, который, возможно, его попробует.

Преимущества рекомендательных систем

Экономия пользовательского времени. С качественными рекомендациями пользователю не нужно тратить много времени, чтобы найти то, что он ищет. Это помогает справиться с проблемой выбора и напрямую влияет на увеличение метрик бизнеса.
Увеличение метрик бизнеса. В магазинах экономия пользовательского времени может работать на поднятие среднего чека и допродажи. Если система знает, что с надувным кругом часто покупают солнцезащитный крем и шлепанцы, а к вину обычно подбирают фрукты и сыр, то велика вероятность, что после рекомендации сопутствующие товары тоже окажутся в корзине.
В медиа и онлайн-кинотеатрах экономия пользовательского времени работает на вовлечение. Система рекомендует похожие статьи и фильмы, убирая из выборки то, с чем пользователь уже взаимодействовал. Человеку не нужно искать, что еще посмотреть или почитать, и при этом он остается на сайте дольше.

Недостатки рекомендательных систем

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

Когда пора внедрять систему рекомендаций

Система рекомендаций нужна бизнесу с большим выбором товаров и историей взаимодействия пользователей с этими товарами. Этих двух признаков достаточно, чтобы задуматься о внедрении простого алгоритма рекомендаций.
При этом внедрять рекомендации можно в разные каналы коммуникации. Они могут существовать в виде витрины на главной странице сайта, в корзине, на карточке товара или в поиске. Алгоритмы активно используют в email-маркетинге: на их основе формируются цепочки писем, которые советуют новые товары, дополняющие или похожие на те, которые пользователь уже приобрел.
Если у бизнеса есть пользователи и товары, система обязательно найдет, что порекомендовать.