基于Hadoop平台的个性化新闻推荐系统的设计AET

(广西科技大学鹿山学院电气与计算机工程系,广西柳州545616)

关键词:Hadoop;MapReduce;聚类;个性化;Mahout

中图分类号:TP301.6文献标识码:ADOI:10.19358/j.issn.16747720.2016.23.006

引用格式:韦灵,黎伟强.基于Hadoop平台的个性化新闻推荐系统的设计[J].微型机与应用,2016,35(23):21-23,27.

0引言

1协同过滤算法介绍

个性化推荐主要分为协同过滤推荐、基于内容推荐、混合推荐。个性化推荐本质上是把用户与物品进行联系,使得用户能够发现自己所喜爱的物品,使得物品能够被所喜欢的用户所了解[7]。关于协同过滤的一个最典型的例子就是看电影,有时候不知道哪一部电影是我们喜欢的或者评分比较高的,那么通常的做法就是问问周围的朋友,看看最近有什么好的电影推荐。在询问时,都习惯于问与自己爱好相似的朋友,这就是协同过滤的核心思想。协同过滤推荐与传统的基于内容过滤推荐不同,协同过滤分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相似用户对某一信息的评价,形成对该指定用户对此信息的喜好程度预测。协同过滤主要分为基于用户的协同过滤和基于物品的协同过滤。

1.1基于用户的协同过滤算法

俗话说“物以类聚、人以群分”,拿看电影这个例子来说,如果你喜欢《蝙蝠侠》、《碟中谍》、《星际穿越》、《源代码》等电影,另外有个人也喜欢这类电影,而且他还喜欢《钢铁侠》,则很有可能你也喜欢《钢铁侠》这部电影。所以说,当一个用户A需要个性化推荐时,可以先找到与他兴趣相似的用户群体G,然后把G喜欢的、并且A没有听说过的物品推荐给A,这就是基于用户的协同过滤算法。

1.2基于物品的协同过滤算法

基于物品的协同过滤算法(ItemCF)是业界应用最多的算法,主要思想是利用用户之前有过的行为,给用户推荐和之前物品类似的物品。依然以电影为例,如果喜欢《蝙蝠侠》的用户有A、B、C和D,喜欢《碟中谍》的用户有A、C、D。那么可以认为《蝙蝠侠》和《碟中谍》拥有相似的用户群体,则很可能B用户也会喜欢《碟中谍》这部电影,于是推荐《碟中谍》给B用户。这就是基于物品的协同过滤算法。

2协同过滤算法用户的模型构建

协同过滤算法所需要的数据结构是用户id+新闻id+评分,为了将数据库中的数据形成这样的数据结构,通过查询新闻表的用户表来确定所查询的用户是否在其中,然后得到该用户浏览过的所有新闻id,最后对该新闻的喜爱程度进行预测。根据式(1)计算出Preference喜好值,其中Preference为预测的结果,ct为新闻聚类结果簇的个数,cn为当前新闻所在簇的新闻个数,unt为当前用户浏览过的新闻总数,nct为该新闻的浏览数。

3协同过滤算法物品的模型构建

其算法流程图如图2所示。

4个性化新闻推荐系统实现

基于Hadoop平台聚类算法的个性化新闻推荐系统,其目的是为让广大网民在浏览新闻时,为其提供一个个性化的新闻推荐系统。大量的信息使得用户找到自己需要的信息变得很困难。为了使互联网用户快捷地查找所需信息,个性化推荐系统的优势得到了体现,本文利用Hadoop的MapReduce模型实现并行快速地聚类海量新闻数据,大大提高了数据处理的速度,聚类使得新闻之间的相似度得以体现,再利用不同的协同过滤算法实现个性化的新闻推荐。系统使用了JSP、Servlet技术及Mahout开源项目编写程序,首先利用Java将新闻数据按约定格式处理并将其传到Hadoop的HDFS上,在安装好Hadoop的Linux端定时调用shell脚本聚类处理新闻,然后使用MySQL数据库存储数据,实现对新闻数据的协同过滤推荐处理。新闻推荐系统主要功能包括前台与后台的设计,图3所示为系统整体功能结构图,前台主要负责展示推荐的新闻信息结果和供用户浏览新闻;后台处理新闻数据,并将处理好的数据插入数据库供前台使用。

图4为新闻推荐流程图。选择基于用户的协同过滤推荐,系统将自动启动基于用户的协同过滤算法引擎进行数据的计算并将数据推送到页面中。同理基于物品的协同过滤算法相同。这个过程中查询所有人的浏览记录是通过多次的数据库查询得到的。

基于用户的协同过滤推荐系统效果如图5所示。

(2)当用户进行基于物品的协同过滤推荐操作时,将触发baseOnItemSert类,该类将查询出系统中的所有用户,并过滤掉admin这个测试用户,将所有的用户进行基于物品的协同过滤算法推荐,所有推荐结果存储在一个专门设计的newsModeBean类中,其他的操作基本与基于用户的协同过滤推荐一样。基于物品的协同过滤算法,提交数据的格式与基于用户的协同过滤算法一样。首先提取出所有的新闻,计算并建立新闻的共轭矩阵。然后使用用户向量点乘共轭矩阵可以得到推荐分数。

基于物品的协同过滤推荐系统如图6所示。

5结论

参考文献

[1]JIANGS,HONGWX.Averticalnewsrecommendationsystem:CCNS—anexamplefromChinesecampusnewsreadingsystem[C].ICCSE2014:Proceedingsofthe20149thInternationalConferenceonComputerScience&Education.Piscataway,NJ:IEEE,2014:1105-1114.

[2]杨武,唐瑞,卢玲.基于内容的推荐与协同过滤融合的新闻推荐方法[J].计算机应用,2016,36(2):414-418.

[3]刘金亮.基于主题模型的个性化新闻推荐系统的研究与实现[D].北京:北京邮电大学,2013.

[5]文鹏,蔡瑞,吴黎兵.一种基于潜在类别模型的新闻推荐方法[J].情报杂志,2014,33(1):161-166.

[6]项亮.推荐系统实践[M].北京:人民邮电出版社,2012.

[7]曹一鸣.基于协同过滤的个性化新闻推荐系统的研究与实现[D].北京:北京邮电大学,2013.

THE END
1.协同过滤算法的的儿童图书推荐系统+lw(源码+说明文档+mysql环境说明:开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat 开发软件:eclipse/myeclipse/idea Maven包:Maven 浏览器:谷歌浏览器。资源推荐 资源详情 资源评论 java毕业设计之基于协同过滤算法的图书推荐系统(ssm+vue完整源码+说明文档+LW+PPT).zip 浏览:142 https://download.csdn.net/download/wchg21131/90116128
2.javaee企业应用实战同意用户协议、隐私政策登录 立即注册忘记密码 公司简介|诚聘英才|网站联盟|当当招商|机构销售|手机当当|官方Blog|知识产权| 热词搜索 Copyright (C) 当当网 2004-2021, All Rights Reserved 京ICP证041189号|出版物经营许可证 新出发京批字第直0673号|食品经营许可证:JY11101050363440京ICP备17043473号-1|京公网http://product.dangdang.com/23572565.html
3.大数据毕设基于Hadoop的音乐推荐系统的设计和实现(六)随着音乐行业的不断发展和热爱音乐的人不断增加,为了适应当今社会人们追求质量和高标准的生活,从大量的歌曲中找到个人喜好的小部分歌曲成了当务之急,然而普通的系统已经无法处理这种相当大的数据,然而基于大数据的音乐推荐系统作为可以解决这个重要难题的主要解决办法,其方法的好用程度已经成为了人类高标准生活的重要的一https://developer.aliyun.com/article/1404874
4.基于协同过滤的电影推荐系统的设计与实现(协同过滤推荐算法伪代码)Taste 是 Apache Mahout 提供的一个协同过滤算法的高效实现,它是一个基于Java实现的可扩展的,高效的推荐引擎。Taste 既实现了最基本的基于用户的和基于内容的推荐算法,同时也提供了扩展接口,使用户可以方便的定义和实现自己的推荐算法。同时,Taste 不仅仅只适用于 Java 应用程序,它可以作为内部服务器的一个组件以 HThttps://cloud.tencent.com/developer/article/2059754
5.基于协同过滤算法的电影推荐系统的设计与实现.docx该系统在基于用户的协作过滤算法中使用欧几里得公式来计算用户之间的相似度,通过该方式可以得到用户之间的相似度,以达到找到用户的最佳邻居的目的,并实现向用户推荐相似电影的能力。与现有的基于内容的推荐算法相比,协同过滤推荐算法具有多种技巧,已在市场上得到了广泛的应用。该算法的最大优点是易于实现,因此可以方便地https://max.book118.com/html/2022/0610/6104050043004155.shtm
6.大数据时代试题综合题库D. 决策树算法 49)Web内容挖掘实现技术( 8 ABCD )。 A. 文本总结 B. 文本分类 C. 文本聚类 D. 关联规则 50)基于内容的推荐生成推荐的过程主要依靠( 9 ACD ) A. 内容分析器 B. 推荐系统 C. 文件学习器 D. 过滤部件 51)以下哪些管理规定对信息安全及个人隐私进行了保护( 10ABC ) https://www.360docs.net/doc/73fa81e4580102020740be1e650e52ea5418ce51.html
7.基于协同过滤算法的推荐系统推荐系统有着广泛的应用,电影推荐,商品推荐等都用到推荐系统。本文介绍协同过滤算法的基本原理,进而理解推荐系统的实现原理。 推荐系统的描述 我们以电影推荐系统来看一下怎么样以机器学习的角度来描述推荐系统。我们记 $n_u$ 为用户的数量,$n_m$ 为电影的数量,$r(i,j) = 1$ 表示用户 j 对电影 i 进行过https://www.jianshu.com/p/9b06ef8c79fa
8.基于协同过滤算法的推荐系统框架设计与实现现如今网络世界中一个用户可以通过电子商务系统获得很多便利,很多电子商务系统引入推荐引擎以求得类似实际生活中推销员的作用。推荐引擎的使用加快了协同过滤算法的研究,一个合适的算法将会为电子商务系统带来更多的收益。然而面对林林总总有关协同过滤的研究,大多只注重算法层,且研究过于理论,忽略了其在实际应用中的局限https://wap.cnki.net/touch/web/Dissertation/Article/1014008544.nh.html
9.GitHubRigoYao/GitHubChineseTop8 doocs/advanced-java 互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识,后端同学必看,前端同学也可学习 47.5k Java 09/17 9 macrozheng/mall mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城https://github.com/RigoYao/GitHub-Chinese-Top-Charts
10.基于Java+SpringBoot+Vue+协同过滤算法的电影推荐系统(亮点:智能五、系统实现 5.1 前端界面实现 5.1.1 首页 5.1.2 付费电影 付费电影会根据购买的电影类型来进行协同过滤! 5.1.3 协同过滤算法的应用 原始推荐如下: 集成协同过滤算法之后,电影的推荐会随着用户的喜欢程度进行自动排序,排名靠前的为用户点击次数、点赞次数等行为来控制! https://blog.51cto.com/u_14519396/7609250