21.1. Обзор систем рекомендаций

За последнее десятилетие Интернет превратился в платформу для крупномасштабных онлайн-сервисов, что кардинально изменило способы нашего общения, чтения новостей, покупки товаров и просмотра фильмов. В то же время беспрецедентно большое количество элементов (под термином элемент мы понимаем фильмы, новости, книги и товары), предлагаемых в сети, требует наличия системы, способной помочь нам находить элементы, которые нам нравятся. Таким образом, рекомендательные системы являются мощными инструментами фильтрации информации, которые способствуют предоставлению персонализированных услуг и формируют индивидуальный опыт для каждого пользователя. Короче говоря, рекомендательные системы играют ключевую роль в использовании огромных массивов доступных данных, чтобы сделать процесс выбора более управляемым. В настоящее время рекомендательные системы лежат в основе деятельности многих поставщиков онлайн-услуг, таких как Amazon, Netflix и YouTube. Вспомните пример с книгами по глубокому обучению, рекомендованными Amazon на рисунке Fig. 1.3.3. Преимущества использования рекомендательных систем двойственны: с одной стороны, они значительно сокращают усилия пользователей по поиску элементов и помогают решить проблему информационной перегрузки. С другой стороны, они добавляют бизнес-ценность поставщикам онлайн-услуг и являются важным источником дохода. В этой главе будут представлены фундаментальные концепции, классические модели и последние достижения в области рекомендательных систем с использованием глубокого обучения, а также реализованные примеры.

../_images/rec-intro.svg

Fig. 21.1.1 Иллюстрация процесса рекомендаций

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

Начнем наше путешествие с важного понятия в системах рекомендаций — коллаборативной фильтрации (CF), которое впервые было введено в системе Tapestry (Goldberg et al., 1992) и означало «люди сотрудничают, чтобы помочь друг другу выполнять процесс фильтрации для обработки больших объёмов электронной почты и сообщений, публикуемых в группах новостей». С тех пор этот термин обогатился новыми смыслами. В широком смысле это процесс отбора информации или выявления паттернов с использованием методов, предполагающих взаимодействие между множеством пользователей, агентов и источников данных. Коллаборативная фильтрация имеет множество форм, и с момента её появления было предложено множество методов CF.

В целом методы коллаборативной фильтрации (CF) можно разделить на три категории: основанные на памяти (memory-based CF), основанные на моделях (model-based CF) и их гибриды (Su and Khoshgoftaar, 2009). К известным методам коллаборативной фильтрации, основанным на памяти, относятся методы, использующие поиск ближайших соседей, такие как коллаборативная фильтрация на основе пользователей и на основе элементов (Sarwar et al., 2001). Примерами методов коллаборативной фильтрации, основанных на моделях, являются модели латентных факторов, такие как факторизация матрицы. Методы, основанные на памяти, имеют ограничения при работе с разреженными и крупномасштабными данными, поскольку они вычисляют значения сходства на основе общих элементов. Методы, основанные на моделях, становятся всё более популярными благодаря лучшей способности справляться с разреженностью и масштабированием. Многие подходы коллаборативной фильтрации, основанные на моделях, могут быть расширены с помощью нейронных сетей, что приводит к созданию более гибких и масштабируемых моделей с ускорением вычислений благодаря глубокому обучению (Zhang et al., 2019). В целом коллаборативная фильтрация использует только данные о взаимодействии пользователей и элементов для прогнозирования и формирования рекомендаций. Помимо коллаборативной фильтрации, системы рекомендаций, основанные на содержимом и контексте, также полезны для учёта описаний элементов/пользователей и контекстных сигналов, таких как временные метки и местоположения. Очевидно, что при наличии различных входных данных нам может потребоваться корректировать типы или структуры моделей.

21.1.2. Явная и неявная обратная связь

Чтобы узнать предпочтения пользователей, система должна собирать от них обратную связь. Эта обратная связь может быть явной или неявной (Hu et al., 2008). Например, IMDb собирает рейтинги от одной до десяти звезд для фильмов. YouTube предоставляет кнопки «нравится» и «не нравится», чтобы пользователи могли выразить свои предпочтения. Очевидно, что сбор явной обратной связи требует от пользователей проактивного указания своих интересов. Тем не менее явная обратная связь не всегда доступна, так как многие пользователи могут быть неохотно оценивать товары. Относительно говоря, неявная обратная связь часто доступна, поскольку она в основном связана с моделированием неявного поведения, такого как клики пользователей. Таким образом, многие рекомендательные системы основаны на неявной обратной связи, которая косвенно отражает мнение пользователей через наблюдение за их поведением. Существуют различные формы неявной обратной связи, включая историю покупок, историю просмотров, просмотры и даже движения мыши. Например, пользователь, купивший много книг одного автора, вероятно, любит этого автора. Обратите внимание, что неявная обратная связь по своей природе зашумлена. Мы можем только предполагать их предпочтения и истинные мотивы. Просмотр фильма пользователем не обязательно указывает на положительное отношение к этому фильму.

21.1.3. Задачи рекомендаций

За последние десятилетия было исследовано множество задач рекомендательных систем. В зависимости от области применения выделяют рекомендации фильмов, новостей, точек интереса (Ye et al., 2011) и так далее. Задачи также можно классифицировать по типам обратной связи и входных данных. Например, задача предсказания оценок (rating prediction) направлена на прогнозирование явных оценок. Задача ранжирования Top-\(n\) (упорядочивание элементов) ранжирует все элементы индивидуально для каждого пользователя на основе неявной обратной связи. Если также учитывается информация о временных метках, можно построить рекомендательную систему, учитывающую последовательность (Quadrana et al., 2018). Другой популярной задачей является предсказание вероятности клика (click-through rate prediction), которая также основана на неявной обратной связи, но позволяет использовать различные категориальные признаки. Рекомендации для новых пользователей и рекомендации новых элементов существующим пользователям называются задачами «холодного старта» (Schein et al., 2002).

21.1.4. Резюме

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

  • Существует два типа обратной связи: неявная и явная. За последнее десятилетие было исследовано множество задач рекомендательных систем.

21.1.5. Упражнения

  1. Можете ли вы объяснить, как рекомендательные системы влияют на вашу повседневную жизнь?

  2. Какие интересные задачи рекомендательных систем можно исследовать?

Обсуждения