毕业设计(论文)-基于Android的个性化推荐新闻客户端.docx_第1页
毕业设计(论文)-基于Android的个性化推荐新闻客户端.docx_第2页
毕业设计(论文)-基于Android的个性化推荐新闻客户端.docx_第3页
毕业设计(论文)-基于Android的个性化推荐新闻客户端.docx_第4页
毕业设计(论文)-基于Android的个性化推荐新闻客户端.docx_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分类号论文选题类型U D C编号本科毕业论文(设计)题 目基于 android 个性化推荐新闻客户端学院物理科学与技术学院专业电子信息工程年级2012 级学生姓名学号指导教师)二 一六 年 四 月华中师范大学学位论文原创性声明本人郑重声明:所呈交的学位论文是本人在导师指导下独立进行研究工作所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。学位论文作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权省级优秀学士学位论文评选机构将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于1、保密 ,在_年解密后适用本授权书。2、不保密。(请在以上相应方框内打“”)学位论文作者签名:日期:年月日导师签名:日期:年月日目录内容摘要:4关键词:41.绪论51.1 研究背景与意义51.2 国内外研究现状51.2.1 国内外新闻客户端的发展现状51.2.2 个性户推荐应用的现状61.3 本文的研究内容62.总体设计方案92.1 系统功能分析92.1.1Android 手机客户端的功能分析92.1.2web 后台管理系统的功能分析92.2 系统体系架构设计102.3 系统功能模块设计112.4 数据库设计122.5 用户界面设计142.5.1 界面设计风格142.5.2 主要功能布局142.6 本章小结153.个性化推荐算法及相关算法研究163.1 个性化推荐算法的基本原理163.2 协同过滤算法173.3 基于社交网络的新闻推荐183.4 基于时间轴的热点新闻追踪技术193.5 本章小结214.系统开发与实现224.1 开发环境224.2 新闻管理后台的设计与实现224.2.1 新闻管理后台框架224.2.2 协同过滤算法主要实现代码234.2.3后台与客户端通信方式.254.3 特色重点功能详解 .254.3.1关键词识别跳转 .254.3.2基于社会网络的新闻推荐 .254.3.3历史新闻时序追踪.264.4Android 手机客户端的设计与实现 .264.4.1异步加载 .264.4.2客户端各功能的实现.264.4 本章小结 .295.总结与展望.30参考文献: .31致谢 .33内容摘要:随着移动互联网的发展与普及,人们获取信息的方式发生了很大的改变,逐渐改变了阅读纸质媒体的习惯。代替报纸等资讯媒介的手机新闻客户端也迎来了蓬勃的发展时期。由于互联网的信息过剩,简单的新闻推送已经脱节于时代主流。利用个性化推荐算法,将用户感兴趣的信息从海量数据中筛选出来,是目前的主流研究方向。本文基于 Android 开发平台开展了个性化新闻推荐系统的设计与实现。首先对整体的功能需求和系统模块进行分析设计。同时为了提升用户体验,针对推准推新的目标,在现有的个性化推荐产品的基础之上,加入关键词识别提取、社交推荐和新闻追踪三大功能。在一定程度上提升新闻推荐的精准性和可操作性。关键词:推荐系统;协同过滤;Android;新闻全套设计加扣 3012250582Abstract:With the development and popularity of mobile internet, peoples way of obtaining information has changed a lot, gradually changing the habit of reading paper media. News client applications on mobile phones, which have replaced paper media, have been in its prosperous period. Because of the information overload, the simple news recommendation is out of date. The main trend of research direction is to select news, in which users are interested, from mass information by using personalized recommendation technology.On the basis of Android, this thesis will design and implement the personalized news recommendation system. First of all, it will analyze the functional requirements and design modules of the system. Meanwhile, to improve the users experience and aiming at recommending quickly and precisely, three functions will be added to the system: keywords spotting and extraction, socialite recommendation and news tracking, based on the current personalized recommendation applications and to improve the precision and operation of news recommendation.Key words:recommendation system, collaborative filtering, Android, news1.绪论1.1 研究背景与意义及时的获取新闻咨询是人们日常生活的基本需求,随着互联网的不断发展,人们获取资讯的渠道已经不仅仅局限于传统的纸媒、广播媒体、电视媒体。近几年,互联网的发展使时间变得碎片化,人们逐渐改变了阅读纸质媒体的习惯,新闻客户端也迎来了蓬勃的发展时期,这是和智能手机的硬件发展、移动 4G 网络在近几年的快速发展密不可分的。最近几年,在互联网的各个领域都出现了个性化推荐应用,这个从电子商务领域发展起来的技术已经逐渐的走进了人们日常生活的方方面面。手机新闻客户端作为传播资讯的载体,每天都有海量的资讯实时提供给用户。在这样一个信息过载的时代,除了相应的热点头条新闻之外,许多用户有自己的阅读偏好。如何的帮助用户在海量的新闻中筛选出其所需要的信息、如何满足不同用户的不同需求就是一个急需解决的问题。通过嵌入个性化的算法,对用户的之前的使用痕迹和阅读偏好进行追踪、分析。根据其以往的使用情况,计算出符合用户阅读习惯和兴趣方向的文章,重点推送给用户,在一定程度上缩短用户面对大量信息时的甄别时间,提高新闻阅读效率。在一定程度上为新闻客户端的发展开辟一条新的道路。1.2 国内外研究现状1.2.1 国内外新闻客户端的发展现状新闻客户端作为移动互联网的主要入口,拥有着庞大的用户群体。致使各大门户网站都相继开发自己的手机新闻客户端,经过多年的发展,产品经过几次大型的更新迭代。各家的新闻客户端在交互界面、操作方式、新闻内容上逐渐形成了各自的特色。国外很多知名的新闻媒体最先开始了移动新闻客户端的开发工作,如 BBCNews、CNN 等,在软件开发初期更多的是注重新闻推送的及时性,对突发新闻的实时报道成为软件关注的重点。虽然这些新闻客户端可以通过用户订阅的方式,简单的对新闻进行分类、推送,但是并不能根据用户的使用习惯进行个性化推荐。国内的网易新闻、搜狐新闻等新闻类客户端,虽然起步较晚,但是则是以新闻内容为重点,在注重内容的同时,也在社交方向做出了一定努力。在新闻推送上,加入了热点推送、基于位置的服务,实现初步的推荐功能。并没有根据用户的使用习惯和兴趣爱好来推出更加精准的新闻咨询推送服务。由于国内外用户对新闻关注的方向不同、以及语言的沟通障碍,国人使用国外的新闻产品获取信息的概率较低。国外新闻产品的一些通行做法,在国内的新闻产品上也无法实现。国内的新闻产品虽然在结合推荐算法上有一定的进展,但是也局限于热点与地理信息两大方面,未能在用户的使用习惯以及兴趣爱好方面做进一步的挖掘。综上,新闻客户端在个性化推荐方面仍然有较大的进步空间。1.2.2 个性户推荐应用的现状个性化推荐应用的起源与发展,与电子商务密不可分。最初的主要应用场景,是根据分析用户的搜索记录、浏览记录、购买特点等行为,向用户推荐可能感兴趣的信息或商品。这种技术在当时主要解决了由于商品数目的不断增多,用户无法快速找到自己所需要商品的问题。随着互联网的不断发展,信息过载的现象普遍存在。利用个性化推荐技术,可以有效的解决这一问题。从而降低用户甄别信息的成本。如今的个性化推荐技术已经不局限于电子商务一个领域,而是扩大到广告、新闻、搜索、娱乐等诸多方面,为用户提供了极大的便利。在个性化新闻推荐领域,目前主流的推荐算法包括基于协同过滤算法、用户关注度的算法、文档差异度的算法以及自适应新闻推荐算法。其中协同过滤算法的使用较为普遍。1.3 本文的研究内容本文以设计基于 Android 的个性化推荐新闻客户端为重点,设计出一款可以根据用户使用习惯和兴趣进行个性化推送的新闻软件。软件以 Android 平台为载体,融入个性化推荐算法,为了更好的达到新闻推荐的效果,提升整体的用户体验,适当的引入部分其他算法增强整个系统的耐用性。同时,由于本科阶段技术与能力的局限性,会引入部分现有的第三方接口工具,提升系统性能。系统的整体研究思路以及本文的整体写作流程如下:图 1.1 本文研究写作流程图由上图可知,文章主要由以下几个部分组成。(1)系统整体的框架设计:收集、对比目前市场上主流的 Android 新闻客户端的相关信息,进行需求分析。从用户的角度出发为系统设计合理的功能。确定 Android 手机客户端与后台管理系统的功能设计。(2)相关理论技术以及算法的研究:在整体上,以提升用户体验为核心,根据这一原则设计相应功能。根据功能确定所需要应用的相关算法。研究目前现有的个性化推荐算法,并针对提升推荐准确性这一指标,加入社交推荐机制,将社交信号添加到混合推荐模型之中。针对提升用户体验这一方面,加入关键词识别提取和新闻追踪机制。融入关键词抽取算法并做相应研究。(3)系统原型的开发:整体的系统设计采用 Android 手机客户端+web 后台管理系统的组合。数据库开发采用 Mysql,利用 jsp ,Java script、JSON 、Http等技术实现手机客户端和后台的互动控制。(4)测试:对设计的功能模块进行测试,并根据实际遇到的问题进行相应的调整。2.总体设计方案个性化新闻推荐系统的开发,本着提升用户体验的角度出发。在分析了目前市场主流的新闻推荐客户端之后,综合用户调研结果,设计了新闻推荐系统的Android 客户端与 web 后台管理系统。2.1 系统功能分析2.1.1Android 手机客户端的功能分析作为系统与用户沟通的媒介,Android 客户端的功能设计是整个系统的功能体现。作为一款个性化新闻推荐软件,最基本的需求就是完成新闻的推送与阅读。其次,为了增强个性化推荐的效果,还应加入个人信息管理模块,用于收集用户使用习惯以及阅读偏好。具体的功能分析如下(1)新闻浏览:作为 Android 客户端的主体功能,将后台抓取的新闻按照个性化推荐的形式推送给用户,在客户端的首页应显示出新闻的分类、标题、配图、来源、时间等基本信息,同时为了收集用户的兴趣偏好以及使用习惯,还应添加不感兴趣(功能最终以图标表示)、点击阅读全文等按钮。系统在每次启动时自动更新最新的内容,用户也可以根绝自己的需要,刷新推送的新闻。进去新闻正文阅读界面后,应显示新闻的标题、时间、来源、配图、正文、历史新闻追踪,关键词解释跳转。同时添加分享、不感兴趣、喜欢(功能最终以图标表示)、评论等功能按钮。(2)个人信息管理:为了便于用户管理自己的使用信息,在注册之初收集邮箱、手机号、昵称、头像作为用户管理的基本信息,也可以引入第三方接口工具,便于用户管理。同时,提升个性化推荐的准确性,精准刻画用户画像。在用户使用本系统时,本着不泄露用户个人隐私的原则,适当收集用户的性别、年龄、感兴趣的新闻分类等表现用户特征的相应信息。在使用过程中,会获取用户的地理信息位置,用于推荐用户所在地相关新闻。2.1.2web 后台管理系统的功能分析作为系统的控制与管理平台,web 后台决定着系统的最终运行情况,其主要功能包括新闻的内容管理、用户管理、评论管理,具体的功能分析如下:(1)内容管理:web 后台控制着新闻的来源、更新频率、图文配比、编辑发布、质量把控。(2)用户管理:管理员可以通过后台系统对用户进行管理,实现用户名、用户头像等个人信息的管理、找回帐号或密码、查看浏览记录等。(3)评论管理:对新闻下方由用户产生的新闻评论进行管理,利用关键字审核,查看是否出现不符合道德及相关政策、法律法规的现象。必要时对评论进行修改、屏蔽、删除,或者注销帐号处理。2.2 系统体系架构设计系统的整体架构设计如下图所示,建立(租用)主服务器,后台管理员在 PC端进行内容与用户管理,用户在手机端浏览被推送的新闻与其他信息。后台与手机端之间利用 JSON 传输响应数据。利用磁盘阵列存储应用数据。设立备份服务器备份数据,保护系统数据安全(实际设计过程中主服务器和备份服务起均使用阿里云服务器并有其提供周边技术支持。)图 2.1 软件物理架构设计图由于系统在整体的运行中,需要实时处理用户的操作响应以及更新的新闻数据。因此对整个系统进行的三层划分。具体分布如下图:图 2.2 系统三层结构2.3 系统功能模块设计根据整体的需求分析与功能设计,确定了个性化推荐系统的架构设计,整个系统分为两大部分:Android 客户端与管理员后台。在 Android 客户端主要分为四个模块,即初始引导、新闻浏览、用户信息以及基础设置。在管理员后台主要分为三个模块,包括新闻发布模块,个性化推荐管理模块与用户管理模块。 如下图所示。图 2.3 系统功能结构设计图Android 客户端主要模块功能详解:(1)初始引导模块:主要包括用户第一次使用时,个人信息注册与登录,以及在初次使用手机客户端时使用方式的相关操作教程。(2)新闻浏览模块:为应用的主界面,包括新闻的推送界面、正文浏览、是否符合用户阅读习惯的标签选择,以及分享、评论等其他附属功能。(3)用户信息模块:用于用户个人信息的完善、修改与管理,新闻阅读偏好的选择。Web 管理平台主要模块详解:(1)新闻管理模块:对于通过爬虫技术抓取到的新闻进行编辑分类,(2)新闻发布模块:将编辑好的新闻进行统一发布。(3)用户管理模块:对用户的注册信息进行管理,以及由用户创造的评论进行管理。2.4 数据库设计根据系统的功能要求,设计了如下三个数据库表:(1)用户行为表:用以收集用户的阅读习惯。(2)用户信息表:包含用户注册时系统自动分配 ID、头像、用户名、邮箱等信息,以及后期自我完善的性别、年龄职业等信息。(3)新闻信息表:包含新闻源的编号、标题、评论、地址、内容、摘要、配图、等类别。2.5 用户界面设计2.5.1 界面设计风格用户界面是为用户提供人机交互的界面,良好的界面设计可以提升用户体验,在 Android5.0 以上的系统中,Google 公司提出了 Material Design 设计规范,使应用于系统整体上协调统一,界面风格较 Android4.4 之前的系统有较大的提升。本系统的手机用户端也采用 Material Design 设计规范,以便适用 Android5.0+系统,提升用户的整体体验。2.5.2 主要功能布局图 2.4 用户个人信息界面图 2.5 主界面图 2.6 新闻正文阅读界面图 2.7 关键字延伸阅读2.6 本章小结本章从新闻推荐系统的功能需求处着手,设计了系统的功能模块,而后从技术的角度出发,设计了系统的三层架构以及数据库链表。针对目前市场上主流的新闻客户端,为了形成差异化的优势,又着重介绍了三个新的功能,并为软件设计了初步的界面草图,以便在整体上了解系统的设计概况。3.个性化推荐算法及相关算法研究3.1 个性化推荐算法的基本原理个性化的推荐的处理过程是一个对数据处理加工的过程,其主要部分由输入数据、核心推荐算法、输出数据组成。图 3.1 推荐过程模型如上图所示,用户模型部分是整个系统的数据输入组成,其数据来源包括用户的基本数据和用户的日常使用数据,对用户使用数据的分析建模,转换为用户偏好特征,综合分析用户偏好特征和基本数据库,可以的用户的阅读新闻偏向性的特征向量。物品列表也是推荐系统的输入数据。通过计算用户之间的相似程度,将用户相似度较高的用户阅读记录作为推荐内容进行合并输出。推荐算法部分,是将之前经过计算过滤的新闻输出列表进行预测排序,将排序后的结果作为最终结果输出。依据上图所示原理,本设计的个性化推荐流程如下图所示:(1)在初始状态即冷启动的条件下,依据用户基本信息以及自行添加的兴趣列表进行初步筛选。(2)在使用过一段时间后,依据用户的使用记录中的偏好数据特征向量进行推荐。(3)同时构建用户组模型,计算出组内和用户相似度较高的其他用户,将相似用户的浏览历史作为用户可能感兴趣的新闻类型一并添加至推送列表。(4)为了提升用户体验以及考虑到新闻特有的实时性与突发性,系统会将部分非用户行为产生的数据如区域内热门事件、当前时间内热点新闻、和引起广泛讨论的新闻一并添加至推送列表。(5)将用户以往的使用记录中添加了“不感兴趣”的新闻从整体的推荐列表中剔除,形成最终的新闻推荐列表。图 3.2 个性化推荐流程3.2 协同过滤算法整个推荐系统的基础和核心是推荐算法,一般情况下,不同的系统会根据不同的需求将多种推荐算法混合使用,从而规避单一算法带来的冷启动问题、降低系统的整体计算复杂度。在目前的个性化推荐领域,使用较多的是协同过滤算法。协同过滤算法细分之下,又分为基于物品的协同过滤算法和基于用户的协同过滤算法。基于用户的协同过滤算法通俗的讲,是指对不同的用户进行相似度计算,找到相似的用户组,之后向组内的其他用户推荐其还为浏览过的信息。基于物品的协同过滤算法是指结合用户的浏览记录,推荐与浏览记录中用户偏好的相关同类信息。从两者的基本定义中可以看出,基于用户的协同过滤算法更加倾向于社会网络。而基于物品的协同过滤算法更倾向于个体。从新闻推荐这一领域的特性来讲,其综合复杂程度较高,每一篇文章会包含较多信息,而且新闻传播的模型整体上更加偏向于社会网络结构,所以运用基于用户的协同过滤算法会在一定程度上提高推荐的准确性。基于用户的协同过滤推荐算法的计算步骤总得来说可以分为 4 步:用户相似度计算建立相似用户组计算组内推荐新闻综合排序呈现(1)计算数据库内用户之间的相似程度。(在数据个体足够多时,计算反差系数省略一部分用户,降低计算量)(2)根据相似度的高低,组成相似用户组。(3)在相似用户组内,根据其他用户之间的相似程度,计算出每条其他用户已经阅读的新闻的推荐系数。(4)根据新闻的推荐系数,向其他用户推荐尚未阅读的新闻。3.3 基于社交网络的新闻推荐个性化推荐技术中关键的一步就是构建用户模型,在以往的开发过程中,由于系统用户数目有限,无论是通过显性方式还是隐形方式构建的用户模型都存在一定的局限性,导致最终的推荐结果误差较大。特别是在用户使用系统的初期,由于用户使用记录较少,无法有效的构建用户模型。而在当今的互联网环境中,各大互联网公司都提供了丰富的开发接口与数据接口,开发者可以通过“友盟+”提供的开发接口读取用户在新浪微博、微信等社交平台上的社交网络信息。一旦用户使用第三方账号进行注册、登陆,就可以读取该用户在其他社交网络的相关信息。便于更加精准的刻画用户形象,构建用户模型。当引入社交网络信息后,用户模型的构建便可以由三部分组成:分别为初始注册信息、社交网络、与用户行为记录。可以有效的提升用户建模的准确性图 3.3 新用户模型构建通过新浪微博的现有的开发接口,可以读取用户关注与行为列表,用以构建用户模型。图 3.4 新浪微博用户关系开发接口3.4 基于时间轴的热点新闻追踪技术在现实生活中,很多影响较大、受关注度较高的新闻,往往会有后续报道,很多新闻的时间跨度甚至长大数年之久,例如切尔诺贝利核电站事件的影响持续至今。用户在阅读这一类新闻时,往往对前因后果缺少了解,在 PC 端使用网页浏览新闻时,可以通过搜索引擎进行快速检索,但是在手机客户端中,实现这一动作相对较为繁琐,给用户带来了诸多不便。而现有的新闻客户端中,也没有切实可行的办法解决这一问题。通过对不同新闻间的文本相似性进行检测,将相似度较高的新闻归为一类,每一个类别则代表了一件被连续报道的事件。每一篇的新闻关注度有高有低,按照评论数或者点击率识别出受关注度较高的新闻,将此类新闻提取出来,按时间顺序排列,整个新闻的发展脉络就被呈现出来。文本相似度检受关注度检测按时间排序测当新闻产生的新的后续发展时,相应的后续报道也会密集展开。所以可以根据一定时间窗口内某一新闻的出镜密集程度,来判断该时间是否出现了新的发展。为了实现历史事件的时间顺序排列,引入 Event evolution mining 算法,首先,根据新闻的发布时间进行归类,两个新闻文本之间的时间间隔与相似性存在相关关系:(公式 3.1)利用上述公式计算两篇新闻的时间分布上的相似程度,其中 abs(ti-tj)表示两个不同新闻 ni 、nj 之间发生的时间间隔, 作为调和系数,进行归一化调和。同一事件的不同阶段报道须在同一个时间窗口之内,利用文本相似算法检测两个不同的新闻是否处于同一事件。(公式 3.2)利用该公式计算两个新闻的时间间隔,其中 Num(ci)表示新闻 C 中后续进展新闻的数目。分母则代表两个不同事件中两两报道的个数。归类之后,设置阀值 H,当近期新闻总数大于 H,则认为过滤出该新闻的一个重要发展阶段。代码实现:3.5 本章小结本章主要是从个性户推荐的基本原理入手,分析推荐系统的运行流程,为系统选定合适的推荐算法基于用户的协同过滤算法。同时为了提升用户体验,还着重介绍了利用 Event evolution mining 算法对新闻按时间轴进行排序。并附上相关实现代码。同时也介绍了基于社交网络的用户模型构建,引入了新浪微博第三方开发接口,提升系统整体性能。4.系统开发与实现在使用 C/S 架构的条件下,手机客户端是用户与系统进行交互的入口。为了达到推荐准确、用户体验良好这两大基本要求。Android 客户端必须注意界面的稳定性、友好性、易用性。后台管理则要求能够快速处理用户的数据请求,并能完成用户管理、媒体文件与数据存储的相关功能。4.1 开发环境目前可以进行 Android 开发的软件主要有 eclipse 与 Android studio 两种,本系统采用的是 Android studio1.5.1 版本进行开发。4.2 新闻管理后台的设计与实现4.2.1 新闻管理后台框架后台管理系统是整个推荐系统的控制中心,不仅依靠其实现新闻、用户等信息的管理,也涉及到数据的交换、推荐列表的生成等复杂工作。由于用户在手机客户端的每一次操作都作为用户行为记录反馈至系统当中,所以后台使用Spring+Hibernate+ Struts 2 开发框架进行开发。用户管理员 新闻数据请求 登录注册请求 用户行为数据 Struts Action ActionForm JSP页面 Struts配置文件等登录注册刷新加载设置数据新闻操作提交服务DAO类实体类Hibernate配置文件数据处理类Hibernate映Hibernate查看新闻射文件Session编辑新闻数据库配置文抓取新闻management件查看评论管理用户Mysql数据库图 4.1 Spring+Hibernate+ Struts 2 开发框架其中 Spring 在项目中负责业务处理,实现对另外两个框架的整合。Struts2.x 负责对 web 界面进行数据处理,Hibernate 用于映射数据库与对象之间的关系。4.2.2 协同过滤算法主要实现代码计算余弦距离:生成评分数据结构:计算组内相似用户:建立推荐列表:4.2.3 后台与客户端通信方式客户端与后台的通信主要分为显性数据和隐性数据两大部分,显性数据包括后台推送至手机端的新闻数据,隐性数据包括用户的行为记录等。以用户的登陆操作为例:当用户登陆时输入账号与密码,传输到登录用的login,建用户实体类实现,之后调用 DoPost()到后台进行登录验证,同时返回登陆是否成功的信号。如若成功,在客户端则跳转至相应的 Activity。当用户浏览新闻时,通过数据库中用户行为类进行数据的绑定,将操作类型所对应的代码调用对应的 Behavior 类中。当用户进行其他阅读操作时,后台判定用户当前操作,将数据返回 List,并将此写入 JSON 串,通过 POST 发送给手机端,并返回 HttpResponse 信息。4.3 特色重点功能详解4.3.1 关键词识别跳转随着新闻的数目、种类、来源逐渐增多,在如今的新闻文章中会出现较多对普通用户较为陌生的专业名词、地理名词,有时用户也会对新闻中出现的历史人物的生平经历、专业领域的新兴技术、网络出现的新鲜名词以及其他尚不了解的信息做深一步的了解。以往在 PC 端使用网页浏览新闻的时代,用户可以很方便的利用鼠标选中打开搜索引擎进行相关检索。但是在 Android 移动设备端进行同类操作时,则需要退出当前应用,打开手机浏览器进行检索,操作相对繁琐。关键词识别跳转功能正是为了解决这一问题,通过系统的计算,得出近期在新闻中出现频率较高的热词、人名、地名。并将这一部分词汇链接到百度百科的相印词汇解释页面。或者在点击相应词汇之后,跳转出该关键词近期相关新闻。方便用户进行深入了解。4.3.2 基于社会网络的新闻推荐个性化新闻推荐系统是通过算法的计算得到相应的推荐结果,但是无论是使用哪种算法,在推荐过程中都会产生一定误差。为了解决这一问题加入用户相似度模型计算,通过不同用户的浏览记录,计算出阅读偏好的用户组,当这一用户组中的某个用户浏览过一篇新闻之后,该篇新闻可以推送至用户组内的其他用户处,不断的对用户相似模型进行计算、修正。可以较大程度的推荐给用户感兴趣的新闻。4.3.3 历史新闻时序追踪在现实生活中,很多新闻会有后续新闻以及相关报道产生,例如 MH370 失事航班、东方之星遇难事故等,整个事件的处理会有一个较长的时间周期,在后续报道中用户对此前的报道已经淡忘。利用关键字时序追踪算法,将部分重点新闻的历史报道,按照时间排序,呈现在新闻主页的下方,便于用户浏览查看。4.4Android 手机客户端的设计与实现4.4.1 异步加载在第二章的系统体系架构中可以看出,在本系统中,生成的新闻推荐列表是通过添加到 JSON 数据串传输至 Android 客户端的,所以要求手机客户端能够在本地对新闻消息进行异步加载,实现对新闻内容的解析。4.4.2 客户端各功能的实现(1)用户个人信息界面:在主界面点击图标或者通过侧滑的方式进入。用户可以在此管理个人的帐号信息以及使用情况。包含的主要功能模块有我的信息、通知中心、收藏新闻、浏览记录、意见反馈以及检查软件版本更新等主要功能,下方有软件的整体设置以及退出登陆功能按钮。用户也可以在上方上传用户个人头像以及设置用户名等相关操作。(2)主界面:为用户日常浏览新闻的中心界面,包含新闻分类区域和新闻阅读区域,在上方有搜索按钮,可以搜索近期新闻。新闻阅读模块包括新闻标题、内容配图、新闻来源、发布时间,用户可以通过左滑的手势操作选出不感兴趣的新闻。也可以通过上下滑动,获取更多的新闻资讯。(3)新闻正文阅读界面:用户通过在标题页点击新闻标题,进入正文阅读界面,主要用于浏览新闻正文,在上方会显示新闻标题以及搜索框。中间部分包含新闻标题、新闻来源、发布时间等信息。正文中,专业领域名、人名、地名会生成跳转链接用不同颜色显示,点击即可进行延伸阅读。下方分别陈列不感兴趣、喜欢、分享、评论四种功能按钮,点击即可实现相应操作。(4)关键字延伸阅读界面:用户点击新闻正文中出现的跳转关键字后,弹出此界面。排在第一栏的是百度百科的对应词条。之后依次显示最近的相关新闻。地理位置信息中的城市选择:主界面逻辑实现:手机端预览图如下:4.4 本章小结本章从新闻后台和手机客户端两个方向出发,主要首先介绍了新闻推荐系统的后台框架组成,讲解新闻系统的后台如何与 Android 手机客户端进行通信,并附上将协同过滤算法实现的部分代码,在 Android 客户端方面,详细介绍了每个界面的功能以及布局,并附上部分开发代码与最终界面图。5.总结与展望本文结合个性化推荐算法初步实现了个性化新闻推荐的基本功能,在系统的设计过程中使用了来自友盟、百度、阿里云、腾讯推荐等第三方开源 SDK,相对成熟的技术与接口对系统的性能有较大的提升。但仍有一些相对不足的地方,例如由于对爬虫技术的相对欠缺,目前所显示的新闻文档还并不是来自于实时网络抓取,因此系统的抗压性和推荐的准确率,还需要进一步的测试与改进。互联网的不断发展使人们从信息时代步入到了数据时代,而信息过剩则带来了一系列的问题,如甄别信息成本增加、工作效率降低等。个性化推荐技术作为解决上述种种问题的关键技术,在将来的应用前景一定十分广泛。参考文献:1 Cagliero L, Fiori A, Grimaudo L. Personalized tag recommendation based on generalized rulesJ. Acm Transactions on Intelligent Systems & Technology, 2013, 5(1):328-328.2Li L, Chu W, Langford J, et al. A Context

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论