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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Текст:

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

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

Инна Долога

Художник:

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

Корректор:

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

Вёрстка:

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

Соцсети:

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

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