УДК 004.67
А.В. Григорьев, Е.А. Заллетин
Донецкий Национальный Технический Университет
кафедра прикладной математики и информатики
E-mail: zapletin.yevhenii@gmail.com
Аннотация
Григорьев А.В., Заллетин Е.А. Основные подходы при создании рекомендательных систем. Рассмотрена классификация подходов для создания рекомендательных систем. Определено назначение и преимущества каждого из подходов. Определены основные проблемы при реализации данных подходов.
Основная задача рекомендательных алгоритмов: анализировать запросы пользователя и на основе этих данных предугадывать его действия.
Наиболее простой способ рассмотреть основную проблему, которую решают алгоритмы рекомендаций можно на примере. В сервисах которые предлагают большой выбор товаров или контента существует проблема длинного хвоста [1]. Данная проблема подходит под категорию распределение Парето (отношение 20% к 80%). Так например 20% видов товаров в интернет-магазинах делают 80% выручки. Пользователи покупают в основном популярные товары, а про существование оставшихся 80% товаров пользователь может даже не знать. Таким образом появляется проблема, когда пользователь может не знать о существовании товара только потому, что он не популярен среди большинства пользователей. Для решения данной проблемы созданы алгоритмы рекомендаций которые персонализируют предложения исходя из данных о пользователях.
Рис. 1. Эффект длинного хвоста.
Существует несколько типов рекомендационных систем[2]:
Системы используют только информацию о действиях пользователя. Основная идея следующая - если пользователи U1 и U2 купили книгу B1, а пользователь U2 купил еще и книгу B2, то логично предположить что книга B2 будет также интересна пользователю B1.
Инновационные перспективы Донбасса
Стоит заметить, что данные системы не учитывают знания и данные про свойства пользователей и предметов рекомендаций. То есть неважно какого именно жанра будут купленные книги и также не имеет значения что пользователь указал в своем профиле что ему интересны книги определенного автора.
Системы данного типа не используют данные о действиях пользователя и только анализируют свойства рекомендуемых предметов и свойства текущего пользователя.
Данные свойства могут быть введены вручную(например пользователь указывает какой жанр книг ему интересен или администратор сайта вводит информацию про книгу: жанр, автор, год издания, и т.д.), автоматически извлекаться из рекомендуемых предметов(например анализ длины текстов в книгах и разделения их на группы: короткие, средние, длинные) и нахождения новых признаков при помощи алгоритмов кластеризации анализируя исходные данные.
Системы из этой группы используют знания про сферу предполагаемых продуктов. Данные системы очень похожи на системы основанные на свойствах пользователя и предметов рекомендаций, и в некоторых источниках данный тип систем является подтипом систем основанных на свойствах.
Основной принцип работы данных систем основан на активном взаимодействии с пользователем(получения обратной связи) и знаниях о сферах рекомендации. Данный тип систем используют в том случае, когда тип 1 и 2 использовать невозможно из-за небольшого количества данных. Примером может служить система рекомендации фотоаппаратов. Как правило, люди покупают новый фотоаппарат только раз в несколько лет, поэтому у каждого конкретного магазина будет недостаточно данных для рекомендации на основе действий пользователя. Также фотоаппараты имеют большое количество характеристик, которые имеют различную важность для пользователей. Для фотографов которые снимают в студии наиболее важно качество съемки, в тоже время для фотографов которые снимают на улице и ведут активный образ жизни также важен вес фотоаппарата, удобство переноски, размер памяти и время автономной работы.
Система рекомендаций данного типа активно взаимодействует с пользователем, но не просит ввести все параметры пользователя вручную. В примере с фотоаппаратами система будет спрашивать пользователя где будет происходит съемка, портретную или пейзажную съемку предпочитает пользователь. Анализируя ответы пользователя система определить наиболее важные для данного пользователя свойства и их оптимальные значения. Знания про сферу рекомендаций изначальной устанавливает администратор системы.
Приведенные ваше системы используют различные подходы к анализу данных и предсказанию результата, тем самым решаю задачу различными способами. На практике, не один из способов в одиночку не может рекомендовать товары или контент с большой эффективностью. Поэтому реальные системы рекомендаций всегда используют несколько подходов к анализу и к рекомендациям.
Гибридные системы объединяют все описанные подходы в единый алгоритм и имеют наибольшую эффективность. Также данные системы наиболее сложны в реализации и проектировании. Сложность заключается в адаптации алгоритмов к конкретной сфере применения рекомендационной системы. Так например в сферах где каждый пользователь сам оценивает предлагаемый контент (каталог фильмов с оценками) наиболее важной частью являются оценки пользователей и анализ их действий. А при использовании рекомендательной системы на сайте интернет магазинов наиболее важными задачами для администратора системы является увеличение прибыли, а значит при создании рекомендации необходимо учитывать фактор цены товаров и необходимости их продать.
Существует несколько способов реализации алгоритма рекомендаций. Однако не один из способов в одиночку не может дать хороших результатов. Поэтому на практике всегда необходимо использовать гибридную систему, которая объединяет несколько способов.