Введение 4
Постановка задачи 6
Обзор литературы 7
Глава 1. Обзор предметной области 9
§1 Развитие рекомендательных систем 10
§2 Обзор существующих решений 12
§3 Классификация рекомендательных систем 14
3.1 Рекомендательные системы на основе коллаборативной фильтрации 14
3.2 Рекомендательные системы, основанные на контенте 16
3.3 Рекомендательные системы, основанные на знаниях 17
3.4 Гибридные рекомендательные системы 18
§4 Сравнение базовых подходов 20
Глава 2. Проектирование рекомендательной системы 24
§1 Обзор алгоритмов 24
1.1 User-based 24
1.2 Item-based 26
1.3 Similarity Fusion 27
1.4 Regression-Based 28
1.5 Slope One 28
1.6 ALS (Alternating Least Squares) 29
§2 Метрики точности 29
2.1 Точность предсказаний 29
2.2 Точность классификации 30
2.3 Точность ранжирования 31
Глава 3. Реализация рекомендательной системы 32
§1 Реализация системы 32
§2 Оценка качества 36
§3 Выводы 38
Заключение 40
Список литературы 41
Последние десятилетия характеризуются бурным развитием сети Интернет: ежедневно в глобальной паутине генерируются и накапливаются колоссальные объемы информации. Пользователю приходится работать с этими данными: обрабатывать, систематизировать, находить релевантные для его информационных потребностей данные. Человеку сложно отобрать интересующую его информацию путем обычного просмотра, так как часто релевантная информация теряется среди больших объемов данных. В связи с этим, создаются инструменты, которые могут помочь человеку в поиске, предлагая тот контент, который предпочтителен для пользователя. Такие программные средства получили название рекомендательные системы.
Рекомендательные системы (англ. recommender systems) - программы и сервисы, которые анализируют интересы пользователей и пытаются предсказать, что именно будет наиболее интересно для конкретного пользователя в данный момент времени. Такие системы показывают предпочтительность контента для конкретного юзера на основе данных, указанных пользователем явно или на основе его взаимодействия с системой. Рекомендательные системы должны обладать следующими свойствами: система должна адаптироваться под конкретного пользователя, так как предпочтения могут значительно отличаться у разных людей; система должна учитывать текущие предпочтения пользователя, подстраиваясь под него со временем; система должна постоянно находить новые области информации и предлагать их пользователю. Все это делает ресурсы, основанные на рекомендательных механизмах, привлекательными для пользователя. С другой стороны, подобные системы интересны и владельцам самих ресурсов, на которых размещаются рекомендательные системы, так как с помощью подобных инструментов повышается привлекательность самого ресурса и его контента.
Рекомендательные системы нашли свое применение во многих сферах жизнедеятельности человека: поиске фильмов и научных статей, розничной торговле, социальных сетях, электронной коммерция, онлайн-банкинге и т.д. Подобная задача применима и к сфере музыкальных рекомендаций. В наше время существует большое количество музыкальных сервисов, на которых размещается еще более внушительное число самих музыкальных композиций. Все это делает задачу ручного поиска и прослушивания музыкальных композиций долгой и ресурсоемкой. Поэтому данная задача приобретает все большую актуальность: зачастую пользователь музыкальных сервисов хочет, чтобы система сама предлагала привлекательные для пользователя композиции.
Работа имеет структуру, состоящую из вводного раздела, трех основных глав и заключительной части. В первой главе приведен предметный обзор области рекомендательных систем. Во второй главе освещена практическая часть работы, проведены исследования алгоритмов. Третья глава посвящена реализации рекомендательной системы, показаны результаты работы и оценки ее точности.
В ходе данной работы были рассмотрены основные виды рекомендательных систем и принципы их построения. Был приведен подробный обзор алгоритмов коллаборативной фильтрации, показаны способы оценки качества подобных подходов.
В качестве базового подхода к решению задачи был выбран метод, основанный на коллаборативной фильтрации и реализованы алгоритмы, основанные как на близости пользователей и объектов, так и на факторизации исходных данных. Лучший результат показал алгоритм ALS, этот факт можно объяснить большой разреженностью исходных данных.
Работа может быть продолжена путем улучшения базовых алгоритмов, экспериментов с построением других гибридных моделей, использования дополнительных метаданных для создания систем, основанных на знаниях и систем на основе контента.
1. Hill W., Stead L., Rosenstein M., Furnas G. Recommending and Evaluating Choices in a Virtual Community of Use // Proceeding Conference Human Factors in Computing Systems, 1995. P. 194-201.
2. Resnick P., Iakovou N., Sushak M., Bergstrom P., Riedl J. GroupLens: An Open Architecture for Collaborative Filtering of Netnews // Proceeding 1994 Computer Supported Cooperative Work Conference, 1994. P. 175-186.
3. Shardanand U., Maes P. Social Information Filtering: Algorithms for Automating «Word of Mouth» // Proc. Conf. Human Factors in Computing Systems, 1995 . P. 210-217.
4. Goldberg D., Nichols D., Oki B. M., Terry D. Using collaborative filtering to weave an information Tapestry // Special issue on information filtering, 1992. Vol. 35, Issue 12 P. 61-70.
5. Adomavicius G., Tuzhilin A. Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions // IEEE Transactions on Knowledge and Data Engineering, 2005. Vol. 17, Issue 6. P 734-749.
6. Celma O. Music Recommendation and Discovery. Springer-Verlag Berlin Heidelberg, 2010. 194 p.
7. Ricci F., Rokach L., Shapira B., Kantor P.B. Recommender Systems Handbook. Springer US, 2011. 842 p.
8. Aggarwal C. C. Data mining. The Textbook. Springer International Publishing, 2015. 734 p.
9. Mango T., Sable C. A comparison of signal-based music recommendation to genre labels, collaborative filtering, musicological analysis, human recommendation, and random baseline // Proceedings of the 9th international conference on music information retrieval, 2008. P. 161-166.
10. Knees P., Pohle T., Schedl M., Widmer G. Combining audio-based similarity with web-based data to accelerate automatic music playlist generation // Proceedings of the 8th ACM international workshop on Multimedia information retrieval, 2006. P. 147-154.
11. Schedl M., Flexer A., Urbano J. The neglected user in music information retrieval research // Journal of Intelligent Information Systems, 2013. Vol. 41, Issue 3. P. 523-539.
12. Gabriel H. H., Spiliopoulou M., Nanopoulos A. Eigenvectop-based clustering using aggregated similarity matrices // Proceedings of the 2010 ACM Symposium on Applied Computing, 2010. P. 1083-1087.
13. Королева Д. Е., Филиппов М. В. Анализ алгоритмов обучения коллаборативных рекомендательных систем // Инженерный журнал: наука и инновации, 2013. Вып. 6. Стр. 1-8.
14. Николенко С.А. Рекомендательные системы. СПб: Изд-во Центр Речевых Технологий, 2012. 53 с.
15. Berry M.W. Large scale singular value computations // International Journal of Supercomputer Applications, 1992. No. 6(1). P. 13-49.
...