Тип работы:
Предмет:
Язык работы:


Создание рекомендательной системы фильмов

Работа №127862

Тип работы

Магистерская диссертация

Предмет

математика и информатика

Объем работы45
Год сдачи2021
Стоимость5500 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
70
Не подходит работа?

Узнай цену на написание


Введение 3
Постановка задачи и целей 7
Обзор литературы 9
Глава 1. Теоретическая основа для создаваемой рекомендательной системы 12
1.1. Нейронная коллаборативная фильтрация 12
1.2. Обработка естественного языка 14
1.2.1. Векторное представление документов 15
1.3. Нейронные сети 17
1.3.1. Обучение нейронных сетей 20
1.3.2. Метрики 24
Глава 2. Разработка рекомендательной системы 27
2.1. Данные о фильмах и пользователях 27
2.2. Схема реализации 29
2.3. Реализация прототипа системы 30
Заключение 41
Список литературы 43

В современном мире никого не удивить персональными предложениями. Это могут быть предложения скидок как на весь ассортимент, так и на определенный товар, который должен быть наиболее точно подобран под пользователя — адресата предложения. Также, к примеру говоря о развлекательной сфере, людям будет всегда приятно получать уведомления о концертах исполнителей, потенциально им интересных, и чем точнее они соответствуют вкусам каждого человека, тем выше шанс улучшения продаж. Для реализации подобного существует различные решения, применимые как в целом для любой сферы, так и узкоспециализированные. В данной работе будет рассматриваться один из общих вариантов — рекомендательная система.
Рекомендательные системы (РС) — программы, которые пытаются предсказать, какие объекты (фильмы, музыка, книги, новости, веб-сайты) будут интересны пользователю, имея определенную информацию о его предпочтениях [1]. Далее будет идти речь о рекомендательной системе для фильмов, однако теоретически все РС похожи, и объект рекомендаций в большей степени влияет на технические детали при реализации.
Существует множество уже реализованных и применяющихся в реальных условиях систем рекомендаций. К сожалению, невозможно создать одну универсальную систему рекомендации. Во-первых, необходимо учитывать имеющуюся информацию и особенности объектов рекомендаций. Во-вторых, в действительность ни одна система не будет работать с объектами, разными по своему основному определению, то есть рекомендательная система книг не должна уметь рекомендовать блюдо на ужин, в подобном не будет смысла. Также стоит отметить, что рекомендации — субъективная вещь, а следовательно, в данной области все еще существует большой простор для исследований. К примеру, в связи с активным развитием машинного обучения и нейронных сетей, эти инструменты все более часто применяются для разработки новых и улучшения уже имеющихся рекомендательных систем. Также, далее в данной работе будет предлагаться использовать нейронные сети.
Однако, для начала рассмотрим давно существующие и до сих пор активно использующиеся подходы в рекомендательных системах. В них не применяется сложных техник упомянутого машинного обучения, однако эти системы выдают качественные рекомендации. Итак, существует две основные стратегии создания рекомендательных систем — фильтрация на основе содержания и коллаборативная фильтрация.
Рассмотрим первый вариант — фильтрация на основе содержания. При данном варианте система рекомендации работает с данными об объектах рекомендации, то есть, в контексте этой работы, о фильмах, и может не иметь почти никакой информации о пользователях, помимо их взаимодействий с этими объектами. На основе имеющихся данных создается профиль пользователя, который затем используется для внесения ему предложений. Система выбирает фильмы, аналогичные тем, для которых пользователь уже выразил предпочтение. Поскольку со временем пользователь предоставляет больше входных данных и предпринимает действия по этим рекомендациям, система становится все более и более точной.
Следующий подход — коллаборативная фильтрация [2]. В данном случае рекомендательная система использует принцип, что если пользователям нравились одни и те же, или сильно похожие, объекты, то и дальше их поведение будет совпадать. Соответственно, при данном подходе можно не использовать большого объема информации об объектах, а исходить только из пользовательских оценок объектов. Далее приведем наглядный пример. Пусть есть пользователи U1 и U2, и пользователь U1 посмотрел фильмы M1, M2, M3, M4, а пользователь U2 посмотрел фильмы M2, M3, M4, M5. Так как для обоих пользователей 3 из 4 фильмов общие (M2, M3, M4), то пользователю U1 можно порекомендовать фильм M5, а пользователю U2 — фильм M1.
В данной работе планируется рассмотреть отличный от описанных выше подход. Большой упор будет делаться на способы обработки информации и средство получения предсказаний пользовательских оценок. Однако, в упомянутых способах фильтрации заложена главная идея, которой стоит придерживаться при создании рекомендательных систем, а именно поиск пользователей с похожими предпочтения и рекомендация им фильмов, которые нравятся одному и не просмотрены другим, а также определение похожесть фильмов для рекомендации людям похожего на просмотренное ими кино.
Говоря о практическом применении, существует множество интернет- ресурсов с информацией о фильмах, на которых пользователи могут выставлять оценки просмотренным фильма. Чтобы не тратить время на поиски следующего фильма для просмотра, у пользователей подобных сайтов есть потребность в рекомендательной системе. Соответственно, созданная в рамках данной работы рекомендательная система может использоваться на упомянутых сайтах в качестве основного ядра для функциональности их системы показа рекомендаций.
Также, затрагивая тему применения полученной в этой работе системы, стоит заметить, что, учитывая различные уже имеющиеся базы данных фильмов и пользователей на интернет-ресурсах про кино, где как раз и возможно использование рекомендательной системы, любая такая система будет нуждаться, как минимум, в дообучении или перенастройке для корректной работы, то есть для хороших рекомендаций пользователям из конкретной базой данных конкретного сайта. И соответственно, рекомендательная система довольно легко может масштабироваться с помощью обновления баз данных новыми пользователями и фильмами. В зависимости от системы может потребоваться некоторая обработка новых добавленных в базу данных.
В системе, созданной в ходе этой работы в главе 2, средством получения рекомендации будут нейронные сети. Данный подход называется нейронная коллаборативная фильтрация и описан в статье “Neural Collaborative Filtering” [3]. Однако, планируется его модернизировать и также применить больше средств обработки информации, а именно обработку естественного языка [4] для информации о фильмах. Подробное описание планируемого подхода представлено в главе 1.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В рамках данной работы были изучены существующие и давно применяющиеся методы, а также появляющиеся с развитием машинного обучения концепции по реализации рекомендательных систем.
В рамках практического эксперимента были найдены необходимые для рекомендательной системы фильмов данные. Далее, были выбраны и изучены способы их обработки, а именно обработка естественного языка. После, для найденных данных о фильмах, пользователях и их оценках была реализована изученная обработка.
Затем, основываясь на изученных публикациях, была разработана архитектура нейронной сети для нейронной коллаборативной фильтрации. Описывая подробнее, был осуществлен подбор параметров сети, например количество нейронов на уровне, а также разработаны входные слои с учетом изменений в данных в связи с описанными в работе их преобразованиями, связанными с обработкой естественного языка.
Далее, полученная модель была реализована и обучена. После оценки качества получившейся обученной нейронной сети, была также произведено ее сравнение с уже существующей не преобразованной реализацией НКФ. В результате проделанной работы, можно утверждать, что получен прообраз рекомендательной системы фильмов, не уступающий существующим аналогам. Более того, привнесенные изменения его улучшили.
Затем, в модели были произведены дополнительные изменения, связанное со шкалой оценок фильмов. А именно, для нейронной сети были заново подобраны параметры, а также изменен выходной слой. После этого, новая модель, по аналогии с первой, была реализована, обучена, а ее качество оценено метриками. Показатели измененной полученной рекомендательной системы можно считать успешными, а эксперимент удачным.
Подводя итоги, можно заключить, что была проделана работа по изучению задачи о создании рекомендательных систем и об осуществлении рекомендаций в целом. Также были изучены как давно существующие подходы к созданию рекомендательных систем, так и новые исследования в этой области.
В рамках данной работы были изучены теоретические аспекты выбранного подхода для создания рекомендательной системы. Помимо этого, была предложена своя вариация обработки данных для реализуемой системы. Это было сделано на основе изученной обработке естественного языка.
Также, большую часть данной работы составляет создания своего варианта рекомендательной системы: выбранный подход и все модификации были реализованы и протестированы, а полученные результаты свидетельствуют об ожидаемом успехи при применении в реальных условиях созданного варианта нейронной коллаборативной фильтрации и её модификаций.


1. Jannach, D., M. Zanker, A. Felfernig and G. Friedrich, 2010. Recommender Systems: An Introduction. Cambridge: Cambridge University Press.
2. Su, X. and T.M. Khoshgoftaar, 2009. A survey of collaborative filtering techniques. Advances in Artificial Intelligence.
3. He, X., L. Liao, H. Zhang, L. Nie, X. Hu and T.S Chua, 2017. Neural Collaborative Filtering. Proceedings of the 26th International Conference on World Wide Web, International World Wide Web Conferences Steering Committee.
4. Гольдберг Й., Нейросетевые методы в обработке естественного языка. ДМК-Пресс, 2019 г., 282 с.
5. Cheng, H.T., J. Harmsen, L. Koc, T. Shaked, T. Chandra and others, 2016. Wide & deep learning for recommender systems. Proceedings of the 1st Workshop on Deep Learning for Recommender Systems, ACM, pp: 7-10.
6. Covington, P., J. Covington and E. Sargin, 2016. Deep Neural Networks for YouTube Recommendations. Proceedings of the 10th ACM Conference on Recommender Systems, ACM, pp: 191-198.
7. Zhang, F., N.J. Yuan, D. Lian, X. Xie and W.Y. Ma, 2016. Collaborative Knowledge Base Embedding for Recommender Systems. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery, KDD, pp: 353-362.
8. Wang, H., N. Wang and D.Y. Wang, 2015. Collaborative Deep Learning for Recommender Systems. Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, ACM.
9. Хайкин С., Нейронные сети. Полный курс. 2 изд. Вильямс, 2018. 1104 с.
10. Le, Q. and T. Mikolov, 2014. Distributed Representations of Sentences and Documents. Proceedings of the 31st International Conference on Machine Learning, PMLR, pp: 1188-1196.
11. Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. Москва, 2002 г., 382 с.
12. Паттерсон Дж., Гибсон А. Глубокое обучение с точки зрения практика. ДМК Пресс, 2018 г., 418 с.
13. Глебов Н. И., Ю.А. Кочетов, А. В. Плясунов. Методы оптимизации. Новосибирск: НГУ, 2000. 105с.
14. Goodfellow, I., Y. Bengio and A. Courville, 2016. Deep Learning. MIT Press.
15. Николенко С., Кадурин Е., Архангельская А., Глубокое обучение. Погружение в мир нейронных сетей. Питер, 2018 г., 480 с.
...


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ