基于Hadoop的电影推荐系统

 2022-01-17 11:01

论文总字数:22948字

目 录

第1章 绪论 1

1.1 研究背景及意义 1

1.2 研究现状 2

1.3 研究课题主要内容 3

1.4 论文组织 3

第2章 Mahout推荐引擎与源码分析 3

2.1 Mahout推荐引擎简介 3

第3章 推荐算法 6

3.1 推荐算法的分类 6

3.2 推荐算法的评判标准 6

3.3 推荐算法介绍 7

3.3.1 协同过滤算法 7

3.3.2 基于用户的协同过滤算法 8

3.3.3 基于物品的协同过滤算法 10

3.3.2 Slpe-one算法 12

第4章 开发环境的搭建与部署 13

4.1 JDK1.7和MySQL的安装 13

4.2 tomcat、mahout以及Eclipese的安装 15

第5章 Mahout电影推荐系统的设计与实现 15

5.1 数据准备 16

5.2 构造数据库 17

5.3 网页JSP代码展示 18

5.4 系统的测试与评估 22

第6章 结论 23

6.1 开发中遇到的问题 23

6.2 预期和展望 24

6.3 讨论 24

参考文献: 25

致谢 26

基于Mahout的电影推荐系统的设计与实现

宗仰

Abstract:With more and more people have convenient MT, The information have a explosive growth which user contact on the Internet.The personalized recommendation system, as an important method to fliter information, can recommend interesting information to users effectively. This issue analyze the suitable recommended algorithm on movies on the Internet, After analyze the source code of Mahout, we chose userCF and itemCF to realize the movie recommender system, and finally, we receive a good result. This movie recommendation system is based on Mahout as module, mySQL as database, Eclipse as integrated development tools, deploy on tomcat6. Eventually it show movies which user once watched and movie recommender system recommend, The result is very obvious, and it is convent to chose movies for users.

Key words: Recommender system; Mahout; Collaborative filtering recommendation algorithm

第1章 绪论

1.1 研究背景及意义

网络自诞生以来有了快速的发展,网络上的数据呈现出一种指数级增长,对用户来说,这会使在网络上寻找自己想要的信息变得比较麻烦,对单个用户来说,大量的信息选择导致一种信息过载问题[1],研究者们提出了搜索引擎,搜索引擎是相当高效率的信息查询方式,用户只需输入模糊的查询词,有时甚至不需要任何信息,便能高效率的得到合适的推荐物品。

但是搜索引擎仍然无法满足当前用户需要,搜索引擎高效率运行的前提是用户知道自己所检索信息的关键词,然而目前通常的情景是,用户并无明确搜索目标,在网络上没有明确的获取信息的目的。推荐引擎是一种迎合用户信息,物质需要求的一种工具,目的上与搜索引擎有异曲同工之妙。但是与搜索引擎又有许多不同之处,搜索引擎需要用户输入明确的搜索信息,然后通过爬虫爬取相应的网页,进行排名后展现给用户,而推荐引擎却不需要这么繁琐,他只需要用户提供少许信息甚至不需要任何信息,就可以通过推荐算法为用户服务。因此,推荐引擎与搜索引擎有许多相似又有许多不同之处,搜索引擎满足用户明确输入情况下的价值信息获取,推荐引擎则满足用户模糊信息输入或者不需要输入情况下的价值信息获取。

信息过载的情况同样影响来电子商务领域,表现形式就是“物品过载”,不管淘宝还是京东,上面的商品都是百万级以上。面对如此多的物品,因为用户不可能全部浏览或者提供关键词,及其需要有合适的推荐系统来为用户进行合适的推荐。推荐系统同时可以更好的支持长尾(long tail)商品的推荐。根据2006年由美国作家安德森编写的《长尾理论》一书,提出了一种80/20理论,即80%的销售额来自20%的热门品牌。在电子商务日益发达的今天,现实是这一理论已经无法适应网络环境下的电子商务领域,因为省去了中间进货,上架,招聘店员的环节,商品销售成本已经大大降低。由此多出了许多非热门商品的发展空间。和热门商品比起来,这些非热门商品具有很大的市场潜力。有相关报道之指出推荐系统为电子商务网站Amazon带来了35%的销售额增长,这些都是通过对长尾商品的挖掘并提高销售额的过程,推荐系统是必要的一个环节,起着举足轻重的作用。

个性化推荐系统能有效为用户推荐其感兴趣的资源。但是随着网络规模的不断扩大,传统的推荐系统在处理大数据量甚至海量信息时表现较差,因此提出了适合处理大数据量[12]的的推荐系统。本课题中的电影推荐系统即为其中一种,能根据用户需求做出相应的个性化电影推荐。相对于用户在网络上海量的数据库中搜索自己需要的电影,这种电影推荐系统更具有主动性,更能适应大数据量的网络环境。

1.2 研究现状

传统的推荐系统使用的是基于协同过滤的算法[2],在推荐效果上取得了很好的成绩。用户对物品有评分数据明确表明过兴趣的可以用协同过滤算法来进行个性化推荐,而对于那些没有用户明确表明过兴趣的数据的,研究人员们提出了各种技术来挖掘用户的隐式评分信息。推荐系统是价值信息检索与过滤的热点方向,得到了许多研究机构和研究人员的注意。

(1)TYPESTRY:Xerox研究中心提出的适用与新闻推荐,筛选电子邮件的推荐系统,其背后使用的推荐算法就是协同过滤算法。

(2)ACF:这个系统是有Camegie-Mellon大学开发的推荐系统,其背后的支持算法同样是协同过滤算法,可以用户文档的推荐。

(3)GroupLens:。GroupLens原理是获取用户的评分信息,然后分析得到与目标用户评分信息相似度较高的邻居,然后通过邻居来对目标用户进行推荐,支持大数据量的输入。其背后的支持算法仍然是协同过滤算法,用于新闻的推荐。

(4)MovieLens[8]:Minnesota大学开发的一套用于电影推荐的推荐系统,背后的算法仍然是协同过滤算法,通过从网上爬取用户对电影的显示与隐式评分信息来获得原始数据的收集。

(5)Ringo:MIT开发的用于音乐推荐的推荐系统。其背后支持的算法是协同过滤算法,应用领域是音乐,可以为用户推荐音乐。

其中由Netflix在2006年举办的推荐系统大赛使的推荐系统被广为所知。这次比赛的奖金总计百万美元,目的是为了发现更好的方法来向用户推荐产品。

图1-1 参与比赛的各支队伍排名

1.3 研究课题主要内容

本课题最终将要完成的成果为:

(1)从用户的需求,用户的数量级,推荐系统的效果来选择合适的推荐算法,并选择恰当的评估指标来衡量此电影推荐系统的推荐效果。

(2)设计此电影推荐系统的框架,确定开发环境与实现的功能。输入用户ID和推荐方式以及需要的推荐电影数目,即可得到想要的结果。

(3)熟悉相关API,结合相关数据集,着手开发电影推荐系统,实现相应的功能。

1.4 论文组织

论文分为五个部分。

第一章介绍了推荐系统的出现的背景,研究现状。

第二章介绍了Mahout以及Mahout框架中的推荐引擎,推荐引擎的实现方式和主要的类。

第三章介绍了基于用户的推荐算法(userCF)和基于物品的推荐算法(itemCF)以及另一种Slope One算法。对这些算法的应用场景,流程及原理,评价指标进行的深入的描述。

第四章介绍了开发环境的搭建,包括JDK7、mySQL、Mahout包的引入以及tomcat的部署。

第五章介绍了推荐系统的设计与实现,以及功能的实现,实现用户登陆后查询推荐系统推荐的电影。

最后在结尾对这次毕业设计的过程进行了大致的回顾,同时对软件存在的不足作出了分析。

第2章 Mahout推荐引擎与源码分析

2.1 Mahout推荐引擎简介

Mahout[3]曾是ApacheLucene的一个子项目。Lucene本身提供了信息检索的功能,对于Lucene功能的完善,不可避免的接触到了机器学习技术,并将其中的部分逐渐脱离,形成了将来的Mahout的雏形,之后,开源项目Taste被纳入到了Mahout,由此Mahout从Apache的Lucene项目中脱离开来,成为了一个独立的顶级项目。并产生许多的优化协同算法[4]

Mahout不仅将传统的经典机器学习算法进行的封装打包,同时还将这些算法与大数据平台Hadoop相结合,使之可以在大数据平台上运行。

从Mahout有3个明确的主题目标:聚类、分类和推荐引擎(协同过滤)。虽然它们并非Mahout的全部,但是是最突出和成熟的主题。

剩余内容已隐藏,请支付后下载全文,论文总字数:22948字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;