基于深度学习的论文推荐系统的设计与实现

论文价格:150元/篇 论文用途:硕士毕业论文 Master Thesis 编辑:硕博论文网 点击次数:
论文字数:38455 论文编号:sb2022031510345644872 日期:2022-03-17 来源:硕博论文网
本文是一篇软件工程论文,本文在主题划分的时候,用的是 Word2Vec 算法,研究者可以尝试用其他有效的方法,包括 LAD 以及在 Word2Vec 改进的 Doc2Vec,从而进一步提高主题划分的准确率。

第 1 章 绪论

1.1 研究背景和意义
目前,是一个科技的时代,国家越来越注重教育问题。因此,近几年读大学和考研的学生越来越多,研究生在读研期间的研究属于自己合适的课题是至关重要的,毕竟这关乎着研究生的三年的研究生涯以及毕业后的就业方向,也是毕业论文的主要方向。目前,全国考研的学生很多,据统计,今年考研的学生大概有 300 万[1]。
在研究生期间,一位导师带的学生有很多,不能同高中、大学一样面面俱到,导师只能在学生的专业大方向下给予指导,至于专业的各种方向发展的前景、现阶段发展的情况以及自己适合的方向就需要同学们自己去阅读文献,去了解相关方向的发展情况。研究生在阅读文献的时候主要遇到的问题就是:查阅到的文献资料与期望的的文献类型并不匹配。
众所周知,全日制的研究生一般是三年,研一的时候选择自己专业的方向,并且学习与该方向相关的一些基础核心课程,学生在课余的时间应该多阅读与该专业方向相关的文献资料。这些文献资料最好是对该方向的发展前景相关的文献,鉴于研一的同学们大多数均是了解自己的专业方向,因此,文献中不宜出现大量与之相关的技术。在研二的时候,同学们慢慢的开始将学到的技术应用到实际生活中,这有利于学生们对自己的方向有更深的理解。这个时候学生就应该花一些时间去阅读该方向与技术相关的文献,学习别人是如何将自己学习到的知识应用到项目中去,从而能够转化成自己的成果。到了研三,学生就应该阅读近年来该技术研究的近况,着手准备自己的毕设,阅读与该毕业设计与之相关的文章,比较综合的,既有论述的部分,也要有技术应用的部分,即将该方向与实际应用结合起来。当然,不同的专业对应的文章内容也是不同的,本文中将研究生专业整体分为八大门类,主要包括:基础科学、工程科技、农业科技、医疗卫生科技、哲学与人文科学、社会科学、信息科技和经济与管理学[2]。本文的文章推荐系统也是基于以上的理论进行设计的,为同学们推荐相应的参考文献。
.............................

1.2 国内外研究现状
论文推荐系统主要涉及到推荐系统和文本分类两方面的技术,其中文本分类的任务是将文献资料进行正确分类,而推荐机制的任务是根据学生查询推荐相关的文献资料给学生。因此,本文的推荐策略是围绕这两方面的相关技术展开的,本节主要介绍目前推荐技术的研究现状、深度学习的研究现状以及基于深度学习的推荐系统的研究现状。
1.2.1 推荐算法研究现状
从推荐系统主要解决的问题来看,目前取得最广泛、最成熟的应用领域是商业领域,近几年来在论文推荐[3]领域也取得了长足的发展和进步。目前,国外著名的推荐系统主要有 Google News,Yahoo News[4],国内论文推荐系统做的比较好的如知网、维普、万方等。而推荐系统主要涉及的技术可以划分为:基于内容的推荐、协同过滤推荐、基于网络结构的推荐、基于关联规则的推荐、基于社交网络的推荐、基于深度学习的推荐以及混合推荐等。
关于推荐系统[5]的定义学术界有着不同的声音:个性化推荐是从推荐系统中在信息管理、信息检索以及信息挖掘中逐渐发展起来的一个细分领域,一直被誉为推荐系统里的一股清流。那么到底何为推荐系统?目前学术界广泛认可接受的定义是 Resnick 等人提出的“推荐系统是一种以电子商务网站的形式出现在用户面前,为用户提供有关于商品购买的建议,使用户能够更加容易的选择自己想要的物品,本质上是对现实世界中推销过程的一种模拟在现”[6]。上述定义是从电子商务的角度对推荐系统的定义,形象地把推荐系统类比于销售人员,以为网站提供收益为目的的向用户提供商品推荐,然后将其过渡到信息领域,可以认为是在信息过载的背景下,根据用户的需求进行信息筛选的一个过程,而中间用到的方法、技术称之为推荐系统。而目前推荐系统中常用的推荐算法主要分为三类:基于内容的推荐、基于协同过滤的推荐以及混合推荐。
......................

第 2 章 相关技术介绍

2.1 推荐算法理论相关
推荐系统作为解决信息过载最重要的途径之一,其核心方法即为推荐的具体策略,一直受到很多研究者的关注,在这一领域取得了丰硕的成果。
2.1.1 推荐算法定义
推荐算法是一种帮助用户找到其可能产生阅读行为包括阅读、评价、点赞、转发等的服务机制。例如当顾客去商店选购衣服时,衣服的样式及搭配方式成千上万,导购员通过分析顾客的基本需求或者从用户当前的衣着打扮上为用户推荐其可能会购买的衣服,极大地减少了顾客挑选衣服的时间,使顾客快速获得想要的购买衣服。同样对于论文推荐领域,学生没有时间阅读所有的文献资料,这就需要他们提前对文献资料进行分类,学生根据自己的需求去找相应文献的类型,然后通过他们的搜索记录以及阅读历史去挖掘学生的阅读行为特征,进而针对不同的学生群体推荐不同的文献资料。
2.1.2 相关推荐算法
推荐算法是组成论文推荐的最重要的模块,一个推荐策略的优劣直接决定了最终的推荐结果的好坏,本章节介绍了推荐算法系统的理论,为本文推荐策略的提出具有重要的指导意义。
一.基于内容的推荐
基于内容的推荐(Content-based Recommendation, CBR)也叫基于内容的过滤(Content-based Filtering, CBF),是应用于论文推荐领域最重要的策略。这种方法通过找出学生历史阅读文献资料相似的文献列表为学生推荐潜在与之相关的文献资料,这种方法不存在项目冷启动的问题,对于一篇学生未阅读过的论文,只需要计算该篇论文与学生历史阅读文献的相似度,便可以得到该论文的推荐指数,并且推荐效果会随着学生数据的增加越来越准确,当然这种推荐策略很容易限制学生拓展知识的阅读,推荐的结果往往局限在与学生阅读相似的一小部分文献内容,时间久了容易让学生对自己的专业认识相当有限。因此,本文通过分析学生历史阅读文献资料的关键字作为学生关注专业的模型,获取模型有以下几种常用的方法:
1. 提取学生历史阅读文献资料对应的关键字并构建专业关键词表,例如通过分析某一位学生的阅读历史提取其关键词为“神经网络”,“自然语言处理”,“计算机视觉”等关键词;
2. 统计这些关键词所属的专业领域,例如属于信息技术、工程科技以及基础科学等领域。
基于内容推荐可以用图 2.1 进行表示:
软件工程论文怎么写
软件工程论文怎么写
............................

2.2 文本分类算法理论相关
文本作为论文的主要载体,针对文本分类算法的研究对于提升推荐系统的性能、提高用户推荐体验发挥着重要的作用。
2.2.1 文本表示
在基于自然语言处理的文本分类中,语料库中的文本数据一般不止一个特征的属性,当然这些属性会造成机器学习模型训练中的过拟合问题,并且对模型的预测以及模型的泛化能力造成了极大的影响,除此之外,需要将文本数据转换成计算机可识别向量的特征,所以,接下来介绍文本的几种表示方式。一般用于文本表示的算法是词频-逆文档频率(TF-IDF)算法、布尔编码(one-hot-representation)、词向量(Word2Vec)[41]等方法。首先介绍 TF-IDF 算法。
一、TF-IDF 算法
在常用的加权技术算法中,TF-IDF 在信息检索和文本挖掘中是最常用的。早期的研究者们通过一个词在整篇文章出现的次数来表示该词在文本中的重要性。若一个词在文本中出现的次数很多,这就说明这个词对于文本的理解有着重要的影响,与此同时,它在语料库中的出现的次数会减少。其实现的过程是若一个特征属性在文本中出现的频率很高,而在语料库中出现的次数较少,则这个特征属性具有较好的划分能力,另外这个特征属性的值应该大于在其他语料库的特征值。
在 TF-IDF 算法中,TF 指的是词在语料库中出现的频次,即经常在统计学中提到的词频。但是为了使计算的词频不要过大,通常会取对数,使其数据控制在一定的范围之内。当然, DF 是指这个单词在文本中出现的次数,而 IDF是在求得 DF 之后再取倒数,最后还要将其进行取对数。
二、独立热编码(one hot representation)
布尔编码又称为独立热编码[42],是文本处理中比较常用的一种文本特征提取以及文本表示的方式。一般是用二进制表示的,通过 0,1 进行表示。其主要实现就是通过一个很长的向量来表达一个单词。一般来说,我们把语料库中的重复词汇过滤掉,剩下的全部词汇的个数作为词向量的长度,由于一个词只能通过一个向量来表示,即向量与单词之间是一一对应的,因此,在向量的分量中,有且仅有一个位置为 1,其余的位置均用 0 来填充,一般 1 出现的位置就是该单词在语料库中的位置。从上面的实现过程不难发现:这种特征提取的方式实现起来还是挺简单的,同时也能很快的找到单词在语料库中的位置。但是其缺点也是比较明显的,其中最为明显的就是造成矩阵稀疏的问题,这些特征均是离散的,这在很大程度上影响模型的训练效果,并且也会占用计算机很大的内存空间,随着数据的不断加大,计算机内存会占满并且可能会导致溢出情况的方式。
.................................

第 3 章 实验过程与结果分析···························· 28
3.1 实验环境····································· 28
3.2 数据集的获取····························· 28
3.3 关键词提取·······························31
第 4 章 文本分类在论文推荐系统中的应用························· 46
4.1 学生—论文交互流程····························46
4.2 推荐策略设计·································· 46
4.2.1 系统数据库·································47
4.2.2 论文推荐引擎································47
第 5 章 系统需求分析·····························51
5.1 系统功能性需求分析·····································51
5.2 系统非功能性需求分析···························· 52
5.3 本章小结································ 53

第 6 章 论文推荐系统的设计与实现

6.1 系统的总体设计
本系统其实并不复杂,就是将前面的实验的结果展示在我们的系统中。首先介绍系统的整体设计,主要包括数据采集层、数据存储层、可视化层,各层之间的详细内容见下面的架构图:
软件工程论文参考
软件工程论文参考
其中的数据采集层就是我们通过网络爬虫技术从知网、维普、万方爬取的文献资料。
数据存储层是将爬取的数据保存到 MySql 中,另外将 Redis 作为数据缓存。爬取到 MySql 的数据如下图 6.2 所示。
可视化层就是将训练好的模型,通过可视化的方式将论文资料展示给用户。
从上面的系统可视化架构可知,论文推荐系统主要包括论文推荐模块、用户信息模块、用户阅读文献的历史模块以及核心的文献查阅模块。
............................

第 7 章 结论与展望

7.1 本文工作总结
本文首先大致介绍了该课题研究的合理性以及所涉及到的技术到目前为止已经发展的情况,包括推荐算法的研究现状以及深度学习的研究现状。另外还介绍该课题研究的方法以及相应的技术路线。第二章介绍了本文用到的相关技术,包括推荐算法理论相关和文本分类算法的相关理论。与此同时,介绍了如何对一个训练的模型进行评估和模型评估相关的评估指标以及应该选择一个合适的指标对本文的模型进行评估。
接下来对本文深度学习中的四种神经网络模型进行了实验与结果分析。本文将数据集的来源做了详细的介绍,由于获取数据集是整个实验的前提与基础,因此,介绍了在爬取数据的过程中遇到的难点以及我们解决的过程。接着又介绍了针对爬取到的文献资料进行了文本的预处理、关键词提取以及主题划分等相关操作,为我们在四种深度学习的实验做了一定的处理,接着就是进行四种实验的整体设计以及分别给出了四种实验的结果以及对应的损失函数图以及准确率图,还给出了四种神经网络的 F1 的值。通过本次的实验可知:在相同的训练集、验证集和测试集中,改进胶囊神经网络模型的训练和预测的结果相对而言是较为理想的,最后将改进胶囊神经网络作为本文最后的模型。
另外将改进的胶囊神经网络应用到推荐系统中。首先将学生查找文献资料的方式做了分析,针对性的设计出了推荐系统相应的推荐策略,并且对系统做了需求分析,包括功能性需求分析与非功能性需求分析。
文章的最后通过一个系统将学生要查的文献资料通过可视化的形式展示给学生,本系统实现了前后端分离,有相对较强的容错能力,并且通过 Redis 作为缓存,在很大程度上提高了学生的返回速度以及提高了系统的安全性。另外用 Nginx 作为反向代理,Tomcat 作为 Web 服务器。另外,本课题的系统后端使用的是企业当前最流行的 SpringBoot + Mybatis 的框架,前端使用的是典型的 Vue.js 作为框架。本系统还支持学生查看相应文献的关联的文献详细内容,提供给学生对关注的领域一个系统的学习,初步应用还挺方便,基本上满足了学生的基本查询文献资料的功能。
参考文献(略)

QQ 1429724474 电话 18964107217