Н.В. Меньшикова Обзор рекомендательных систем и возможностей учета контекста при формировании индивидуальных рекомендаций / Н.В. Меньшикова, И.В. Портнов, И.Е. Николаев // Журнал «Academy», ООО «Олимп», номер 6(9), 2016 [Ссылка]

Обзор рекомендательных систем и возможностей учета контекста при формировании индивидуальных рекомендаций

Меньшикова Н.В., Портнов И.В., Николаев И.Е.

Меньшикова Надежда Васильевна / Menshikova Nadezhda Vasil'evna – магистр; Портнов Иван Владимирович / Portnov Ivan Vladimirovich – магистр; Николаев Иван Евгеньевич / NikolaevIvan Evgen'evich – преподаватель, кафедра информационных технологий и экономической информатики, Институт информационных технологий, Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Челябинский государственный университет, г. Челябинск

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

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

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

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

Традиционная рекомендательная система имеет дело с двумя видами сущностей: пользователь и объект. Здесь пользователь - это получатель рекомендации и источник данных о предпочтениях, а объект - в зависимости от предметной области - товар, фильм, музыкальный трек, книга, новость, вебсайт, то есть то, что предлагается пользователю в качестве рекомендации [2]. В общем виде задачу рекомендательной системы можно сформулировать как «определение объекта, ранее неизвестного пользователю (или неиспользуемого им в течение какого-либо промежутка времени), но полезного или интересного ему в текущем контексте».

Существуют различные подходы к разработке рекомендательных систем, которые могут применяться в зависимости от:

  • доступных данных о пользователях и рекомендуемых сущностях;
  • видов явной и неявной обратной связи от пользователей;
  • предметной области [3].

Можно выделить три основных типа рекомендательных систем: фильтрация содержимого, коллаборативная фильтрация и гибридные системы.

При фильтрации содержимого (контентная фильтрация, content-based filtering) создаются профили пользователей и объектов. Профили пользователей могут включать демографическую информацию или ответы на определённый набор вопросов [4]. Профили объектов могут включать названия жанров, имена актёров, имена исполнителей и тому подобное - в зависимости от типа объекта. Пользователю рекомендуются объекты, похожие на те, которые этот пользователь уже употребил. Похожести оцениваются по признакам содержимого объектов. Главными проблемами таких систем являются сильная зависимость от предметной области, а также тот факт, что полезность рекомендаций ограничена.

При коллаборативной фильтрации (совместная фильтрация, collaborative filtering) используется информация о поведении пользователей в прошлом - например, информация о покупках или оценках. Такие системы основаны на схожести предпочтений пользователей. В этом случае не имеет значения, с какими типами объектов ведётся работа, но при этом могут учитываться неявные характеристики, которые сложно было бы учесть при создании профиля. Основное допущение метода состоит в следующем: те, кто одинаково оценивали какие-либо предметы в прошлом, склонны давать похожие оценки другим предметам и в будущем. Прогнозы составляются индивидуально для каждого пользователя, хотя используемая информация собрана от многих участников. Основная проблема этого типа рекомендательных систем — «холодный старт»: отсутствие данных о недавно появившихся в системе пользователях или объектах [5].

Гибридные подходы (hybrid) сочетают коллаборативную и контентную фильтрацию, повышая эффективность (и сложность) рекомендательных систем. Объединение результатов коллаборативной и контентной фильтрации потенциально позволяет повысить точность рекомендаций [6]. Кроме того, гибридный подход может быть полезен, если применение коллаборативной фильтрации начинается при значительной разреженности данных («холодный старт»). Гибридный подход позволяет сначала взвешивать результаты согласно контентной фильтрации, а затем смещать эти веса по направлению к коллаборативной фильтрации (по мере наполнения доступного набора данных по конкретному пользователю).

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

Под контекстом будем понимать атрибуты, так или иначе описывающие ситуацию, в которой пользователь оценил объект или получает рекомендации [2]. То есть в рамках систем могут быть учтены 2 вида контекста:

  • контекст, в котором происходит фиксация предпочтений пользователя;
  • контекст, в котором происходит формирование рекомендаций.

Очевидно, что учет контекста, в котором происходит фиксация предпочтений пользователя, имеет смысл в случае, если условия, в которых пользователь оценивает объект, существенным образом влияют на оценку [8]. Можно выделить следующие основные виды контекста, которые могут быть использованы в рекомендательных системах, в первую очередь, в мобильных:

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

Ряд исследователей, применивших свои рекомендательные системы на практике отмечают, что наиболее эффективно работает система, которая использует для построения рекомендаций данные о текущем пользователе, о поведении всех пользователей в целом, о свойствах рекомендуемых продуктов и о контексте текущего интереса пользователя [1, 3]. Рассмотрим варианты использования контекста на примере музыкальных сервисов, предлагающих своим пользователям треки для прослушивания.

  1. На данный момент многие музыкальные ресурсы уже формируют свои подборки, учитывая время суток: в зависимости от времени предлагаются сборники «Заснуть», «Проснуться», «Фоновая музыка».
  2. Добавив отслеживание географического положения пользователя, сервисы рекомендуют подборки «Дома», «На работе», «За городом», «Путешествие» и так далее.
  3. Используя информацию о подключенных устройствах (наушники или колонки), можно предположить, слушает пользователь музыку один или ее может слышать кто-то еще.
  4. Существует ряд разработок, которые определяют по данным с акселерометра и GSM мобильного устройства вид текущей активности пользователя [9]. Используя эту информацию, рекомендательная система может предлагать динамичную либо, наоборот, более спокойную музыку.

Таким образом, учет контекста при формировании предложений является одним из самых перспективных направлений развития рекомендательных систем. Использование информации о контексте может помочь в решении проблем, характерных для большинства существующих систем: холодного старта (при появлении нового пользователя выносить рекомендации можно как на основе данных о его социально-демографическом портрете, так и о его текущем состоянии и виде деятельности), предсказание для нетипичных пользователей (учет большего числа индивидуальных характеристик позволит лучше персонифицировать рекомендации), тривиальность рекомендаций, «пузырь фильтров» (учет контекста позволит не ограничиваться только прошлыми точками зрения пользователей). Однако с учетом контекста в рекомендательных системах по-прежнему остается и даже обостряется проблема ресурсоемкости вычислений.

Литература

  1. Джонс М. Т. Принципы работы рекомендательных механизмов Интернета. [Электронный ресурс]. IBM developerWorks, 2014. URL: https://www.ibm.com/developerworks/ru/library/os-recommender1/.
  2. Пономарев А. В. Обзор методов учета контекста в системах коллаборативной фильтрации // Труды СПИИРАН, 2013. № 7 (30), С. 169-188.
  3. Михайловский Н. Анатомия рекомендательных сервисов. [Электронный ресурс]. Centrobit, 2013, URL: http://centrobit.ru/blog/.
  4. Дзюба А. А. Рекомендации треков в социальных сетях: магистр. дисс. / Александр Александрович Дзюба; Санкт-Петербургский Государственный Университет, 2012.
  5. Koren Y., Bell R. Advances in Collaborative Filtering // In Recommender Systems Handbook. Ricci F., Rokach L., Shapira B., Kantor P.B. (eds.) Springer, 2011. P. 145-186.
  6. Гомзин А., Коршунов А. Системы рекомендаций: обзор современных подходов // Препринт. Москва: Труды Института системного программирования РАН, 2012. 20 с.
  7. Деньжаков А. Ю., Шибанов С. В., Хмелевской Б. Г. Задачи и методы коллаборативной фильтрации // Труды Международного симпозиума «Надежность и качество», Пенза, 2010. С. 50-55.
  8. Ricci F. Contextualizing Useful Recommendations. [Электронный ресурс]. UniBz, 2012. URL: http://www.inf.unibz.it/~ricci/Slides/Context-UMAP-2012-Ricci.pdf.
  9. Adomavicius G., Mobasher B., Ricci F., Tuzhilin A. Context-aware recommender systems // AI Magazine, 2011, Vol. 32(3), P. 67-80.
  10. Шнайдер Х. Распознавание физической активности пользователей по данным от их мобильных телефонов. [Электронный ресурс]. IBM developerWorks, 2014. URL: https://www.ibm.com/developerworks/ru/library/ba-mobile-phone-activity.