基于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.基于协同过滤算法图书推荐系统的设计与实现.pdf论文题目:基于协同过滤算法的图书推荐系统的 设计与实现 摘要 随着网络和信息技术的飞速发展,电子图书资源的数量也在以惊人的速度增 长,越来越多的用户通过图书购买网站购买图书或在图书阅读网站上阅读电子书, 不管是网上购书还是网上读书都会面临一个相同的问题,如何从海量的图书资源 ...https://max.book118.com/html/2024/0217/7053136045006042.shtm
2.推荐系统协同过滤算法对物品 的评分, 表示用户 对所有物品的平均评分, 代表所有物品的集合。 最终用户 对物品 的评分计算公式如下,在获得用户 对不同物品的评价得分后,根据得分进行排序就得到推荐列表。其中, 表示用户 与用户 的相似度, 表示用户 对物品 的评分。 基于用户的协同过滤算法缺点:( ...https://www.jianshu.com/p/0023df43622a
1.基于物品的协同过滤有以下优缺点:一是计算每两个物品之间的相似度...非常好,你已经很清楚地总结了基于物品的协同过滤推荐算法的优缺点。 对于第一点缺点,确实计算每两个物品之间的相似度是比较耗费计算资源的,但是随着计算机硬件的不断提升,这个问题也逐渐得到缓解。此外,还有一些优化方法,如采用索引结构、分布式计算等技术,可以进一步提高计算效率。 对于第二点优点,的确通过物品相似度的...https://wenku.csdn.net/answer/7353edb6f9c9470faf978d2646be24fb
2.协同过滤算法的优缺点学术指导常用经验分享协同过滤是一种常用的推荐算法,通过分析用户的行为和兴趣,发现相似的用户群体,并基于这些群体推荐相应的物品或服务。协同过滤算法可以分为基于用户的协同过滤、基于物品的协同过滤和基于模型的协同过滤等几种类型。以下是对协同过滤算法的优缺点分析:优点:1. 用户为中心:协同过滤算法以用户行为和兴趣为基础,通过分析用户...http://m.editoressay.com/news/849021/
3.推荐算法理论(一):协同过滤腾讯云开发者社区至此, 基于用户的协同过滤算法原理介绍完毕。基于用户协同过滤算法的代码,由于篇幅原因,这里就不放了,感兴趣的可以参考我们的fun-rec项目[基于用户的协同过滤代码](fun-rec/UserCF.py at master · datawhalechina/fun-rec ·GitHub) 1.4优缺点 User-based算法存在两个重大问题: ...https://cloud.tencent.com/developer/article/1981069
4.基于协同过滤算法的安规考核系统试题推荐方法研究本文主要完成了以下内容:1.研究了基于用户的协同过滤算法和基于物品的协同过滤算法,比较两者在不同推荐系统中的应用情况,比较其优缺点。结合安规考核系统的实际情况采用基于物品的协同过滤算法实现本课题的研究,根据需求在数据库中设计用于保存用户-物品评分矩阵和物品-物品相似度矩阵的数据表。2.学习中文分词技术,收集...https://wap.cnki.net/touch/web/Dissertation/Article/10079-1019233359.nh.html
5.系列学习——推荐算法综述同基于用户的推荐相比,基于物品的推荐应用更为广泛,扩展性和算法性能更好。由于项目的增长速度一般较为平缓,因此性能变化不大。缺点就是无法提供个性化的推荐结果。 · 协同过滤算法总结 两种协同过滤:基于用户和基于物品两个策略中应该如何选择呢?其实基于物品的协同过滤推荐机制是Amazon 在基于用户的机制上改良的一种...https://maimai.cn/article/detail?fid=242703356&efid=xCTosL0-evQLVNwAlACgEw
6.八股2024春招八股复习笔记1(搜索推荐AIGC)**协同过滤算法主要有两种类型:基于用户的协同过滤和基于物品的协同过滤。 基于用户的协同过滤算法通过比较用户之间的行为模式和兴趣来进行预测。例如,如果用户A和用户B在过去都喜欢相似的物品,那么当用户A喜欢一个新物品时,系统可以推荐给用户B。 基于物品的协同过滤算法则通过比较物品之间的相似性来进行预测。例如,...https://www.skycaiji.com/aigc/ai13693.html
7.基于JAVA+SpringBoot+Vue+uniapp+协同过滤算法+爬虫+AI的减肥小程序协同过滤算法:协同过滤算法是一种基于用户历史行为数据的推荐算法,它通过对用户历史行为数据的挖掘发现用户的偏好,基于不同的偏好对用户进行群组划分并推荐品味相似的商品。协同过滤推荐算法分为两类,分别是基于用户的协同过滤算法和基于物品的协同过滤算法。 https://community.sslcode.com.cn/669734ea962e585a256334a3.html
8.基于门控循环单元与主动学习的协同过滤推荐算法( latent factor mod~ el? LFM) 算法有更高的短时预测率,召回率,项目覆盖率以及用户覆盖数?能够有效预测用户短时兴趣?提升精度?发掘长尾 物品?且与原始 GRU 模型相比能够以更少的迭代次数达到相同效果? 关键词:协同过滤?门控循环单元?主动学习?深度学习? 时序化数据 中图分类号:TP311...http://gxbwk.njournal.sdu.edu.cn/CN/article/downloadArticleFile.do?attachType=PDF&id=1890
9.协同过滤是不是深度学习协同过滤算法的缺点协同过滤是不是深度学习 协同过滤算法的缺点 1 前言 众所周知,协同过滤算法是完全没有利用到物品本身或者是用户自身的属性, 仅仅利用了用户与物品的交互信息就可以实现推荐,是一个可解释性很强, 非常直观的模型, 但是也存在一些问题。但是协同过滤当中依旧存在着很多问题。https://blog.51cto.com/u_16099243/10409184
10....该仓库尝试整理推荐系统领域的一些经典算法模型基于物品的协同过滤算法(ItemCF): 给用户推荐和他之前喜欢的物品相似的物品 筋斗云:AI上推荐之协同过滤 协同过滤的特点就是完全没有利用到物品本身或者是用户自身的属性, 仅仅利用了用户与物品的交互信息就可以实现推荐,是一个可解释性很强, 非常直观的模型, 但是也存在一些问题, 第一个就是处理稀疏矩阵的能力比较...https://github.com/zhongqiangwu960812/AI-RecommenderSystem
11.推荐系统推荐系统简介分类以及长尾问题推荐算法:基于物品的协同过滤算法 参考《推荐系统实践》项亮 概念:基于物品的协同过滤算法,优化算法 对比:用户协同过滤的优缺点 python编码实现 1,算法定义基于用户的协同过滤算法基于商品的协同过滤算法 适用场景 时效性较强,用户个性化兴趣不太明显的领域长尾物品丰富,用户个性化需求强烈的领域用户较少的场合:新闻推荐物...https://www.pianshen.com/article/85642112599/
12.LearningDevelopUnion/fun算法评估 由于UserCF和ItemCF结果评估部分是共性知识点, 所以在这里统一标识。 召回率 对用户 $u$ 推荐 $N$ 个物品记为 $R(u)$, 令用户 $u$ 在测试集上喜欢的物品集合为$T(u)$, 那么召回率定义为: $$ \operatorname{Recall}=\frac{\sum_{u}|R(u) \cap T(u)|}{\sum_{u}|T(u)|}...https://openi.pcl.ac.cn/Learning-Develop-Union/fun-rec/src/branch/master/docs/ch02/ch2.1/ch2.1.1/usercf.md
13.大数据课程学习总结6篇(全文)6.基于协同过滤的推荐机制 基于协同过滤的推荐(这种机制是现今应用最为广泛的推荐机制)——基于模型的推荐(SVM、聚类、潜在语义分析、贝叶斯网络、线性回归、逻辑回归)余弦距离(又称余弦相似度):表示是否有相同的倾向 欧几里得距离(又称欧几里得相似度):表示绝对的距离 这种推荐方法的优缺点: ...https://www.99xueshu.com/w/file4b7yhm88.html