1、 学 号 密 级 基于mahout推荐的安卓信息订阅系统Android Subscription System Based on Mahout Recommended 学生姓名:所在学院:所在专业:指导教师:职称:所在单位:论文提交日期:论文答辩日期:学位授予单位:基于Mahout推荐的安卓信息订阅系统摘要随着信息技术和信息社会的不断发展,人们对信息的需求也越来越强。但是在当今社会,信息量往往过于庞大,人们不知如何从中获取自己所需要的数据,所以本文基于mahout推荐和分类算法实现了一个RSS订阅系统,为人们实现更快、更好的信息查看。本文主要研究的内容包括如何实现利用mahout框架实现协同过
2、滤算法,使用聚类算法对推荐效果进行完善。使用java语言在Andriod SDK平台开发了AndriodApp客户端作为用户使用终端和在Myeclipse平台上开发服务器管理平台,使用java的网络socket通信和json数据格式作为客户端和服务器的通信基础,同时采用MySql作为系统运行的数据库。为了推荐数据能够及时有效地发送到用户上,在系统中集成了Android系统的推送功能,最终通过设计和编码实现了基于mahout推荐的安卓信息订阅系统的各个模块。关键词:信息过载;信息订阅;分类算法;mahout;Andriod SDKABSTRACTWith the continuous devel
3、opment of information technology and the information society, the demand for information is growing. However, in todays society, the amount of information is often too large that people do not know how to get useful information, so this classification algorithm based on mahout and implement a RSS su
4、bscription system for people to achieve faster, better way to view information . The main contents of this study include how to use mahoutframework to achieve collaborative filtering algorithm using clustering algorithm to recommend to perfect effect. Using java language Andriod SDK platform develop
5、ing AndriodApp client as a user terminal and the development of server on Myeclipse platform, network socket communication using java and json data format as a client and server communications infrastructure, as well as system operation using MySql database. In order to be able to promptly and effec
6、tively to recommend the data to the user, the system integrates a push function in Android Ultimately through the design and coding achieved each module of Android Subscription System based on mahout recommended .Key words:Information Overload; Subscription; Classification Algorithm ; mahout; Androi
7、d SDK目录第1章 绪论11.1 课题研究的背景11.2 课题研究的意义11.3 国内外研究的现状21.5 论文的主要内容3第2章 需求分析42.1 系统概述942.1.1 系统目标42.1.2 业务描述42.2 功能性需求分析62.2.1 客户端功能需求72.2.2 服务器功能需求72.3 非功能性需求分析82.4 SOCKET通信流程82.5 本章小结9第3章 系统设计103.1 系统功能结构设计103.1.1 系统功能结构103.2 数据库设计113.3 通信流程设计133.4 本章小结14第4章 系统实现154.1 通信流程的实现154.1.1 基本通信的实现154.1.2 通信传输
8、数据解析的实现194.2 Mahout推荐模块的实现204.2.1在项目中集成Mahout214.2.2 Mahout基于用户协同过滤的实现224.2.3 AndriodApp客户端用户评分数据收集234.3 订阅内容分类模块的实现244.3.1 网络内容抓取模块的实现254.3.2 聚类算法KMeans的实现264.3.3 分类内容推荐实现264.4 RSS订阅模块的实现274.4.1 RSS内容浏览的实现274.4.2 RSS订阅管理的实现284.5 推送模块的实现294.6 数据库管理模块的实现324.7 后台系统管理模块334.8 本章小结34结论35参考文献36致谢39III第1章
9、绪论第1章 绪论1.1 课题研究的背景随着信息社会和信息传播技术的飞速发展,人们获取信息的途径和手段也越来越来多,典型例子就是手机技术的飞速发展。通过手机的移动网络,人们可以方便获取到网络信息。信息时代让人们的生活越来越便利,但是由此也产生了很多不利的影响。信息过载,即在信息时代信息过于丰富的不利影响。信息社会所产生的信息越来越庞大,远远超过了人们个体所能接收和有效利用的范围,大量的无关的没用的冗余的信息干扰了人们对信息的识别和选择。再加上近来人民群众开始通过微博、说说、博客等网络媒介大量的参与到信息发布中来,发布者数量的激增,也会自然带来信息量的增长。最后,在信息时代生活的民众十分崇拜信息的
10、作用,由此基本都会有信息焦虑和信息依赖等心理,人们觉得信息是生活中的必需品,对信息的需求量增加也会刺激信息的超载。在这样的背景下,帮助人们从大数据量的信息中进行符合个人特性的过滤,在一定程度上减轻由于信息过量带来的压力。目前在世界上解决这一问题的非常有效的一个办法是推荐系统,推荐系统的个性化收集用户的兴趣特点和一些行为,通过利用协同过滤、聚类、分类等手段,为使用用户提供符合自己喜好的信息订阅1,2,3。随着使用用户和用户使用时间的增多,推荐系统的推荐效果也将会越来越符合人们的喜好。1.2 课题研究的意义系统主要的采用的技术有两个:个性化推荐和RSS订阅。目前在世界上个性化推荐系统大多数都是用在
11、电子商务上。在京东、淘宝等热门电子商务网站,推荐系统用于为用户推荐新的商品来增加交易量。而且目前在世界上,大数据处理无疑是最热门的研究方向之一4,5,而个性化推荐系统无疑是这个领域很有发展潜力的一个方向。RSS订阅是一种提供更新信息的技术,它的目的为了提供给用户方便、高效的网络更新信息。常用于时常更新内容的网站,例如:博客、最新的新闻、音频或视频。RSS文件通常会包含部分的文字,再加上原网站的元数据链接和一些具体的信息。用户通过RSS订阅提供的更新链接可以实时的接收各个网站的更新内容。目前RSS订阅在国内不算太流行,而且知名度也不算太高。但是它无疑是一种便捷的信息获取方式,而且内容不像搜索引擎
12、那样会受到很多因素影响。但是RSS订阅也存在一些问题,用户很难判断那些RSS订阅更新内容是符合自己的,同时大多数国内民众对RSS也没有准确认识。所以课题打算将RSS订阅与个性化推荐结合起来,在目前流行的Andriod平台上实现客户终端,充分利用这几者的优点,编写一个快捷且能符合用户喜好的新闻订阅推送系统。1.3 国内外研究的现状推荐系统是一门新兴的信息技术,从上世纪90年代开始,就有人开始研究相关方面的内容,即根据用户的评分和行为记录,来预测用户的兴趣,并以此为用户做推荐。最早的推荐系统是在1994年,GroupLens研发组开发的MovieLens的电影推荐系统,并提出了基于用户的协同过滤算
13、法6,7。在1994年到2006年期间,推荐系统的重心发生了变化,Amazon在2003年根据自身特点提出了基于物品的协同过滤算法8,由于该算法的使用,Amazon每年增加了30%的销售额。在2006年,Nexflix举办了推荐系统大赛,悬赏100万美元奖励第一支能提升Netflix推荐系统准确性的队伍,然后在2006-2009年比赛过程中,出现了许多优秀的推荐算法9,10,11,12,如 SVD+、RSVD 等推荐算法。通过这场比赛,个性化推荐算法越来越引起工业界的关注,同时在比赛期间提出了动态推荐系统,在学术界得到了学者的深入研究。随后在2009-2012年中Netflix又举办了第二次大
14、赛,来自186个国家的四万多个团队经过近三年的较量,一个由多个行业的专家组成的团队凭借将Netflix的影片推荐引擎的推荐效率提高了10%夺得了该项大奖。同时在此期间也有多位参赛者提出了许多优秀的推荐算法9,10,11,12,Netflix大奖的参赛者们不断改进了影片推荐效率,Netflix的客户也因此而获益。在国内,最先开始研究个性化推荐系统的是北京的百分点信息科技。他们的主要产品是百分点推荐引擎。百度点推荐引擎是负责帮助电子商务网站集成个性化推荐系统,从海量信息数据中获取符合用户个性化需求的信息。同时国内各大商务网站如京东、淘宝、优酷等也开始重视这方面的研究,也在推出自己的一些个性化推荐服
15、务,如优酷的订阅推荐推送服务。国人也在对个性化推荐系统进行创新改进,如最近的E推荐,E推荐是一个基于人工智能推荐引擎的个性化导购软件系统,是杭州载言网络技术有限公司的产品,他们的创始人是美国纽约里个性化推荐研究团队中的四名中国留学生。E推荐的主要功能是通过社交网络和先进的数据挖掘技术为人们推荐商品,在E推荐中,核心功能有以下几个:1.用户不仅可以在E推荐上对商品发布评论,价格建议,购买建议等内容,也可以对他人的购物推荐内容进行打分,若用户觉得这个他人的购物推荐不错的话,可以通过平台将这个购物推荐分享到自己的好友圈。2.用户在对某款商品没有清楚的认识的时候,可以在E推荐上查找到自己朋友们对于这款商品的意见,听取他们的意见。同时在使用搜索引擎主动搜索商品的时候,搜素结果旁边会显示相应的产品评分和购买建议。而且这些评分和建议都是综合了用户的朋友圈评价和用户的兴趣爱好、个人信息、行为记录等相关信息做出的推荐。1.5 论文的主要内容第1章是绪论,简述课题的研究背景和研究意义,分析国内的研究现状和当前研究所存在的不足之处,提出了本系统解决问题的新思路。第2章是需求分析,了解系统目标和系统的业务流程,