计算机科学与技术毕业设计-基于mahout推荐的安卓信息订阅系统.doc

上传人:文初 文档编号:747004 上传时间:2018-10-30 格式:DOC 页数:46 大小:1.80MB
下载 相关 举报
计算机科学与技术毕业设计-基于mahout推荐的安卓信息订阅系统.doc_第1页
第1页 / 共46页
计算机科学与技术毕业设计-基于mahout推荐的安卓信息订阅系统.doc_第2页
第2页 / 共46页
计算机科学与技术毕业设计-基于mahout推荐的安卓信息订阅系统.doc_第3页
第3页 / 共46页
计算机科学与技术毕业设计-基于mahout推荐的安卓信息订阅系统.doc_第4页
第4页 / 共46页
计算机科学与技术毕业设计-基于mahout推荐的安卓信息订阅系统.doc_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、本科毕业论文(20 届)基于 mahout 推荐的安卓信息订阅系统Android Subscription System Based on Mahout Recommended所在学院 专业班级 计算机科学与技术 学生姓名 学号 指导教师 职称 完成日期 年 月 基于 Mahout 推荐的安卓信息订阅系统I摘 要随着信息技术和信息社会的不断发展,人们对信息的需求也越来越强。但是在当今社会,信息量往往过于庞大,人们不知如何从中获取自己所需要的数据,所以本文基于 mahout 推荐和分类算法实现了一个 RSS 订阅系统,为人们实现更快、更好的信息查看。本文主要研究的内容包括如何实现利用 mahou

2、t 框架实现协同过滤算法,使用聚类算法对推荐效果进行完善。使用 java 语言在 Andriod SDK 平台开发了 AndriodApp 客户端作为用户使用终端和在 Myeclipse 平台上开发服务器管理平台,使用 java 的网络socket 通信和 json 数据格式作为客户端和服务器的通信基础,同时采用 MySql 作为系统运行的数据库。为了推荐数据能够及时有效地发送到用户上,在系统中集成了Android 系统的推送功能,最终通过设计和编码实现了基于 mahout 推荐的安卓信息订阅系统的各个模块。关键词:信息过载;信息订阅;分类算法;mahout;Andriod SDK基于 Mah

3、out 推荐的安卓信息订阅系统IIABSTRACTWith the continuous development 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 classificatio

4、n algorithm based on mahout and implement a RSS subscription 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

5、. Using java language Andriod SDK platform developing 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 d

6、atabase. In order to be able to promptly and effectively 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; Subsc

7、ription; Classification Algorithm ; mahout; Android SDK基于 Mahout 推荐的安卓信息订阅系统III目 录第 1 章 绪论 .11.1 课题研究的背景 .11.2 课题研究的意义 .11.3 国内外研究的现状 .21.5 论文的主要内容 .3第 2 章 需求分析 .42.1 系统概述 9.42.1.1 系统目标 .42.1.2 业务描述 .42.2 功能性需求分析 .62.2.1 客户端功能需求 .72.2.2 服务器功能需求 .72.3 非功能性需求分析 .82.4 SOCKET 通信流程 .82.5 本章小结 .9第 3 章 系统设

8、计 .103.1 系统功能结构设计 .103.1.1 系统功能结构 .103.2 数据库设计 .113.3 通信流程设计 .133.4 本章小结 .14第 4 章 系统实现 .154.1 通信流程的实现 .154.1.1 基本通信的实现 .154.1.2 通信传输数据解析的实现 .194.2 Mahout 推荐模块的实现 .204.2.1 在项目中集成 Mahout .214.2.2 Mahout 基于用户协同过滤的实现 .22基于 Mahout 推荐的安卓信息订阅系统IV4.2.3 AndriodApp 客户端用户评分数据收集 .234.3 订阅内容分类模块的实现 .244.3.1 网络内容

9、抓取模块的实现 .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致谢 .39第 1 章 绪论1第 1 章 绪论1.1 课题研究的背景随着信息社会和信息传播技术的飞速发展,人们获取信息的途径和手段也越来越来多,典型例子就是手机技术的飞速发展。通过手机的移动网络,人们可以方便获取到网络信

10、息。信息时代让人们的生活越来越便利,但是由此也产生了很多不利的影响。信息过载,即在信息时代信息过于丰富的不利影响。信息社会所产生的信息越来越庞大,远远超过了人们个体所能接收和有效利用的范围,大量的无关的没用的冗余的信息干扰了人们对信息的识别和选择。再加上近来人民群众开始通过微博、说说、博客等网络媒介大量的参与到信息发布中来,发布者数量的激增,也会自然带来信息量的增长。最后,在信息时代生活的民众十分崇拜信息的作用,由此基本都会有信息焦虑和信息依赖等心理,人们觉得信息是生活中的必需品,对信息的需求量增加也会刺激信息的超载。在这样的背景下,帮助人们从大数据量的信息中进行符合个人特性的过滤,在一定程度

11、上减轻由于信息过量带来的压力。目前在世界上解决这一问题的非常有效的一个办法是推荐系统,推荐系统的个性化收集用户的兴趣特点和一些行为,通过利用协同过滤、聚类、分类等手段,为使用用户提供符合自己喜好的信息订阅 1,2,3。随着使用用户和用户使用时间的增多,推荐系统的推荐效果也将会越来越符合人们的喜好。1.2 课题研究的意义系统主要的采用的技术有两个:个性化推荐和 RSS 订阅。目前在世界上个性化推荐系统大多数都是用在电子商务上。在京东、淘宝等热门电子商务网站,推荐系统用于为用户推荐新的商品来增加交易量。而且目前在世界上,大数据处理无疑是最热门的研究方向之一 4,5,而个性化推荐系统无疑是这个领域很

12、有发展潜力的一个方向。RSS 订阅是一种提供更新信息的技术,它的目的为了提供给用户方便、高效的网络更新信息。常用于时常更新内容的网站,例如:博客、最新的新闻、音频或视频。RSS 文件通常会包含部分的文字,再加上原网站的元数据链接和一些具体的信息。用户通过 RSS 订阅提供的更新链接可以实时的接收各个网站的更新内容。目前 RSS 订阅在国内不算太流行,而且知名度也不算太高。但是它无疑是一种便捷的信息获取方式,而且内容不像搜索引擎那样会受到很多因素影响。但是 RSS 订阅也存在一些问题,用第 1 章 绪论2户很难判断那些 RSS 订阅更新内容是符合自己的,同时大多数国内民众对 RSS 也没有准确认

13、识。所以课题打算将 RSS 订阅与个性化推荐结合起来,在目前流行的 Andriod 平台上实现客户终端,充分利用这几者的优点,编写一个快捷且能符合用户喜好的新闻订阅推送系统。1.3 国内外研究的现状推荐系统是一门新兴的信息技术,从上世纪 90 年代开始,就有人开始研究相关方面的内容,即根据用户的评分和行为记录,来预测用户的兴趣,并以此为用户做推荐。最早的推荐系统是在 1994 年,GroupLens 研发组开发的 MovieLens 的电影推荐系统,并提出了基于用户的协同过滤算法 6,7。在 1994 年到 2006 年期间,推荐系统的重心发生了变化,Amazon 在 2003 年根据自身特点

14、提出了基于物品的协同过滤算法 8,由于该算法的使用,Amazon 每年增加了30%的销售额。在 2006 年,Nexflix 举办了推荐系统大赛,悬赏 100 万美元奖励第一支能提升Netflix 推荐系统准确性的队伍,然后在 2006-2009 年比赛过程中,出现了许多优秀的推荐算法 9,10,11,12,如 SVD+、RSVD 等推荐算法。通过这场比赛,个性化推荐算法越来越引起工业界的关注,同时在比赛期间提出了动态推荐系统,在学术界得到了学者的深入研究。随后在 2009-2012 年中 Netflix 又举办了第二次大赛,来自 186 个国家的四万多个团队经过近三年的较量,一个由多个行业的

15、专家组成的团队凭借将 Netflix的影片推荐引擎的推荐效率提高了 10%夺得了该项大奖。同时在此期间也有多位参赛者提出了许多优秀的推荐算法 9,10,11,12,Netflix 大奖的参赛者们不断改进了影片推荐效率,Netflix 的客户也因此而获益。在国内,最先开始研究个性化推荐系统的是北京的百分点信息科技。他们的主要产品是百分点推荐引擎。百度点推荐引擎是负责帮助电子商务网站集成个性化推荐系统,从海量信息数据中获取符合用户个性化需求的信息。同时国内各大商务网站如京东、淘宝、优酷等也开始重视这方面的研究,也在推出自己的一些个性化推荐服务,如优酷的订阅推荐推送服务。国人也在对个性化推荐系统进行

16、创新改进,如最近的 E推荐,E 推荐是一个基于人工智能推荐引擎的个性化导购软件系统,是杭州载言网络技术有限公司的产品,他们的创始人是美国纽约里个性化推荐研究团队中的四名中国第 1 章 绪论3留学生。E 推荐的主要功能是通过社交网络和先进的数据挖掘技术为人们推荐商品,在 E 推荐中,核心功能有以下几个:1.用户不仅可以在 E 推荐上对商品发布评论,价格建议,购买建议等内容,也可以对他人的购物推荐内容进行打分,若用户觉得这个他人的购物推荐不错的话,可以通过平台将这个购物推荐分享到自己的好友圈。2.用户在对某款商品没有清楚的认识的时候,可以在 E 推荐上查找到自己朋友们对于这款商品的意见,听取他们的

17、意见。同时在使用搜索引擎主动搜索商品的时候,搜素结果旁边会显示相应的产品评分和购买建议。而且这些评分和建议都是综合了用户的朋友圈评价和用户的兴趣爱好、个人信息、行为记录等相关信息做出的推荐。1.5 论文的主要内容第 1 章是绪论,简述课题的研究背景和研究意义,分析国内的研究现状和当前研究所存在的不足之处,提出了本系统解决问题的新思路。第 2 章是需求分析,了解系统目标和系统的业务流程,然后总结出系统的功能性需求和非功能性需求。第 3 章是系统设计,将系统划分成不同的功能模块,详细设计系统的功能点,设计系统的数据库。第 4 章是系统实现,分不同的模块实现系统功能,以流程图、代码、系统截图为辅助手

18、段详细说明系统的实现过程。最后在结论中对全文进行总结,提出系统的需要改进之处和未来的展望。第 2 章 需求分析4第 2 章 需求分析2.1 系统概述2.1.1 系统目标根据课题的设计思想,基于 mahout 推荐的 Andriod 信息订阅软件系统将分为两个部分:服务器和 AndriodApp 客户端。AndriodApp 客户端需要实现的功能有以下 4 点:(1) 用户能够在 AndriodApp 客户端上添加好友、登录注册,并且通过网络将这些信息保存在数据库中。(2) 客户端上接收服务器的 Rss 订阅内容,并能在 Andriod 本地上解析 RSS 内容并通过 UI 界面显示出来,同时用

19、户能对自己的 RSS 订阅进行管理。(3) 客户端上能在有网络的时候实时接收服务器推送的推荐数据,并解析相应的数据为了提供相应的推荐数据。(4) 客户端能收集用户订阅、评分、浏览记录使用数据,并将其返回给服务器。服务器需要的功能需求有以下 7 点:(1) 服务器能够监听客户端连接,并能与接入的客户端进行数据通信。(2) 通过设计的数据库业务类能对服务器上的 MySql 数据库的数据进行增、删、改、查各种操作。(3) 集成 mahout 框架,利用收集的用户评分数据生成基于 user-based CF 的推荐数据。(4) 抓取 RSS 订阅更新文章的具体内容,并对文章的内容进行解析、分类。(5)

20、 完成推送的服务器端功能,能向 AndriodApp 客户端推送服务器上生成的推荐订阅信息。(6) 接收 AndriodApp 收集的用户使用信息,并存储在数据库中,为推荐的生成提供数据。(7) 基本的后台服务管理系统,管理员能够通过编写 web 后台系统对服务器进行数据库查看和进行基本的操作和推送推荐数据方式的设置。第 2 章 需求分析52.1.2 业务描述根据系统目标的要求,将整个系统分为 AndroidApp 客户端和服务器两个方面来说明系统的业务流程。在 AndroidApp 客户端中主要的业务流程就是 RSS 订阅的管理和阅读以及接收服务器推送的推荐信息。RSS 订阅的管理主要是用户

21、在 AndriodApp 对自己的订阅进行删除和添加新的订阅。RSS 订阅的阅读是在 AndroidApp 上对 RSS 更新的文章内容进行阅读,阅读后可以通过对订阅内容进行评价,若是订阅内容十分不错的话,用户还能将其分享给自己的好友。AndriodApp 客户端在安装后,服务器发送推送信息后,能在Andriod 系统上接收到推送的信息。查看详细的推送推荐信息后,如果用户对推送的信息感兴趣,可以选择订阅该信息。AndriodApp 客户端的主要业务流程如图 2.1 所示。进入系统 选择已有订阅阅读订阅更新文章浏览同类内容管理订阅查看所有订阅删除订阅浏览相关信息分享给好友 评价内容是否喜欢接收推送消息 查看推荐信息添加新订阅图 2.1 AndriodApp 主要业务流程图在服务器中主要业务流程就是监听客户端的连接,在客户端连接后,与其建立

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。