Когда мы смотрим что-то в интернет-магазине, внизу страницы нам обычно показывают другие товары. Например, мы смотрим смартфон и видим похожие модели. А рядом нам показывают чехлы и плёнки на экран как раз для этой модели. За это отвечают рекомендательные системы, и вот как они работают.
Что такое рекомендательная система
Рекомендательная система — это программа, которая подбирает товары, услуги или контент и рекомендует их пользователю. Для этого рекомендательная система опирается на биг-дату — миллионы записей, которые магазин хранит в своей базе данных.
На самом деле, рекомендация товара, услуги или контента — это прогноз того, что с высокой вероятностью может быть интересно пользователю. Такой прогноз — это результат работы алгоритмов машинного обучения, которые анализируют большие данные и находят в них закономерности.
Проще говоря, рекомендательная система — это когда алгоритм пытается угадать, что ещё нам может быть интересно.
Как это устроено технически
Данные рекомендательной системы могут состоять из самой разной информации. Например, в интернет-магазине это может быть такое:
- характеристики;
- цены;
- описания;
- сколько раз купили этот товар;
- отзывы;
- оценки;
- что купили вместе с этим товаром;
- поисковые запросы пользователей;
- прошлые покупки;
- время, которое пользователь провёл на странице товара;
- и ещё сотни параметров, которые может собирать магазин во время своей работы.
Все эти данные будут в отдельных таблицах, которые можно сгруппировать, например, так:
Часть этих данных загружают в систему, когда добавляют товары, например бренды, модели, цвета, технические характеристики и цены. По мере работы интернет-магазина собираются остальные данные: оценки товаров, отзывы на товары, статистика продаж и поведение пользователей.
Алгоритмы машинного обучения анализируют всё это и применяют к данным разные формулы. То, как алгоритмы это делают, зависит от типа рекомендательной системы. С увеличением количества данных прогнозы становятся точнее, а рекомендации — лучше.
Рекомендательные системы различаются по тому, что служит фильтром для прогноза. Это значит, что рекомендация ограничивается данными, которые соответствуют заданному условию. Существует четыре типа такой фильтрации, и по ним определяются типы рекомендательных систем:
- контентная фильтрация,
- коллаборативная фильтрация,
- фильтрация на основе о знаниях,
- гибридная фильтрация.
Теперь разберём каждую подробно.
Какие бывают рекомендательные системы
Рекомендательные системы с контентной фильтрацией — самые простые. При подборе рекомендации они учитывают сходство товаров, услуг или контента. Если рекомендательная система интернет-магазина использует фильтрацию на основе контента, то при просмотре какой-то модели смартфона мы увидим просто похожие модели. Например, это может быть та же модель смартфона, но других цветов или с другими объёмами памяти.
Рекомендательные системы с коллаборативной фильтрацией учитывают поведение пользователей со сходными интересами. В нашем случае система будет анализировать данные не о товаре, а о пользователе, который просматривает товар. Если другой пользователь с похожими интересами тоже смотрел другие модели с похожими характеристиками, то система тоже их покажет.
Фильтрация на основе знаний. Если система использует фильтрацию на основе знаний, то она будет подбирать рекомендации по данным, которые объединены какой-то общей темой или интересами. Например, если эту модель смартфона уже покупали вместе с чехлом, плёнкой на экран, наушниками и адаптером питания, нам тоже предложат такое.
Разработать рекомендательную систему с фильтрацией на основе знаний сложнее, чем контентную или коллаборативную, поэтому такие рекомендательные системы встречаются реже.
Гибридная рекомендательная система ещё сложнее, чем предыдущая. Дело в том, что она сочетает сразу два типа фильтрации, при этом они вместе могут работать по-разному:
- по отдельности с последующим объединением результата;
- с опорой на одну и какими-то правилами другой фильтрации;
- сочетание двух типов фильтраций.
На деле это работает так. Допустим, похожий на нас пользователь купил интересующую нас модель смартфона в синем корпусе вместе с чехлом и наушниками такого же цвета. Тогда в рекомендуемых товарах мы увидим эту же модель смартфона в синем цвете, несколько синих чехлов и синие наушники.
Крупные интернет-магазины чаще используют гибридные системы, потому что они выдают действительно нормальные рекомендации, которые нравятся покупателям.
Где ещё применяются рекомендательные системы
Рекомендательные системы используются не только в интернет-магазинах. Они подбирают рекомендации для пользователей на самых разных сайтах и в приложениях:
- платформы видеохостинга — YouTube, TikTok, Vimeo, Rutube;
- стриминговые сервисы фильмов и сериалов — Netflix, «Кинопоиск», «Амедиатека»;
- музыкальные стриминговые сервисы — «Яндекс Музыка», Apple Music, Spotify;
- сервисы бронирования авиабилетов, отелей и автомобилей — Aviasales, Ostrovok, «Яндекс Путешествия»;
- социальные сети;
- персональные ленты новостей.
Что может пойти не так
Иногда рекомендательные системы дают неточные и не очень полезные рекомендации. Например, в дополнение к интересующей нас модели смартфона мы можем видеть чехол неподходящего размера. Но это не единственная проблема.
Проблема холодного старта. Когда интернет-магазин только начинает работу, в его базе данных ещё нет информации о пользователях. В этом случае рекомендательной системе не на что опираться при подборе товаров. Такие ситуации называют проблемой холодного старта. Чтобы решить её, сбор и анализ данных необходимо начать как можно раньше. Но первое время рекомендаций будет мало и они могут быть не очень точными.
Чтобы улучшить рекомендации, можно поделиться своими личными данными с системой, например заполнить профиль. Но не все готовы на это, потому что боятся утечек информации. Когда данных не хватает, рекомендательной системе не остаётся ничего, кроме как запоминать каждое действие пользователя. В итоге даже если не заполнить профиль, но часто пользоваться сайтом или приложением, оно всё чаще будет рекомендовать что-то подходящее.
Задержка. Когда в базу добавляют новый товар, у него ещё нет оценок и отзывов пользователей. Из-за этого алгоритмы плохо понимают, кому рекомендовать товар. Это называется задержкой, и в такой ситуации рекомендательная система ориентируется только на атрибуты товара, пока не накопятся оценки и отзывы.
Разреженность данных. Если пользователям лень оценивать товары и писать о них отзывы, возникает другая проблема. На языке data science её называют «разреженность данных». Алгоритмам трудно понять, у каких групп пользователей сходные вкусы и кому какие товары предлагать. В таких ситуациях сайты и приложения предлагают поощрения за оценки и отзывы, чтобы стимулировать пользователей.