Как устроены рекомендательные системы
medium

Как устроены рекомендательные системы

И почему они иногда предлагают совсем не то

Когда мы смотрим что-то в интернет-магазине, внизу страницы нам обычно показывают другие товары. Например, мы смотрим смартфон и видим похожие модели. А рядом нам показывают чехлы и плёнки на экран как раз для этой модели. За это отвечают рекомендательные системы, и вот как они работают.

Что такое рекомендательная система

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

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

Проще говоря, рекомендательная система — это когда алгоритм пытается угадать, что ещё нам может быть интересно.

Как это устроено технически

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

  • характеристики;
  • цены;
  • описания;
  • сколько раз купили этот товар;
  • отзывы;
  • оценки;
  • что купили вместе с этим товаром;
  • поисковые запросы пользователей;
  • прошлые покупки;
  • время, которое пользователь провёл на странице товара;
  • и ещё сотни параметров, которые может собирать магазин во время своей работы.

Все эти данные будут в отдельных таблицах, которые можно сгруппировать, например, так:

Как устроены рекомендательные системы

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

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

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

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

  • контентная фильтрация,
  • коллаборативная фильтрация,
  • фильтрация на основе о знаниях,
  • гибридная фильтрация.

Теперь разберём каждую подробно.

Какие бывают рекомендательные системы

Рекомендательные системы с контентной фильтрацией — самые простые. При подборе рекомендации они учитывают сходство товаров, услуг или контента. Если рекомендательная система интернет-магазина использует фильтрацию на основе контента, то при просмотре какой-то модели смартфона мы увидим просто похожие модели. Например, это может быть та же модель смартфона, но других цветов или с другими объёмами памяти.

Как устроены рекомендательные системы

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

Как устроены рекомендательные системы

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

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

Как устроены рекомендательные системы

Гибридная рекомендательная система ещё сложнее, чем предыдущая. Дело в том, что она сочетает сразу два типа фильтрации, при этом они вместе могут работать по-разному:

  • по отдельности с последующим объединением результата;
  • с опорой на одну и какими-то правилами другой фильтрации;
  • сочетание двух типов фильтраций.

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

Крупные интернет-магазины чаще используют гибридные системы, потому что они выдают действительно нормальные рекомендации, которые нравятся покупателям.

Как устроены рекомендательные системы

Где ещё применяются рекомендательные системы

Рекомендательные системы используются не только в интернет-магазинах. Они подбирают рекомендации для пользователей на самых разных сайтах и в приложениях:

  • платформы видеохостинга — YouTube, TikTok, Vimeo, Rutube;
  • стриминговые сервисы фильмов и сериалов — Netflix, «Кинопоиск», «Амедиатека»;
  • музыкальные стриминговые сервисы — «Яндекс Музыка», Apple Music, Spotify;
  • сервисы бронирования авиабилетов, отелей и автомобилей — Aviasales, Ostrovok, «Яндекс Путешествия»;
  • социальные сети;
  • персональные ленты новостей.

Что может пойти не так

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

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

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

Задержка. Когда в базу добавляют новый товар, у него ещё нет оценок и отзывов пользователей. Из-за этого алгоритмы плохо понимают, кому рекомендовать товар. Это называется задержкой, и в такой ситуации рекомендательная система ориентируется только на атрибуты товара, пока не накопятся оценки и отзывы.

Разреженность данных. Если пользователям лень оценивать товары и писать о них отзывы, возникает другая проблема. На языке data science её называют «разреженность данных». Алгоритмам трудно понять, у каких групп пользователей сходные вкусы и кому какие товары предлагать. В таких ситуациях сайты и приложения предлагают поощрения за оценки и отзывы, чтобы стимулировать пользователей.

Текст:

Елена Кочеткова

Шеф-редактор:

Инна Долога

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Юлия Зубарева

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
medium