Системы рекомендаций: задачи, подходы, алгоритмы

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

Системы рекомендаций

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

Область применения систем рекомендаций достаточно узкая, но важная в современном интернете:

  • Рекомендации товаров в интернет-магазинах. Пожалуй, этот вариант применения на сегодня наиболее актуален; системы рекомендаций интернет-магазинов предлагают пользователю приобрести нужный, по мнению алгоритма, товар, основываясь на разнообразных факторах, например, выборе клиентов с похожими предпочтениями;
  • Рекомендации фильмов/музыки/видео. Сервисы вроде Netflix, YouTube или LastFM рекомендуют зарегистрированным посетителям тот или иной контент в зависимости от их предыдущих просмотров или прослушиваний и/или рейтингов того или иного видео, фильма или исполнителя;
  • Рекомендации новостей. Система рекомендует «похожие» на ранее прочитанные материалы новости, основываясь либо на похожести ключевых слов, либо, опять же, на выборе пользователей с похожими интересами.

Алгоритмы

В целом, существует всего два вида алгоритмов работы систем рекомендаций. Рассмотрим их подробнее.

  1. Алгоритм фильтрации содержимого состоит в изучении системой неких параметров контента и пользователя (и для контента, и для пользователей создаются профили), которые затем служат основанием для рекомендации. Для примера рассмотрим работу рекомендательной системы интернет-магазина. Допустим, пользователь заказывает крем для загара. Система рекомендаций выделяет параметры продукта, например, марку и линию марки, чтобы порекомендовать этому же пользователю средство после загара. Или же покупателя интересуют детские товары, причем из категории для новорожденных (кстати, в профиле пользователя может содержаться в том числе и демографическая информация); в таком случае, система обратится не к атрибуту «детские товары», а к их подкатегории – и будет рекомендовать соответствующие игрушки, одежду и питание.
  2. Алгоритм совместной фильтрации основывается на предыдущем выборе пользователя – в случае магазина это информация о покупках и оценках товаров. При этом алгоритмом изучаются «неявные» характеристики, которые сложно было бы учесть при создании профиля.

Понятно, что ни один из этих алгоритмов универсальным не является; в числе недостатков фильтрации содержимого – собственно, сбор информации (далеко не всякий пользователь согласится добровольно делиться личной информацией вроде количества и возраста детей с интернет-магазином, а у неявного сбора информации есть недостатки этического толка), проблема же совместной фильтрации состоит в так называемом эффекте «холодного старта», когда у недавно зарегистрированных пользователей еще нет «предыстории» покупок, а у товаров-новинок пока не хватает оценок.

Методики сбора данных для систем рекомендаций

Любой алгоритм рекомендации предполагает первоначальный сбор данных. В общем-то, в этом и кроется львиная доля «подводных камней» работы систем рекомендации. Давайте рассмотрим две основные методики сбора данных подробнее.

  • Явный сбор данных. Как следует из названия, в этом случае пользователь добровольно предоставляет системе необходимые для работы данные. Для нашего примера явный сбор данных может состоять в предложении пользователю поставить дифференцированную оценку тому или иному товару, создать список «любимых продуктов» или ответить на вопросы профиля. Основной недостаток алгоритма станет очевиден, когда мы вспомним, насколько раздражает порой навязчивая просьба поставить оценку тому или иному мобильному приложению. А уж если пользователи так неохотно делятся такой не относящейся к ним напрямую информацией, то какова же будет реакция на предложение заполнить профиль некими персональными данными?
  • Неявный сбор информации. Эта методика сбора данных представляет собой своеобразный «шпионаж» за пользователем – в нашем примере неявный сбор информации происходит посредством слежения за поведением пользователя – включая его покупки и оценки в других интернет-магазинах, а также сбор информации напрямую с компьютера клиента. Понятное дело, такие методики везут за собой своеобразный «багаж» этических проблем – о защите персональных данных и ее важности в современном мире мы уже писали; напомним лишь, что интернет сегодня представляет собой настоящий черный ящик, и проблема неявного сбора информации это только подтверждает. Действительно, если информация о наших покупках в одном магазине может быть использована другим магазином (а это, на минуточку, уже третье лицо!), то есть ли гарантия, что точно так же эта информация не попадет и в сотни других баз данных?

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

Автор: Елизавета Филиппова

Добавить комментарий

Ваш адрес email не будет опубликован.

закрыть

Поделиться

Отправить на почту
закрыть

Вход

закрыть

Регистрация

+ =