移动推荐系统方法研究毕业论文
2020-03-30 12:15:57
摘 要
如今电影作为人们娱乐生活中不可欠缺的一部分,并且随着网络的迅速发展,各种各样的电影呈现在我们面前,我们会花费太多时间思考去看哪一部电影并且找到适合自己的电影。所以实现一个电影推荐系统非常必要,该系统根据大众的喜好和使用者的喜好来判断使用者可能喜欢的电影,能让大众短时间找出合适自己且质量高的电影。该系统首先是利用网络爬虫获得豆瓣网站上的数据作为数据支撑。系统会把使用者的数据和后台的数据保存到数据库中,通过获取数据库的数据建立初始稀疏矩阵。在建立矩阵时,会把使用者没看过的电影保存到一个数组中,然后系统会通过矩阵分解算法将预测出使用者对没看过的电影的评分,根据预测出的评分高低来向他推荐评分高的电影。系统得到了实现并且能够很好的向使用者推送使用者所喜欢的电影。
关键词:电影推荐,网络爬虫,豆瓣,矩阵分解算法
ABSTRACT
Nowadays movies are an indispensable part of people's entertainment life,And with the rapid development of the network,Various movies are presented before us,We spend too much time thinking about which movie to watch and finding the movie that suits you.So it is very necessary to implement a movie recommendation system,The system determines the movie that the user may like based on the preferences of the public and the user's preferences,Enables the public to find suitable and high quality movies for a short period of time.The system first uses the web crawler to obtain data on the Douban website as data support.The system will save the user's data and background data to the database,Initial sparse matrix is established by acquiring data from the database.When building a matrix,it will save movies that the user hasn't watched into an array.According to the predicted score level, he is recommended to him with a highly rated movie.The system is implemented and can well push the user's favorite movie to the user.
Keywords: film recommendation system,Web crawler,douban,Matrix decomposition algorithm
目录
摘要.....................................................................................................................................Ⅰ
ABSTRACT............................................................................................................................Ⅱ
- 绪论........................................................................................................................1
- 课题研究背景与意义............................................................................................1
- 国内外研究现状....................................................................................................1
- 课题研究的主要内容............................................................................................2
1.3.1 网络爬虫的相关介绍.......................................................................................2
1.3.2 非负矩阵分解算法...........................................................................................3
- 论文结构................................................................................................................5
- 电影推荐系统的需求分析.....................................................................................7
2.1 问题定义..................................................................................................................7
2.2 功能需求..................................................................................................................7
2.3 非功能需求..............................................................................................................9
2.3.1 实现技术...........................................................................................................9
2.3.2 可靠性和可用性需求........................................................................................9
2.4 本章小结...................................................................................................................9
第三章 电影推荐系统的需求分析和总体设计.................................................................10
3.1 数据采集模块的设计............................................................................................10
3.2 构建初始矩阵模块的设计....................................................................................10
3.3 矩阵分解算法的设计............................................................................................10
3.4 本章小结................................................................................................................11
第四章 电影推荐系统的实现............................................................................................12
4.1 数据采集模块的实现.............................................................................................12
4.2 初始矩阵模块的实现.............................................................................................14
4.2.1 获得后台数据..................................................................................................14
4.2.2 构建初始矩阵..................................................................................................15
4.3 基于矩阵分解算法推荐电影模块的实现.............................................................16
4.3.1 算法模块的实现..............................................................................................16
4.3.2 实验结果分析..................................................................................................17
4.4 本章小结.................................................................................................................18
第五章 总结与展望............................................................................................................19
6.1 本文完成的主要研究工作.....................................................................................19
6.2 不足之处及后期工作展望.....................................................................................20
致谢......................................................................................................................................21
参考文献..............................................................................................................................22
第一章 绪论
1.1 课题研究背景与意
近年来,随着移动互联网的高速发展和移动终端的硬件、软件不断升级,智能移动终端开始风靡全球。因此,我们也进入了一个信息爆炸的时代,搜索引擎是最普遍的辅助人们检索信息的工具[1],互联网技术的迅猛发展把我们带进了信息爆炸的时代,海量信息的出现,一方面用户很难找出自己感兴趣的部分,另一方面也使得大量少人问津的信息成为网络中的"暗信息",无法被一般用户获取[2]。而传统的搜素引擎、门户网站等,本质上是帮助用户过滤掉不必要的信息,缺乏个性化的考虑,并不能彻底解决信息过载问题。而个性化推荐被用来帮助用户在大量的信息中寻找感兴趣的内容[3],推荐系统是解决信息爆炸的一个有效手段,可是传统的推荐系统通常是在电脑端,这种情况就是不能考虑用户所处的环境,比如位置和时间等。而移动终端最大的特点就是他的随时随地性,而如何结合移动终端的特点来向用户进行合理的推荐是现在推荐系统面临的一个新挑战。因此,人们提出了“个性化服务”的概念,为不同的用户提供不同的服务和信息内容。两阶段联合积累协同过滤算法是对原始矩阵中的评分模式进行用户和物品两个维度的联合聚类,然后这些类别的内部通过加权非负矩阵分解方法进行未知评分预测[4]。目前,推荐系统在电子商务如Amazon、eBay、Netflix、阿里巴巴、豆瓣网、当当网,并且在信息检索如iGoogle、MyYhoo、Groupslens、百度等,以及移动应用、电子旅游、互联网广告等等众多应用领域取得较大进展。服务推荐不仅要基于用户的偏好,同时要考虑推荐用户的领域相关度、推荐信息的可行性[5]。随着移动网络的普及,在社交移动网络系统中,用户的上下文信息得到了极大的丰富[6]。
1.2 国内外研究现状
在20世纪90年代初,国外就开始了推荐系统的研究,Weiser提出了“普适计算”的概念[7],作为核心子领域之一的上下文感知计算理论,国外许多大学和研究机构对上下文感知推荐系统理论、方法及应用展开了深入研究[8]。ACM推荐系统年会自2009年开始举办上下文感知推荐系统专题研讨会[9],指出上下文感知推荐系统领域的几个主题,体现了当前研究热点与难点:
1.融入用户行为上下文的个性化推荐系统[10];
2.推荐系统中基于上下文感知的用户建模;
3.上下文推荐数据集;
4.检查上下文数据相关性的算法;
5.将上下文信息融入推荐过程的算法[11];
6.在上下文特征和用户评分之间建立显示关联的算法;
7.与上下文推荐系统交互[12];
8.上下文感知推荐系统的新应用;
9.大规模上下文感知推荐系统[13];
10.上下文感知推荐系统的评测;
11.移动上下文感知推荐系统[14];
12.上下文感知的群组推荐[15]。
进入21世纪以来,国内学术界也逐渐开始重视推荐系统领域的研究。文献《个性化服务技术综述》[1]和《个性化推荐系统研究进展》[2]对个性化服务、推荐系统进行了综述研究;文献《个性化推荐算法设计》[3]针对协同过滤推荐系统中存在的数据稀疏性、扩展性等问题,提出改进的协同过滤算法;文献《两阶段联合聚类协同过滤算法》[4]基于联合聚类算法和加权非负矩阵分解算法提出一种两阶段评分预测方法;文献《基于偏好推荐的可信服务选择》[5]结合用户的推荐等级、领域相关度和评价相似度提出改进的协同过滤算法,以解决可信服务选择问题;文献《上下文感知的移动社交网络服务选择机制研究》[6]则提出了基于上下文、信任网络和协作过滤算法的移动社交网络服务选择机制。
1.3 课题研究的主要内容
1.3.1 网络爬虫的相关介绍
学习这几个模块,让Python中抓取网页变得很容易[16]。
Webbrowser:是Python自带的,打开浏览器获取指定页面。
Requests:从因特网上下载文件和网页。
Beautiful Soup:解析HTML,即网页编写的格式。
Selenium:启动并控制一个web浏览器。Selenium能够填写表单,并模拟鼠标在这个浏览器中点击。
首先,只要有一个URL,webbrowser模块就让用户不必打开浏览器,而直接加载一个网站。其他程序可以利用这项功能完成以下任务:
- 在独立的浏览器标签中,打开一个页面中的所有链接。
- 用浏览器打开本地天气的URL。
- 打开你经常查看的几个社交网站。
其次,用requests模块让你很容易从Web下载文件,不必担心一些复杂的问题,诸如网络错误、连接问题和数据压缩。Requests模块不是python自带的,所以必须先安装。通过命令行,运行pip install requests。用requests.get()函数下载一个网页,requests.get()函数接受一个要下载的URL字符串。通过在requests.get()的返回值上调用type(),你可以看到它返回一个Response对象,其包含了Web服务器对你的请求做出的响应。