1. Введение 4
1.1. Рекомендательные системы 4
1.2. Измерение результатов 6
2. Постановка задачи 8
3. Обзор рекомендательных систем 9
3.1. Контентно-ориентированные 9
3.2. Коллаборативные 9
3.3. Гибридные 10
4. Коллаборативный подход 11
4.1. Алгоритм 11
4.2. Инструменты 12
4.3. Реализация 12
5. Контентно-ориентированный подход 14
5.1. Алгоритм 14
5.2. Реализация 15
6. Гибридный подход 16
7. Измерение результатов 17
7.1. Описание методов 17
7.2. Распределение данных 17
7.3. Пользователи с двумя конференциями 18
7.4. Пользователи, у которых больше двух конференций ... 19
7.5. Гибридный алгоритм 22
Заключение 27
Список литературы 28
Ученые во время проведения своих исследований сталкиваются с проблемой поиска научных конференций для нахождения релевантных статей и публикации собственных исследований. При этом количество статей, конференций и публикаций постоянно растет. Решением этой проблемы может выступать рекомендательная система, которая для конкретного исследователя будет рекомендовать релевантные для него конференции.
1.1. Рекомендательные системы
Рекомендательные системы предсказывают, какие объекты могут быть интересны пользователю, исходя из его профиля и информации об объектах. Три самых популярных метода реализации — это колла- боративная фильтрация, контентно-ориентированный подход и объединение этих двух методов — гибридный подход.
Коллаборативная фильтрация Основная идея коллаборативной фильтрации состоит в том, чтобы вычислять рекомендации на основе оценок объектов пользователями. При это существуют две разновидности этой техники.
Первая — memory-based. В данной технике строиться матрица “пользователи - объекты”, где Mui обозначает рейтинг пользователя и, данный объекту i. Потом для каждого объекта считается рейтинг по формуле
rui = ∑v∈Ni wivruv / ∑v∈Ni |wiv|
где rui - предсказанный рейтинг объекта i для пользователя u, wiv - вес между объектами i и v, Ni - к ближайших объектов к i по весу. Знаменатель используется для нормализации и является опциональным. Для измерения веса может использоваться, например, косинус или корреляция. Если вес считается между пользователями, то данный подход называется user-based, если между объектами, то item-based.
Вторая - model-based. В этой технике строится модель, используя алгоритмы машинного обучения такие, как SVD [18], нейронные сети [10], генетические алгоритмы [3] и так далее.
Основная проблема, возникающая при коллаборативном подходе - проблема холодного старта. Это ситуация, когда появляется новый объект, у которого нет оценок, или новый пользователь, который не оценил ни один объект.
Контентно ориентированный подход Контентно-ориентированный подход в отличие от коллаборативной фильтрации использует внутренние свойства объектов, а не оценки пользователей. Для фильмов, например, это могут быть жанр, актёры, длительность и так далее. Объект представляется как вектор, представляющий эти свойства. Соответственно в общем данный подход можно разбить на 3 части [6]:
• Content-analyzer — выделяет свойства и приводит их к числовому виду
• Profile-learner — обучается на этих данных, либо строит матрицу весов
• Filtering component — рекомендует объекты, используя прошлый компонент и профиль пользователя
При данном подходе главной проблемой являются выбор свойств и привидение их к численному виду. Для привидения текстовой информации к векторному представлению часто используется TF-IDF [11].
Гибридный подход Гибридный подход совмещает несколько алгоритмов, для того, чтобы избавиться от их недостатков и совместить достоинства. Существует несколько вариантов объединения результатов, например, взвешенная сумма, объединение или пересечение результатов, передача результатов одного алгоритма в другой.
1.2. Измерение результатов
Методы оценки качества рекомендательных алгоритмов можно разделить на два вида: те, которые используют реальных пользователей (Online), и те, которые используют сохраненные статические данные о пользователях и объектах (Offline). [15]
К первому типу можно отнести A/B тесты и опрос пользователей. A/B тестом называется исследование, при котором пользователей разбивают на две группы. Первая группа использует один алгоритм, вторая другой, и производится измерение качества по выбранной метрике на каждой группе.
Ко второму типу относится кросс-валидация. Это тип исследования качества алгоритма, при котором уже сохраненные, статические данные разбиваются на k частей. Одно часть называется тестовой — на ней проводится измерение качества работы алгоритма по метрике. Остальные части называются тренировочными. На них производится обучение алгоритма.
Метрики качества работы Существует несколько метрик для оценки качества работы рекомендательного алгоритма, среди них можно выделить:
• Среднеквадратичная ошибка (MSE) — E(0` — 0)2, где 0` — предсказанное, а 0 — истинное значение
• Средняя абсолютная ошибка (MAE) — E|0` — 0|, где 0` — предсказанное, а 0 — истинное значение
• Precision-recall кривая — график, где на одной оси находится precision, а на другой — recall. Precision — статистическая метрика, вычисляемая по формуле:
Precision = True positives / (True positives + False positives)
Recall также является статистической метрикой:
Recall = True positives / (True positives + False negatives)
Количественной мерой, показывающей качество алгоритма является площадь под графиком (AU-PR). Максимально возможным значением является единица, в таком случае precision равен единице при любом recall. Это обозначает, что сначала рекомендуются все релевантные объекты.
• ROC-кривая — график, показывающий отношение между True positive rate (True positive rate = True positive/Positive) и False positive rate (False positive rate = False positive/ Negative). Мерой качества также является площадь под графиком (AUC). У идеального алгоритма она также равна единице.
• Была реализован гибридный рекомендательный алгоритм, состоящий из коллаборативного и контентно-ориентированного подхода.
• Было проведено тестирование с использование метрик precision и recall. По результатам тестирования гибридная модель превзошла коллаборативную. При этом лучший прирост она показала для пользователей с небольшим числом конференций.
• Итоговая формула для гибридной системы: rh = 0.8 * rcf +0.2 * rcb
• Код работы доступен по адресу: [8].
[1] Combining content-based and collaborative filters in an online newspaper / Mark Claypool, Anuja Gokhale, Tim Miranda et al. // Proceedings of ACM SIGIR workshop on recommender systems / Citeseer. — Vol. 60. — 1999.
[2] DBLP. — 2016. — May. — URL: http://dblp.uni-trier.de/.
[3] Ho Yvonne, Fong Simon, Yan Zhuang. A Hybrid GA-based Collaborative Filtering Model for Online Recommenders // ICE- B 2007 - Proceedings of the International Conference on e-Business, Barcelona, Spain, July 28-31, 2007, ICE-B is part of ICETE - The International Joint Conference on e-Business and Telecommunications. — 2007. — P. 200-203.
[4] Lang Ken. NewsWeeder: Learning to Filter Netnews // Machine Learning, Proceedings of the Twelfth International Conference on Machine Learning, Tahoe City, California, USA, July 9-12, 1995.— 1995. — P. 331-339.
[5] Linden Greg, Smith Brent, York Jeremy. Amazon.com Recommendations: Item-to-Item Collaborative Filtering // IEEE Internet Computing.— 2003.— Vol. 7, no. 1.— P. 76-80.— URL: http://dx.doi.org/10.1109/MIC.2003.1167344.
[6] Lops Pasquale, de Gemmis Marco, Semeraro Giovanni. Content-based Recommender Systems: State of the Art and Trends // Recommender Systems Handbook.— 2011.— P. 73-105.— URL: http://dx.doi. org/10.1007/978-0-387-85820-3_3.
[7] Mooney Raymond J., Roy Loriene. Content-based book recommending using learning for text categorization // ACM DL. — 2000. — P. 195204. — URL: http://doi.acm.org/10.1145/336597.336662.
[8] Pesults.— 2016. — May.— URL: https://github.com/Ershov-Alexander/rec_sys_for_sci_conf.
[9] Pytables. — 2016. — May. — URL: http://www.pytables.org/.
[10] Roh Tae Hyup, Oh Kyong Joo, Han Ingoo. The collaborative filtering recommendation based on SOM cluster-indexing CBR // Expert Syst. Appl. — 2003. — Vol. 25, no. 3. — P. 413-423. — URL: http://dx.doi. org/10.1016/S0957-4174(03)00067-8.
[11] Science Concierge: A fast content-based recommendation system for scientific publications / Titipat Achakulvisut, Daniel E Acuna, Tulakan Ruangrong, Konrad Kording // arXiv preprint arXiv:1604.01070. - 2016.
[12] Scikit-learn. — 2016.--May. — URL: http://scikit-learn.org/ stable/.
[13] Scipy. -- 2016. -- May. -- URL: https://www.scipy.org/.
[14] Scipy sparse matrix. -- 2016. -- May. -- URL: http://docs.scipy. org/doc/scipy/reference/sparse.html.
[15] Shani Guy, Gunawardana Asela. Evaluating Recommendation Systems // Recommender Systems Handbook.-- 2011.-- P. 257-297. — URL: http://dx.doi.org/10.1007/978-0-387-85820-3_8.
...