МЕТОДЫ ОЦЕНКИ КАЧЕСТВА РЕКОМЕНДАТЕЛЬНЫХ СИСТЕМ П.С. Павлов
Институт космических и информационных технологий (Россия, г. Красноярск)
Аннотация. В данной статье описываются некоторые типы рекомендательных систем и методы их оценки. Рекомендательные системы являются неотъемлемой частью сервисов, которые предоставляют пользователю какой-либо выбор среди множества альтернатив. Пользуясь каким-либо сервисом, большинство людей даже и не задумываются о том, что же им предоставляет всё новые и новые рекомендации. Данные системы существенно облегчают использование таких сервисов, так как они предоставляют рекомендации на основе информации о пользователе. Особое внимание в статье уделено методам оценки качества рекомендательных систем. Оценка рекомендательных систем необходимо для того, чтобы понять, насколько эффективна та или иная система. Эффективность системы очень важна, так как, чем эффективнее она, тем лучше и качественней рекомендации она предоставляет. Статья разделена на две смысловые части: в первой говорится о том, что такое рекомендательная система, какие виды рекомендательных систем существуют, также описаны преимущества и недостатки каждого из видов, во второй описываются методы оценки рекомендательных систем. Во второй смысловой части говорится о двух методах оценки рекомендательных систем: метод оценки качества рекомендаций и метод оценки качества работы алгоритмов.
Ключевые слова: рекомендательная система, методы оценки, фильтрация, кон-тентная, коллаборативная, Netflix.
Что такое рекомендательные системы? Каждая рекомендательная система направлена на взаимодействие с пользователем, которому предоставляется огромное количество объектов, среди которых он должен сделать свой выбор. Пользователю может не хватать знаний или опыта, или того и другого, чтобы выбрать то, что соответствует его потребностям. Пользователь явно или косвенно предоставляет системе информацию о своих предпочтениях. Таким образом, рекомендательная система представляется в виде системы (программы), использующей определенный алгоритм фильтрации и имеющуюся информацию о потребностях пользователя, чтобы рекомендовать ему набор объектов, которые он считает наиболее полезными для себя [1]. Рекомендательные системы используются в среде электронной коммерции [2], поисковых системах, системах электронного образования [3].
Рекомендательные системы классифицируют по способу отбора необходимого пользователю материала [4]. В
основном применяется два базовых подхода: коллаборативная фильтрация и контентная фильтрация. Также существует гибридная фильтрация, которая совмещает в себе как коллаборативную, так и контентную фильтрацию.
В рекомендательных системах, использующих контентную фильтрацию (фильтрация по содержимому), пользователи не зависят от других пользователей системы [5]. Для формирования рекомендаций системе необходим профиль пользователя с информацией о его интересах. В профиле в определенной форме хранится информация об интересующих пользователя объектах. Система также содержит информацию обо всех предметах, которые она может рекомендовать. Такая система использует описание объектов в профиле пользователя, находит похожие объекты в своей базе данных, а затем рекомендует их ему. Применение фильтрации такого рода очень уместно, когда пользователь имеет четко определенные, конкретные интересы и ищет схожие рекомендации. Преимущество контентной фильтрации
заключается в том, что для начала предоставления рекомендаций не требуется большое количество зарегистрированных пользователей, то есть рекомендации не зависят от других пользователей системы. Основным ограничением данного метода является невозможность системы с таким видом фильтрации рекомендовать новые объекты, не соответствующие интересам пользователя.
Для того, чтобы система имела высококачественную рекомендации, необходимо постоянно обновлять информацию об интересах пользователя. Но существует и другая проблема - пользователь всегда хочет минимизировать время, затрачиваемое на взаимодействие с системой, и неохотно делится информацией для обратной связи с системой. Это типичная проблема для всех рекомендательных систем, и поскольку рекомендации основаны исключительно на информации профиля пользователя, то есть чем меньше информации пользователь предоставляет, тем менее соответствующий набор рекомендаций пользователь получит. В таком случае для решения этой задачи используются автоматические системы сбора информации для поддержки профиля, но это затрудняет реализацию системы. Этот метод фильтрации используется в электронной коммерции. В сочетании с коллабо-ративной фильтрации, используется в таких областях, как электронное образование, программирование и т. д.
Рекомендательные системы, использующие коллаборативную фильтрацию, ищут пользователей с общими интересами и рекомендуют объекты, которые были высоко оценены другими пользователями [5, 6]. Интересы пользователя сохраняются в виде графика предпочтений, который показывает, насколько пользователю нравится тот или иной предмет. Такой системы достаточно для оценки пользователей по выбранной тематике. Преимущество этой системы заключается в том, что система должна знать интересы многих пользователей. Эта система не может создавать рекомендации, основанные только на интересах одного человека.
Главным недостатком коллаборатив-ной фильтрации является «холодное начало». Система не способна эффективно генерировать рекомендации, если большая часть пользователей не укажут свои интересы в профиле.
Гибридные системы обычно сочетают коллаборативную фильтрацию и контентную фильтрацию. Это позволяет решить ряд проблем, которые возникают при использовании этих методов по отдельности. В гибридной системе информация об интересах пользователей представлена в профиле в двух видах -как перечень свойств определенного объекта и как его оценка пользователем. Эта характеристика является как преимуществом, так и недостатком системы. Преимуществом является полнота информации, что позволяет использовать эффективные алгоритмы фильтрации и формировать необходимые рекомендации. Недостатком является то, что пользователь должен ввести больше информации в свой профиль, которая всегда очень неохотно, или не делается вообще.
Качество рекомендательных систем можно определить, оценив качество работы алгоритмов, качество рекомендаций.
Методика оценки качества рекомендаций рекомендательных систем.
Пусть исходные данные: список пользователей и = (щ, ...,ит)и объекты / = (¿1,.,1п) представлены объектно-признаковой таблицей. Каждому пользователю в таблице соответствует одна строка. В ходе взаимодействия пользователей с системой осуществляется заполнение (формирование) данной таблицы. Бинарное отношение Г Ё их / показывает, оценил ли пользователь и £ и объект / £/, которое можно рассматривать как рейтинг ги^ объекта / у пользователя и.
Для оценки качества рекомендаций с точки зрения точности и полноты существует несколько стандартных подходов [5]. Одним из таких подходов является метод скользящего контроля [7]. Использование данного метода заключает-
ся в разбиении исходного набора множества на два подмножества: тестовое и обучающее . Полнота и точность поиска оценивается на тестовой выборке. Каждый элемент тестовой выборки разбивается на две части: на оцененные признаки и неоцененные .
Алгоритм рекомендаций по оценкам пользователей использует сходство объектов из тестовой и обучающей выборки для формирования рекомендаций. Каждый пользователь из получает рекомендации, как множество фиксированного размера
Далее точность и полнота рассчитываются следующим образом:
МАЕ =
Sien \pi~Ri\
(3)
recall =
precision
|ryi(M)nuJnJft¿ddeTl| \u'nIhidden\
|Tyi(M)nuJnJft¿ddeTl| \rn(u)(\lhídden\
(1)
(2)
где и1 - совокупность всех оцененных пользователем и объектов из /. Значения этих мер вычисляются для каждого пользователя и усредняются. Эксперимент проводится для разбиения изначального множества, из которого производится выбор, на тестовое и обучающее множество несколько раз. Значения мер также усредняются. В дополнение к стандартным способам вычисления точности и полноты в статье [8] предлагаются нетрадиционные варианты раскрытия неопределенностей, возникающих при их оценке: | и1 П lhidden=0., то recall=1. Если 1 Г ( u)n/h i d d en и U = 0 ,
то , иначе .
Методика оценки качества работы алгоритмов.
Существует множество метрик для оценки качества алгоритмов. В основном это метрики для оценки точности ожидаемого и реального значения. Рассмотрим некоторые из них: MAE, RMSE.
MAE (Mean Absolute Error, пер. средняя абсолютная ошибка) - ошибка оценивается как разница между расчетной и фактической оценкой по модулю:
RMSE (Root Mean Squared Error, пер. средняя квадратичная ошибка) - ошибка вычисляется как корень из суммы квадратов разниц между предполагаемым и действительным значением:
RMSE =
(4)
Другие характеристики рекомендательных систем также могут быть оценены, но на основе всего перечня рекомендаций. Для этого необходимо иметь информацию о том, какие элементы в списке рекомендаций соответствуют запросу, а какие нет. Исходя из этого, характеристику точности можно представить в виде формулы:
А с сиг а су = , (5)
где, - длина всего списка рекомендаций, - множество соответствующих рекомендаций, - множество несоответствующих элементов в списке - .
Характеристику полноты, в свою очередь, можно представить в виде следующей формулы:
Re call =
imi
||r|| + ||G||'
(б)
где, G - множество элементов, которые должны были быть порекомендованы, но не оказались в списке. Вычислительный эксперимент В октябре 2006 года Netflix, крупная фирма по аренде DVD, проводила открытое соревнование на лучший алгоритм предсказания оценки, которую зритель поставит фильму, на основе предыдущих оценок этого и других зрителей. Главный приз составлял $1000000. В Netflix используется алгоритм, основанный на линейной регрессии, который называется Cinematch.
Тривиальный алгоритм, который ставит фильму среднюю оценку, даёт среднеквадратичное отклонение (СКО) 1,0540. Алгоритм Cinematch, который
использует данные, предоставленные участникам соревнования, даёт СКО 0,9525 на тестовом множестве. Это значит, что он на 10% лучше тривиального алгоритма.
Конечно, были споры по поводу того, действительно ли уменьшение ошибки на 10% поможет пользователям? По мнению одного из участников соревнования, улучшение ошибки даже на 0,01 существенно изменит список 10 рекомендованных фильмов.
Всем участникам были предоставлены 4 файла:
- Тренировочные данные, в котором были оценки каждого клиента, о каждом фильме;
- Квалификационные данные, которые содержали информацию о том какой пользователь, какой фильм, когда оценил;
- Названия и годы выхода фильмов;
- Фрагмент тренировочной базы данных, распределённый так же, как квалификационные данные.
Никакой информации о пользователях, в базах данных, не было предоставлено участникам в целях конфиденциальности пользователей. Некоторые квалификационные и тренировочные данные были намеренно изменены в тех же целях.
Каждый год лучшей команде выдавался приз в $50000, если не было достигнуто главной цели.
Спустя почти три года (26.07.2009) соревнование было прекращено, победа и приз были присвоены команде «Bellkor's Pragmatic Chaos», которая улучшила алгоритм на 10,09% и уменьшила СКО до 0,8554. Церемония награждения и объявление результатов состоялись 21 сентября 2009.
Из всего этого следует, качество рекомендательной системы зависит от качества алгоритмов. Если улучшить качество алгоритмов, то улучшится качество рекомендаций, а это значит, что
рекомендательная система станет более эффективной. В рекомендательной системе фирмы Netflix, используется кол-лаборативная фильтрация. Несмотря на все недостатки такой фильтрации, если улучшить её алгоритм, можно получать достаточно точные рекомендации.
Проведём эксперимент, оценим качество рекомендаций рекомендательной системы NetFlix, для этого зарегистрируемся на сайте "КиноПоиск" [www.kinopoisk.ru]. Для оценки качества рекомендаций по полноте используем формулу:
,, \гп(ц) П U7 П I hidden \ recall =-—j—----
\и ^'hidden I
Так как мы только зарегистрировались и ничего не заказывали и не искали, то и7 = 0. Из этого следует, что I и7 п /шden I = 0 , а это значит, что re са/ / = 1.
Оценим качество рекомендательной системы по точности. При первом входе в систему количество рекомендаций и неоценённых объектов, то есть объекты, которые пользователь не просматривал, равно количеству объектов в этой системе, то есть rn (и) = 107 и / h¿ dde n =
Из этого следует, что /hidden#0 . Так как мы только зарегистрировались и ничего не заказывали и не искали, то и7 = 0. Значит, pre eis i on = 0.
Если посмотреть на результаты оценки качества рекомендательной системы, использующей коллаборативную фильтрацию, то можно понять, что в ней есть проблема "холодного начала". Система не способна эффективно генерировать рекомендации, если большая часть пользователей не укажут свои интересы в профиле. То есть, в данном случае пострадала точность, так как при создании аккаунта не были указаны интересы пользователя и схожих пользователей не обнаружилось.
Библиографический список
1. Jannach D., Zanker M., Felfernig A. Friedrich G. Recommender Systems. An Introduction. New York: Cambridge University Press 32 Avenue of the Americas, 2011. 352 P.
2. Вахрушева М.Ю., Евдокимов И.В. Разработка программного обеспечения аналитических информационных систем // Труды Братского государственного университета. Серия: Экономика и управление. 2014. Т. 1. № 1. С. 196-199.
3. Кокташев В.В., Макеев В.В., Михалев А.С. Применение систем управление инцидентами для разработки программного обеспечения в образовании // Современные информационные технологии. 2017. №4 (30). С. 129-135.
4. Джонс Т.М. Рекомендательные системы. Часть 1. Введение в подходы и алгоритмы. [Электронный ресурс]: https://www.ibm.com/developerworks/ru/library/os-recommender1/ (дата обращения: 11.05.2018).
5. Melville P., Sindhwani V. Recommender systems. Encyclopedia of Machine Learning. 2010.
6. Su X., Khoshgoftaar Survey of Collaborative Filtering Techniques. Advances in Artificial Intelligence. 2009.
7. Воронцов К.В. Комбинаторный подход к оценке качества обучаемых алгоритмов. Математические вопросы кибернетики / Под ред. О.Б. Лупанова. - М.: Физмат-лит, 2004. - Т. 13. - С.5-36.
8. Игнатов Д.И., Каминская С.Ю., Магизов Р.А. Метод скользящего контроля для оценки качества рекомендательных Интернет-сервисов // Труды 12-й национальной конференции по искусственному интеллекту, М., Физматлит, Т. 1., С.183-191, 2010.
9. Netflix. [Электронный ресурс]: https://www.netflix.com/ru/ (дата обращения: 11.05.2018).
10. Евдокимов И.В. Процедура идентификации как этап создания систем управления и принятия решений // Проблемы социально-экономического развития Сибири. 2012. № 4. С. 14-18.
METHODS OF ASSESSMENT OF THE QUALITY OF RECOMMENDATION
SYSTEMS
P.S. Pavlov
Institute of space and information technology (Russia, Krasnoyarsk)
Abstract. This article describes some types of recommendation systems and methods for their evaluation. Recommendation systems are an integral part of services that provide the user with a choice among a variety of alternatives. Using a service, most people do not even think about what gives them more and more new recommendations. These systems greatly facilitate the use of such services, since they provide recommendations based on user information. Particular attention is paid in the article to methods for assessing the quality of reference systems. Evaluation of advisory systems is necessary in order to understand how effective this or that system is. The effectiveness of the system is very important, since the more effective it is, the better and more qualitative recommendations it provides. The article is divided into two semantic parts: the first one deals with what is the recommendation system, which types of recommendation systems exist, the advantages and disadvantages of each species are also described, the second describes methods for evaluating the recommendation systems. In the second semantic part, two methods for evaluating recommendatory systems are described: the method for assessing the quality of recommendations and the method for evaluating the quality of work of algorithms.
Keywords: advisory system, assessment methods, filtering, content, collaborative, Net-flix.