基于信息传播算法的推荐系统设计与开发

论文价格:免费 论文用途:其他 编辑:硕博论文网 点击次数:
论文字数:32636 论文编号:sb2020060114525931341 日期:2020-06-03 来源:硕博论文网
本文是一篇计算机论文研究,本文主要工作有以下几个方面:(1) 研究分析了国内外信息传播算法的现状以及相关的理论知识,提出将信念传播算法用于个性化推荐中。(2) 介绍分析目前推荐算法的现状以及发展方向,为本文提出的基于信念传播算法的推荐算法提供了理论支撑。(3) 通过 Python 爬虫技术对豆瓣电影的数据进行爬取,并对数据进行了预处理工作,对于电影的评论数据采用中文情感分析的方法进行了提取,最终将电影的评论评分进行了加权的整合,获得了用户对于电影的最终的评价。(4) 将处理好的数据集构建成因子图模型,利用循环信念传播算法在构建好的因子图模型中进行运算,最终获得推荐结果。(5) 搭建基于 Flask 框架的推荐系统,并将本论文设计的算法应用到搭建好的系统中,最终通过系统测试对系统进行相应的功能测试。

第一章  绪论

1.1 研究背景与意义
随着互联网的不断发展,它的规模越来越庞大,形式也越来越多样化,它不仅影响着人们的日常生活、学习等各方面,而且互联网的发展也在深深的影响着一个国家前进的步伐。我国网络发展迅猛,截止到 2018 年 6 月网民数量已经达到了 8.02 亿,由网络带来的经济发展新动能指数的贡献更是高达 34.5%[1,2]。众所周知,在 2019 年 6 月 6 日,工信部已经正式向三大运营商以及广电发放 5G(5th-Generation)商用牌照,这意味着中国正式进入 5G 商用元年。5G 是第五代移动通信技术,它的出现不仅仅意味着技术的升级,它更决定着未来人们生活工作学习的方式。5G的应用势必会带来移动互联网的迅猛发展,信息的数量也会成指数级别的增长,如何在用户数量众多,信息爆炸的情况下为用户在海量信息中推荐出有用的信息变的十分的重要[3]。
推荐系统的出现可以在海量的数据中根据用户的基本信息,来精准的为用户进行推荐,从而解决“信息过载”的问题。推荐算法在 1992 年已经被提出,但是真正应用还是在近几年。现在学术界已经提出了许多不同的推荐算法,经典的推荐算法主要分为基于内容的推荐算法、协同过滤推荐算法和混合推荐算法[4,5]。基于内容的推荐算法主要是根据计算项目之间的相似度,将相似高的项目进行推荐;协同过滤的推荐算法主要是根据计算用户之间的相似度来为用户进行聚类从而为兴趣相同的用户进行推荐。这些算法的核心主要是根据用户或者商品之间的联系,再或者根据相似度计算或者矩阵分解等方法来为用户完成推荐[6]。但是这些传统推荐算法都存在推荐新颖度不够、无法解决冷启动等问题。当一个新用户或者一个新商品出现,无法根据仅有的少量的信息来为用户进行准确的推荐[7,8]。
........................

1.2 国内外研究现状
随着信息爆炸时代的来临,越来越多的信息充斥在我们身边。推荐算法也在随着时代日新月异的改变,有很多新型的方法被提出,比如将深度学习与推荐算法相结合,或者将图模型与推荐算法结合等等[14,15]。这些新方法的提出不同于传统的基于内容的推荐或者基于协同过滤的推荐,它将时代发展的新思想与传统的推荐算法相结合,最后带来比传统算法更快更精确的推荐结果。近些年信息传播算法也取得了不小的发展,不论是理论研究还是应用研究,都有了一定的成果,这就为推荐算法的改进提出了新的思路。
1.2.1 信息传播算法研究现状
信息传播算法最早由物理学家 Pear 在上世纪 80 年代提出,随后被验证在求解概率问题时有比较好的效果,目前已经被广泛应用在计算机视觉、统计概率及人工智能等领域[16]。信息传播算法的研究主要涉及到概率图模型和图论相关知识。而现在主流的概率图模型研究主要包括贝叶斯网络和马尔科夫随机场,它们中前者是有向图模型后者是无向图模型,但是两者最后都是通过构造新的结构——因子图来进行相应的算法分析的。因子图主要是来表示若干个变量的联合函数,它可以比有向图和无向图更能显示的表示这个分解的细节。信息在因子图中有两个方向:从变量到因子和从因子到变量,根据多次叠加信息传递算法最终得到最后传递过来的信息[17,18]。信息传播算法的研究在初期一直以理论研究为主,Jonathan S. Yedidia 通过证明及验算使得信息传播算法更容易理解,并总结信息传播算法的基本性质[17]。Kschischang F 又系统的介绍了信息传播算法的体系,从基础的信息传播算法到循环信息传播算法以及调查传播算法,并详细介绍了它们的证明过程和性质[18]。王晓峰利用压缩映射理论证明了信息传播算法收敛的充分条件,并通过数值实验验证了该结论[19]。这些为信息传播算法在后期的应用提供了夯实的理论依据。
..............................

第二章 相关技术介绍

2.1 信息传播算法介绍
2.1.1  因子图
图模型通常用来表示随机变量之间依赖关系,它广泛应用在概率论中,不仅可以形象表示变量之间的联系,还可以通过转换使得运算简便易理解。在图模型结构中通常使用结点表示变量,用边来表示变量之间的联系。图模型通常被分为有向图模型和无向图模型。常说的贝叶斯网络就是典型的有向图模型,而马尔科夫随机场和因子图都是无向图模型的代表。目前图模型已经被广泛应用在各个领域,例如图像处理、天气判断和医疗诊断等问题上[33,34]。其中有向图模型和无向图模型如图 2-1  所示。
图 2-1  有向图模型
..........................

2.2 网络爬虫介绍
随着网络技术的不断发展,如何利用已知的信息来为未来的需求信息做出判断是必然的发展趋势,而且当人们面对爆炸式的信息量时搜索引擎可以极大的提高人们筛选信息的效率,此时搜索引擎如何能够尽量全面的获取已知的信息是搜索引擎不断发展的趋势。所以如何通过互联网来获取已知的信息是当下棘手的问题,网络爬虫技术的出现可以有效的为解决这个问题提出解决方案。网络爬虫英文名称为 Web Spider,形象的将这个技术比作是蜘蛛在互联网这个网上抓取猎物,这个网就是网页的链接地址,通过这个网页地址不断的读取从这个网页的内容到下个网页的内容,直至把整个网站的内容都抓取下来[40]。
2.2.1 网络爬虫的工作原理
网络爬虫主要是通过编写一个自动化请求网站并获取数据的程序,它主要通过程序发起请求,获取相应的相应内容,然后解析内容最后将数据保存下来。在发起请求时往往是通过 HTTP 库来向目标站点发送请求,然后等待服务器的相关响应;如果对方服务器给出相应的响应,此时就可以获得所获取页面的内容;然后将获取到的页面的内容类型为 HTML、Json、二进制图片等格式利用相关的网页解析库进行解析转换并进行保存。
有关数据表明截止到 2017 年仅仅中国的网页数量已经达到了近 2600 亿,并且每年还在以10.3%的增长率在不断增长,所以这些给网络爬虫技术带来了前所未有的挑战。为了提高网络爬虫的效率以及质量,提出了进行并行处理等相关方法。目前按照相关使用场景及实现技术将爬虫技术分为通用式爬虫、聚焦式爬虫、增量式爬虫和深层爬虫,在实际使用中往往是将这几种技术混合使用到实际系统中[41]。通用式爬虫主要是从一些 URL 来扩展到整个互联网上,通常使用深度优先策略和广度优先策略,采用并行方式进行爬取工作;聚焦式爬虫是指爬取指定主题的页面,与该指定主题无关的页面不进行爬取,通常根据这种方式就使得保存的页面数量比通用式爬虫少一大部分,节约存储空间并且节省网络的资源;增量式爬虫是指只爬取新变化或者新产生的页面,这种方式极大减少了数据的下载量;深层爬虫是指爬取那些只有在用户提交关键词之后才会获得的页面,它主要通过两种表单填写方式:基于领域知识的表单和基于网页结构分析来进行爬取工作[42]。
..............................
 
第三章  数据集的爬取与处理 .................................14
3.1 数据获取 ....................................14
3.2 数据处理 .............................19
3.3 本章小结 ...................................22
第四章  基于信念传播算法的推荐模型 .............................23
4.1 相关概念 ............................ 23
4.2 基于信念传播算法的推荐模型构建 ........................27
4.3 算法验证及结果验证 ...........................29
第五章  推荐系统设计实现 ............................. 34
5.1 系统需求分析 ................................. 34
5.2 推荐系统设计与实现 ............................35

第五章 推荐系统设计实现

5.1 系统需求分析
随着信息大爆炸时代的到来,如何利用仅有的用户信息来为用户在众多信息中推荐用户想得到的信息是这个时代的重要问题之一。中国的网民数量在近几年不断的增长,网民的质量也在不断的提高,越来越多的人愿意在互联网上发表自己真实的想法,人们也愿意通过别人的评论评分来决定自己接下来的行为。电影行业在互联网时代也在不断的发展完善,每年光中国就会上映1000 部左右,如何在众多的电影中选择用户会喜欢的电影就变得尤其重要,电影推荐系统也应运而生。本系统的主要目标是根据已知的用户基本信息利用本文提出的基于信念传播算法的推荐方法来为用户进行个性化的推荐。本系统的可以进行基本信息的修改填写,其中包括登录密码、职业、年龄、兴趣等信息的管理。系统需要通过用户的基本信息以及对已观看过的电影的评论评分等的信息,来为每个用户进行个性化的推荐工作。
通过上面对本系统的基本分析,又通过对系统的功能性需求和非功能性需求两个方面来为本系统进行详细需求分析。
(1) 功能性需求分析
电影推荐系统的设计主要是利用用户的已知信息来为其进行个性化推荐工作,在对本系统进行详细设计之前,要结合实际的应用场景来对本系统进行详细的设计。本系统的主要用户可以进行注册、登录、填写基本信息以及对电影进行评论等基本功能,而系统需要为其进行推荐工作: 1)  用户注册及登录功能
对于未注册的用户在初次使用本系统时需要先进行注册,包括设置用户名、密码以及电话;对于已经注册过的用户则需要填写用户名及对应的密码才可以登录进本系统中。这为本系统的安全性提供了一定的保障,用户可以通过注册登录来继续对本系统进行相关操作。
2)  用户基本信息管理功能
对于用户来说,在系统中可以填写或者修改用户的基本信息,其中用户的性别、年龄、职业等信息。这些信息为推荐模块提供了基础数据,为用户进行个性化推荐服务垫定基础。
图 2-5  网络爬虫流程图
..........................

第六章 总结与展望

6.1 总
随着信息爆炸时代的到来,如何在海量信息中为用户进行个性化的推荐变得十分有意义。近些年,信息传播算法不管是在理论还是在实际应用上都取得了一定的进展,所以一种新型的基于信念传播算法的推荐方法也应运而生。信念传播算法可以有效地计算出节点之间的置信度,将这种方法应用到推荐算法中,可以为用户提供更高效的个性化推荐服务。
本文主要工作有以下几个方面:
(1) 研究分析了国内外信息传播算法的现状以及相关的理论知识,提出将信念传播算法用于个性化推荐中。
(2) 介绍分析目前推荐算法的现状以及发展方向,为本文提出的基于信念传播算法的推荐算法提供了理论支撑。
(3) 通过 Python 爬虫技术对豆瓣电影的数据进行爬取,并对数据进行了预处理工作,对于电影的评论数据采用中文情感分析的方法进行了提取,最终将电影的评论评分进行了加权的整合,
获得了用户对于电影的最终的评价。
(4) 将处理好的数据集构建成因子图模型,利用循环信念传播算法在构建好的因子图模型中进行运算,最终获得推荐结果。
(5) 搭建基于 Flask 框架的推荐系统,并将本论文设计的算法应用到搭建好的系统中,最终通过系统测试对系统进行相应的功能测试。
参考文献(略)

如果您有论文相关需求,可以通过下面的方式联系我们
点击联系客服
QQ 1429724474 电话 18964107217