Введение

Система фильтрации информации для прогнозирования предпочтений пользователей. Система рекомендаций (иногда заменяющая термин "система" на "платформа", "движок" или "алгоритм") — это подкласс системы фильтрации информации, предоставляющий предложения по наиболее подходящим для конкретного пользователя элементам. Системы рекомендаций особенно полезны, когда пользователю необходимо выбрать элемент из потенциально огромного числа вариантов, предлагаемых сервисом. Эти системы могут работать с одним типом входных данных, например, с музыкой, или с несколькими типами входных данных внутри и между платформами, такими как новости, книги и поисковые запросы. Существуют также популярные системы рекомендаций для конкретных областей, например, ресторанов и онлайн-знакомств. Системы рекомендаций также разрабатывались для поиска научных статей, экспертов, соавторов и финансовых услуг.

Обзор

Системы рекомендаций обычно используют либо совместную фильтрацию, либо фильтрацию на основе контента (также известную как подход, основанный на предпочтениях), а также другие системы, такие как системы, основанные на знаниях. Коллаборативные подходы фильтрации строят модель на основе предыдущего поведения пользователя (элементы, которые он ранее приобретал или выбирал, и/или числовые оценки, выставленные этим элементам), а также схожих решений, принятых другими пользователями. Эта модель затем используется для предсказания элементов (или оценок для элементов), которые могут заинтересовать пользователя. Подходы фильтрации на основе контента используют ряд дискретных, предварительно определенных характеристик элемента для рекомендации дополнительных элементов с похожими свойствами. Различия между совместной и контент-фильтрацией можно продемонстрировать, сравнив две ранние системы рекомендации музыки – Last.fm и Pandora Radio. Last.fm создает "станцию" рекомендуемых песен, отслеживая, какие группы и отдельные треки пользователь слушает регулярно, и сопоставляя это с поведением других пользователей. Last.fm будет воспроизводить треки, которых нет в библиотеке пользователя, но которые часто слушают другие пользователи с похожими интересами. Поскольку этот подход опирается на поведение пользователей, он является примером техники совместной фильтрации. Pandora использует свойства песни или исполнителя (подмножество из 400 атрибутов, предоставленных Music Genome Project) для запуска "станции", которая воспроизводит музыку с аналогичными свойствами. Обратная связь от пользователей используется для уточнения результатов станции, уменьшая вес определенных атрибутов, когда пользователю не нравится конкретная песня, и увеличивая вес других атрибутов, когда пользователю нравится песня. Это пример подхода, основанного на контенте. Каждый тип системы имеет свои сильные и слабые стороны. В приведенном выше примере Last.fm требует большого объема информации о пользователе для выдачи точных рекомендаций. Это пример проблемы "холодного старта", которая часто встречается в системах совместной фильтрации. В то время как Pandora требует очень мало информации для начала, она значительно ограничена в охвате (например, она может давать только рекомендации, похожие на исходный запрос). Системы рекомендаций являются полезной альтернативой алгоритмам поиска, поскольку они помогают пользователям находить элементы, которые они могли бы не обнаружить самостоятельно. Стоит отметить, что системы рекомендаций часто реализуются с использованием поисковых систем, индексирующих нетрадиционные данные. Системы рекомендаций стали объектом нескольких выданных патентов.

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

Эти системы рекомендаций используют взаимодействия пользователя в рамках сеанса для генерации рекомендаций. Системы рекомендаций, основанные на сеансах, применяются на YouTube и Amazon. Они особенно полезны, когда история пользователя (например, предыдущие клики, покупки) недоступна или не имеет значения в текущем сеансе. Области, где рекомендации на основе сеансов особенно востребованы, включают видео, электронную коммерцию, туризм, музыку и другие. В большинстве случаев системы рекомендаций, основанные на сеансах, опираются на последовательность недавних взаимодействий в сеансе, не требуя каких-либо дополнительных данных о пользователе (исторических, демографических). Методы рекомендаций на основе сеансов в основном базируются на генеративных последовательных моделях, таких как рекуррентные нейронные сети, трансформеры и другие подходы, основанные на глубоком обучении.

Усиление обучения для систем рекомендателей

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

Системы рекомендации с использованием нескольких критериев

Системы рекомендации по нескольким критериям (MCRS) можно определить как системы рекомендации, учитывающие информацию о предпочтениях по множеству критериев. Вместо разработки методов рекомендации, основанных на значении одного критерия, эти системы стремятся предсказать оценку для ещё не просмотренных пользователем u элементов i, используя информацию о предпочтениях по нескольким критериям, влияющим на общее предпочтение пользователя. Ряд исследователей рассматривают MCRS как задачу многокритериального принятия решений (MCDM) и применяют методы и техники MCDM для реализации систем MCRS. Более подробное введение представлено в данной главе.

Системы рекомендаций, основанные на осведомленности о рисках

Большинство существующих подходов к системам рекомендаций сосредоточены на рекомендации наиболее релевантного контента пользователям, используя контекстную информацию, однако не принимают во внимание риск раздражения пользователя нежелательными уведомлениями. Важно учитывать возможность негативной реакции пользователя на навязчивые рекомендации в определенных ситуациях, например, во время деловой встречи, рано утром или поздно ночью. Следовательно, эффективность системы рекомендаций частично зависит от того, насколько полно она учитывает этот риск в процессе формирования рекомендаций. Одним из способов решения этой проблемы является DRARS – система, моделирующая контекстно-зависимые рекомендации как задачу о многоруком бандите. Эта система объединяет контентно-ориентированный подход и алгоритм контекстного бандита.

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

Мобильные системы рекомендаций используют смартфоны с доступом в интернет для предоставления персонализированных рекомендаций с учетом контекста. Это особенно сложная область исследований, поскольку мобильные данные более комплексны, чем данные, с которыми обычно работают системы рекомендаций. Они неоднородны, зашумлены, требуют пространственной и временной автокорреляции и связаны с проблемами валидации и обобщения. Существует три фактора, которые могут повлиять на мобильные системы рекомендаций и точность результатов прогнозирования: контекст, метод рекомендаций и конфиденциальность. Кроме того, мобильные системы рекомендаций сталкиваются с проблемой трансплантации – рекомендации могут быть неприменимы в разных регионах (например, неразумно рекомендовать рецепт в местности, где не все ингредиенты доступны). Примером мобильной системы рекомендаций служат подходы, используемые компаниями Uber и Lyft для построения маршрутов для таксистов в городе. Самый точный алгоритм в 2007 году использовал ансамблевый метод, объединяющий 107 различных алгоритмических подходов в единый прогноз. Как отмечали победители, Bell et al.: Точность прогнозирования существенно повышается при объединении нескольких предикторов. Наш опыт показывает, что основное внимание следует уделять разработке принципиально различных подходов, а не совершенствованию единственной техники. Следовательно, наше решение представляет собой ансамбль множества методов. Проект Netflix принес значительную пользу веб-технологиям. Некоторые команды адаптировали свои разработки для других рынков. Члены команды, занявшей второе место, основали Gravity R&D – механизм рекомендаций, активно участвующий в сообществе RecSys. Компания 4 Tell, Inc. разработала решение для сайтов электронной коммерции на основе проекта Netflix. В связи с набором данных, предложенным Netflix для конкурса Netflix Prize, возник ряд вопросов, касающихся конфиденциальности. Несмотря на анонимизацию данных для защиты конфиденциальности пользователей, в 2007 году двум исследователям из Техасского университета удалось идентифицировать отдельных пользователей, сопоставив данные с оценками фильмов в Internet Movie Database. В результате в декабре 2009 года анонимный пользователь Netflix подал в суд на Netflix в деле Doe v. Netflix, обвиняя компанию в нарушении антимонопольного законодательства США и Закона о защите конфиденциальности видео путем публикации наборов данных. Это, а также обеспокоенность Федеральной торговой комиссии, привели к отмене второго конкурса Netflix Prize в 2010 году.

Меры эффективности

Оценка важна для определения эффективности алгоритмов рекомендаций. Для измерения эффективности рекомендательных систем и сравнения различных подходов доступны три типа оценки: пользовательские исследования, онлайн-оценки (A/B-тесты) и офлайн-оценки. Однако многие классические метрики оценки подвергаются критике. Оценка эффективности алгоритма рекомендаций на фиксированном тестовом наборе данных всегда будет крайне сложной, поскольку невозможно точно предсказать реакцию реальных пользователей на рекомендации. Следовательно, любая метрика, вычисляющая эффективность алгоритма на офлайн-данных, будет неточной. Пользовательские исследования обычно проводятся в небольшом масштабе. Несколько десятков или сотен пользователей получают рекомендации, сгенерированные различными подходами, а затем оценивают, какие рекомендации являются лучшими. В A/B-тестах рекомендации демонстрируются тысячам пользователей реального продукта, при этом рекомендательная система случайным образом выбирает как минимум два различных подхода для генерации рекомендаций. Эффективность измеряется неявными показателями, такими как коэффициент конверсии или частота кликов. Офлайн-оценки основаны на исторических данных, например, на наборе данных, содержащем информацию о предыдущих оценках фильмов пользователями. Эффективность рекомендательных подходов измеряется тем, насколько хорошо подход может предсказать оценки пользователей в наборе данных. Хотя оценка является явным выражением того, понравился ли пользователю фильм, такая информация недоступна во всех областях. Например, в области систем рекомендаций цитируемой литературы пользователи обычно не оценивают сами цитаты или рекомендованные статьи. В таких случаях в офлайн-оценках могут использоваться неявные показатели эффективности. Например, можно предположить, что эффективной является система, способная рекомендовать как можно больше статей, включенных в список литературы исследовательской работы. Однако многие исследователи критически относятся к подобным офлайн-оценкам. Было показано, что популярный для офлайн-оценки набор данных содержит дубликаты, что приводит к ошибочным выводам при оценке алгоритмов. Часто результаты так называемых офлайн-оценок не коррелируют с фактической удовлетворенностью пользователей. Вероятно, это связано с тем, что офлайн-обучение сильно смещено в сторону легкодоступных элементов, а данные офлайн-тестирования сильно зависят от результатов онлайн-модуля рекомендаций. Исследователи пришли к выводу, что результаты офлайн-оценок следует рассматривать критически.

За пределами точности

Как правило, исследования в области систем рекомендаций сосредоточены на поиске наиболее точных алгоритмов. Однако существует ряд других важных факторов. Разнообразие – Пользователи, как правило, более удовлетворены рекомендациями, когда в списке представлено большее разнообразие, например, элементы от разных исполнителей. Устойчивость рекомендаций – В некоторых случаях эффективнее повторно показывать рекомендации или давать пользователям возможность переоценить элементы, чем предлагать новые. Это обусловлено несколькими причинами. Пользователи могут игнорировать элементы при первом показе, например, из-за нехватки времени на внимательное изучение рекомендаций. Конфиденциальность – Системы рекомендаций обычно сталкиваются с вопросами конфиденциальности, поскольку пользователям приходится предоставлять конфиденциальную информацию. Создание профилей пользователей с помощью коллаборативной фильтрации может быть проблематичным с точки зрения защиты персональных данных. Во многих европейских странах существует сильная культура защиты данных, и любая попытка внедрить профилирование пользователей может вызвать негативную реакцию клиентов. Проведено множество исследований текущих проблем конфиденциальности в этой области. Премия Netflix особенно примечательна из-за подробной личной информации, содержащейся в ее наборе данных. Рамакришнан и др. провели всесторонний анализ компромиссов между персонализацией и конфиденциальностью и обнаружили, что сочетание слабых связей (неожиданных связей, обеспечивающих случайные рекомендации) и других источников данных может быть использовано для идентификации пользователей в анонимизированном наборе данных. Демографические данные пользователей – Биль и др. обнаружили, что демографические характеристики пользователей могут влиять на степень их удовлетворенности рекомендациями. В своей работе они показали, что пожилые пользователи, как правило, проявляют больший интерес к рекомендациям, чем молодые. Надежность – Когда пользователи могут участвовать в работе системы рекомендаций, необходимо решать проблему мошенничества. Неожиданность – Неожиданность (serendipity) – это показатель того, насколько удивительными являются рекомендации. Доверие – Система рекомендаций не имеет ценности для пользователя, если он ей не доверяет. Доверие к системе рекомендаций можно укрепить, объясняя, как она генерирует рекомендации и почему рекомендует тот или иной элемент. Маркировка – Удовлетворенность пользователей рекомендациями может зависеть от их маркировки. Например, в упомянутом исследовании показатель кликабельности (CTR) для рекомендаций с пометкой «Спонсорский» был ниже (CTR = 5,93%), чем для идентичных рекомендаций с пометкой «Органический» (CTR = 8,86%). Рекомендации без маркировки показали наилучший результат (CTR = 9,87%) в этом исследовании.

Воспроизводимость

Системы рекомендаций, как известно, трудно оценивать в автономном режиме, и некоторые исследователи утверждают, что это привело к кризису воспроизводимости в публикациях по системам рекомендаций. Тема воспроизводимости представляется повторяющейся проблемой в некоторых изданиях по машинному обучению, но не оказывает существенного влияния за пределами мира научных публикаций. В контексте систем рекомендаций, статья 2019 года, в которой был проведен опрос небольшого числа тщательно отобранных публикаций, применяющих глубокое обучение или нейронные методы к задаче рекомендации top-k, опубликованных на ведущих конференциях (SIGIR, KDD, WWW, RecSys, IJCAI), показала, что в среднем менее 40% статей могли быть воспроизведены авторами опроса, а на некоторых конференциях – всего 14%. В статье рассматривается ряд потенциальных проблем в современных научных исследованиях и предлагаются улучшенные научные практики в этой области. Более поздние работы по оценке того же набора методов дали качественно очень разные результаты, при этом нейронные методы оказались одними из наиболее эффективных. Глубокое обучение и нейронные методы для систем рекомендаций использовались в выигрышных решениях нескольких недавних задач по системам рекомендаций, таких как WSDM и RecSys Challenge. Более того, нейронные и методы глубокого обучения широко используются в промышленности, где они подвергаются всестороннему тестированию. Констан и Адомавициус заключают, что "исследовательское сообщество систем рекомендаций сталкивается с кризисом, когда значительное количество статей представляет результаты, которые мало способствуют общим знаниям [ ] часто потому, что исследованиям не хватает [ ] оценки, чтобы быть должным образом оцененными и, следовательно, вносить значимый вклад". Как следствие, значительную часть исследований по системам рекомендаций можно считать невоспроизводимой. Следовательно, операторы систем рекомендаций находят мало полезных указаний в текущих исследованиях для ответа на вопрос, какие подходы к рекомендациям следует использовать. Саид и Беллогин провели исследование опубликованных работ в этой области, а также оценили некоторые из наиболее популярных фреймворков для рекомендаций и обнаружили большие несоответствия в результатах, даже при использовании одних и тех же алгоритмов и наборов данных. Некоторые исследователи продемонстрировали, что незначительные изменения в алгоритмах рекомендаций или сценариях приводили к существенным изменениям в эффективности системы рекомендаций. Они пришли к выводу, что для улучшения текущей ситуации необходимо семь действий: Интеграция ИИ в системы рекомендаций ознаменовала значительную эволюцию по сравнению с традиционными методами рекомендаций. Традиционные методы часто полагались на негибкие алгоритмы, которые могли предлагать элементы на основе общих тенденций пользователей или очевидных сходств в контенте. В отличие от них, системы на основе ИИ способны обнаруживать закономерности и тонкие различия, которые могут быть упущены традиционными методами. Эти системы могут адаптироваться к конкретным индивидуальным предпочтениям, предлагая рекомендации, которые лучше соответствуют потребностям пользователей. Этот подход знаменует собой переход к более персонализированным, ориентированным на пользователя предложениям. Системы рекомендаций широко используют методы ИИ, такие как машинное обучение, глубокое обучение и обработка естественного языка. Эти передовые методы повышают возможности системы прогнозировать предпочтения пользователей и более точно предоставлять персонализированный контент. Каждый метод вносит свой уникальный вклад. В следующих разделах будут представлены конкретные модели ИИ, используемые системой рекомендаций, с иллюстрацией их теорий и функциональных возможностей.

Нейронные сети

Искусственная нейронная сеть (ИНС) — это структура модели глубокого обучения, предназначенная для имитации человеческого мозга. Она состоит из ряда нейронов, каждый из которых отвечает за прием и обработку информации, передаваемой от других взаимосвязанных нейронов. Подобно человеческому мозгу, эти нейроны изменяют состояние активации на основе входящих сигналов (входные данные для обучения и обратное распространение ошибки), что позволяет системе корректировать веса активации в процессе обучения сети. ИНС обычно проектируется как «черный ящик». В отличие от традиционного машинного обучения, где базовые теоретические компоненты формальны и жестко определены, совместное влияние нейронов не полностью понятно, но современные эксперименты продемонстрировали предсказательную силу ИНС. ИНС широко используется в рекомендательных системах благодаря своей способности использовать разнообразные данные. Помимо данных обратной связи, ИНС может учитывать данные, не содержащие обратной связи, которые слишком сложны для совместной фильтрации, а уникальная структура позволяет ИНС выявлять дополнительные сигналы в таких данных для улучшения пользовательского опыта. Это относительно новая техника, вдохновленная растущим объемом текстовой информации. В качестве примера применения в рекомендательных системах можно привести отзывы клиентов Amazon. Amazon анализирует комментарии клиентов и предоставляет соответствующую информацию другим клиентам для справки. В последние годы наблюдается развитие различных моделей анализа текста, включая латентный семантический анализ (LSA), сингулярное разложение (SVD), латентное распределение Дирихле (LDA) и другие. Их применение последовательно направлено на предоставление клиентам более точных и персонализированных рекомендаций.