基于知识图谱的热点文章发现算法研究分析计算机科学与技术专业.docx

上传人:李司机 文档编号:7002718 上传时间:2024-04-05 格式:DOCX 页数:36 大小:266.89KB
返回 下载 相关 举报
基于知识图谱的热点文章发现算法研究分析计算机科学与技术专业.docx_第1页
第1页 / 共36页
基于知识图谱的热点文章发现算法研究分析计算机科学与技术专业.docx_第2页
第2页 / 共36页
基于知识图谱的热点文章发现算法研究分析计算机科学与技术专业.docx_第3页
第3页 / 共36页
基于知识图谱的热点文章发现算法研究分析计算机科学与技术专业.docx_第4页
第4页 / 共36页
基于知识图谱的热点文章发现算法研究分析计算机科学与技术专业.docx_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《基于知识图谱的热点文章发现算法研究分析计算机科学与技术专业.docx》由会员分享,可在线阅读,更多相关《基于知识图谱的热点文章发现算法研究分析计算机科学与技术专业.docx(36页珍藏版)》请在三一办公上搜索。

1、摘要1Abstract2前言3第一章绪论41.1 研究背景及意义41.2 论文主要工作51.3 本文组织结构5第二章相关知识及技术简介72.1 知识图谱简介72.2 Neo4j图形数据库与CyPher简介72.3 网络爬虫介绍82.4 PageRank算法简介92.5 Sigmoid函数简介102.6 本章小结11第三章问题描述与算法设计123.1 问题描述与基本思路123.2 具体算法设计143.2.1 知识图谱构建15322期刊排名爬取16323论文引用网络权重模型的设计163.2.4 作者合作网络权重模型的设计173.2.5 系统运行流程183.3 本章小结19第四章算法实现与结果分析2

2、04.1 算法实现204.2 结果分析244.2.1 系统运行时间分析244.2.2 平均引用次数分析254.2.3 期刊均分分析294.2.4 结果分析总述33第五章总结与展望345.1 本文总结345.2 未来展望34参考文献35错误!未定义书签。摘要论文推荐是一个有趣并且有挑战的研究工作,其目标在于根据用户的需求向用户推荐相关论文。论文推荐研究已经进行了数十年,GoogleScholar等学术搜索引擎可以有效地帮助用户根据输入关键字和约束条件来查找论文,但由于理解用户需求的困难以及发布的快速增长,返回的结果并不总能满足用户的要求。近年来,在论文推荐方面的研究已经很多了。主流方法是根据内容

3、的相关性(包括标题,关键词,摘要或全文)找到与输入关键词最相关的论文。然而,由于总是有大量的论文共享相同的关键词,就使得推荐结果不具有高精度。因此,作为补充,往往可以研究论文之间的引用关系,以期达到提高推荐精度的目的。本文就着眼于研究论文之间的引用关系,以达到推荐出当前的热点文章的目的。所谓热点文章,指的是综合得分较高,具有典型代表性的文章。这个综合得分不仅取决于当年某篇论文被引用的次数以及它引用的论文的得分,还取决于该篇论文所发表的期刊、会议的排名以及写作该篇文章的作者们的影响力。基于以上想法,我使用DBLP中的DBLP-citation-network-Oct-19文件中所提供的数据构建了

4、一个知识图谱,记录了每篇论文的相关信息(作者、主题、关键词、发表的期刊和发表的年份等),各论文之间的引用关系。基于这个知识图谱,设计了一个基于PageRank的算法来计算各篇论文的综合得分,通过这个综合得分来达到发现热点文章的目的。所推荐出来的热点文章应当在期刊排名、被引用次数、引用论文的得分和作者影响力这几个或者某几个方面具有较好的排名。因此,对于推荐出来的热点文章我在以上几个方面进行验证,并调整算法参数以期整个系统能更加合理。关键词:引文网络;知识图谱;论文推荐;PageRank;热点发现AbstractPaperrecommendationisaninterestingandchalle

5、ngingresearchtask.Itsgoalistorecommendrelevantpaperstousersbasedontheirneeds.Thepaperrecommendationresearchhasbeenconductedfordecades.AcademicsearchenginessuchasGoogleScholarcaneffectivelyhelpusersfindarticlesbasedoninputkeywordsandconstraints.However,duetothedifficultyinunderstandinguserneedsandthe

6、rapidgrowthofpublications,thereturnedresultsarenotalwaysmeettheusersrequirements.Inrecentyears,therearemanystudiesonpaperrecommendation.Themainstreammethodistofindthepaperthatismostrelevanttotheinputkeywordsbasedontherelevanceofthecontent(includingtitle,keywords,abstractorfulltext).However,sincether

7、earealwaysalargenumberofpaperssharingthesamekeywords,therecommendationresultsdonothavehighaccuracy.Therefore,asasupplement,citationsbetweenpapersareoftenstudiedinordertoachievethepurposeofimprovingtheaccuracyofrecommendationresults.Myarticlefocusesonthestudyofcitationsbetweenpapersandthentoachieveth

8、epurposeofrecommendingcurrenthotpapers.Theso-calledhotpapersrefertopaperswithhighcompositescoreandtypicalrepresentativeness.Thiscompositescoreofapaperdependsnotonlyonthenumberofpapersthatciteditintheyearandthescoreofthepapersitcited,butalsoonthepublicationofthepaper,therankingoftheconference,andthei

9、nfluenceoftheauthorswhowrotethispaper.Basedontheaboveideas,IusedthedataprovidedintheDBLP-citation-network-Oct-19fileintheDBLPwebsitetoconstructaknowledgemapwhichrecordedinformationabouteachpaper(authors,topics,keywords,publishedjournals,andpublishedyears,etc.)andcitationsrelationsbetweenpapers.Based

10、onthisknowledgemap,analgorithmbasedonPageRankwasdesignedtocalculatethecompositescoreofeachpaper.Throughthiscompositescore,thepurposeofdiscoveringhotpaperswasachieved.Therecommendedhotpapersshouldhaveagoodrankinginseveralorallaspectssuchastherankingofjournals,thenumberofcitationscited,thescoreoftheci

11、tationofpapersandtheauthor,sinfluence.Therefore,Iverifiedintheaboveaspectsandadjustedthealgorithmparameterssothattheentiresystemcanbemorereasonable.Keywords:Citationnetwork;Knowledgemap;Paperrecommendation;PageRank;Hotpaperdiscovery前言在互联网时代,数据量的爆炸式增长使得有效信息的获取变得越来越复杂和困难,所以,搜索和推荐成为了人们获取信息的主要方式。在各种各样的搜

12、索或者推荐系统中,如何合理组织和处理大量的数据信息是一个基本的问题。基本的数据组织方式模型有三个,分别为层次结构模型,网状结构模型和关系结构模型。其中,关系结构模型被广泛地运用在各种需要进行数据存储的应用中。但是,当涉及到大量数据和多表查询的时候,关系结构模型的查询效率并不能满足需求,在这种情况下,往往采取网状数据结构模型进行数据存储。由于本文数据集具有较复杂的引用关系及较大的数据量,所以我采取了Neo4j图形数据库来进行数据的存储与组织,也就是使用Neo4j图形数据库构建了论文引用信息的知识图谱。解决了数据的存储组织问题,还要解决如何探索数据之间的关系,从而达到利用引文关系及论文信息推荐出当

13、前的热点文章的目的的问题。在此,我考虑当年某篇论文被引用的次数以及它引用的论文的得分,该篇论文所发表的期刊、会议的排名以及写作该篇文章的作者们的影响力等因素,提出了一个综合得分的概念。然而,论文排名和作者排名的双重问题不能单独处理。因为,论文得分的计算依赖于所写作该论文的作者的得分,而论文得分的改变也会使得作者的得分发生改变。因此,最后,我们提出了一种新颖的论文排名算法,它交织论文和作者的排名。并且同时对于推荐结果进行了相应的验证操作,以验证算法的合理性。本文完成的主要工作如下:(1)学习Neo4j数据库的相关知识,利用DBLP的数据完成论文信息及引文网络的知识图谱的构建。(2)学习简单的网络

14、爬虫技术,爬取CCF上的期刊排名,并写入关系数据库中。(3)构建作者合作网络以及论文引用网络,实现基于PageRank的算法计算综合得分。(4)对作者合作网络及论文引用网络进行交织迭代收敛,得到推荐的热点文章,(5)对推荐的结果进行验证,以调整算法设计的参数使得整个推荐系统更加合理精准。第一章绪论首先本章简要介绍了本文的研究背景和意义,紧接着介绍了本文所做的主要工作。最后,对整篇论文的组织结构进行了简要概括。1.1 研究背景及意义论文是各个学术领域的研究人员记录学术研究及研究成果的文章,是进行学术研究探讨学术问题的一种手段,同时也是描述学术研究成果进行学术交流的一种载体。在进行学术研究的时候,

15、研究人员往往先查询学习前人的研究成果,然后对自己已有的想法思路进行进一步的思考,以达到学习或者创新的目的。这样就使得研究人员创作出来的论文拥有一些必要的参考文献。在很多情况下,一个人的思维往往并不够全面,所以很多学术研究在进行的时候往往以团队合作的形式进行,以期达到使这一阶段研究完美的目的。因此,一篇论文往往由几个作者合作来完成。每年,每个具体的学术领域都会有新的论文被发表出来,如何在卷帙浩繁的论文中快速地得到自己想要的论文,这是很有意义的问题。主流方法根据内容的相关性找到与输入关键词最相关的论文。首先用传统的信息检索技术测量相关性,然后用主题模型进行改进。然而,由于总是有大量的论文共享相同的

16、热门话题,所以基于内容的前K推荐结果通常不具有高精度。作为补充,一些其他方法使用论文之间的引用关系进行推荐,这些方法倾向于在推荐结果中推荐引用论文更多的以及评分更高的论文。例如,Winoto等人提出的上下文感知的多维的论文推荐系统,另一种是情境感知引文推荐系统,它通过测量引用文章和论文之间的上下文的相关性进行推荐。以及一种先使用本体作为构建用户配置文件的基础,然后使用本体网络进行分析来协助推荐的推荐系统。论文的引文分数不仅取决于论文的发表频率,还取决于引用论文的论文得分,因此根据论文引用网络,采用RandomWalk等算法计算论文的排序得分。还有一些方法通过将软聚类论文放入兴趣小组或开发多层神

17、经网络概率模型来学习引用论文上下文文义来改进基于论文引用网络的方法。基于学术社交网络的另一种方法,即作者合作网络,倾向于推荐与用户兴趣相同的共同作者的共享论文。但是这种方法可能会忽略一些由很少合作撰写的作者所撰写的重要论文(即共同作者网络图中的一些孤立节点)。受以上内容启发,提出一种引文网络和作者合作网络相互迭代影响的排名算法。1.2 论文主要工作本文对DBLP中的论文引用数据进行合理的组织存储,以期形成包含论文引用关系,论文发表所在期刊、会议,论文发表年份,论文作者等相关信息的知识图谱。然后基于此知识图谱,构建出具体领域的论文引用网络以及相对应的作者合作网络,依据CCF爬取到的期刊排名,给论

18、文引用网络赋初始值。依据PageRank算法的基本思想,设计了一个综合考虑了引文得分、引文发表年份、引文数量、引文作者得分和论文发表所在的期刊、会议的算法,用来计算具体某年某篇论文的综合得分;同样地,该算法被运用到作者合作网络之中,因为作者合作网络和论文引文网络具有类似的特点,需要考虑某位作者历年来写过的论文以及合作过的作者的得分等各个因素。因为论文引用网络和作者合作网络相互影响相互促进,最终我采取按年迭代收敛的方式来进行整个系统的计算迭代,然后推荐出热点文章。最后,对推荐出的论文进行反向验证,验证它们是否在期刊排名、被引用次数、引用论文的得分和作者影响力这几个或者某几个方面具有较好的排名。综

19、上所述,本文的主要工作可以被划分为以下几个部分:(1)学习Neo4j图形数据库的相关知识,设计合理的存储结构将DBLP中的论文引文数据构建成知识图谱。(2)学习爬虫技术,爬取CCF上的期刊、会议排名,存储到关系数据库中方便后续的使用。(3)根据知识图谱中的内容,构建出具体某个领域的论文引用网络以及作者合作网络。(4)实现基于PageRank的算法,利用Sigmoid函数进行归一化操作,按年份对论文引用网络和作者合作网络进行交织收敛迭代,最后达到整个系统的计算收敛,得到推荐的结果。(5)对推荐结果进行验证操作,并调整算法的相关参数使得系统更加合理与精确。1.3 本文组织结构本文总共分成五个章节,

20、具体章节结构如下:第一章为绪论。主要介绍了本文工作的研究背景和意义,同时对本文所做的主要工作进行简要的介绍。第二章为本文工作所用到的相关技术知识。本章主要介绍知识图谱和Neo4j图形数据库、网络爬虫、PageRank算法和Sigmoid函数的基本内容。第三章为问题描述与算法设计。本章介绍了本文所解决的具体问题,提出了主要解决思路,最后给出了每部分具体的算法设计。第四章为算法实现与结果分析。对本文的主要算法给出了具体实现细节及公式,同时对最后结果做了简要的分析与说明。第五章为总结与展望。总结并归纳本文,发现不足,同时对后续的工作提出设想。第二章相关知识及技术简介本章主要介绍系统实现过程中需要学习

21、和涉及的相关知识和技术,主要包括:知识图谱、Neo4j数据库及CyPher查询语句、网络爬虫、PageRank算法和Sigmoid函数。2.1 知识图谱简介在百度百科中,知识图谱被这样介绍:知识图谱(KIWWIedgeGraph/Vault)又称科学知识图谱,在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与组织关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。本质上,知识图谱是一种揭示实体之间关系的语义网络,可以对现实世界的事物及其相互关系进行形式化地描述。它是一种基于图的数据结构,由节点和边组成。其中节点即

22、实体,有一个全局的ID标识它,关系(属性)用于连接两个节点。通俗地讲,知识图谱就是把所有不同种类的信息(HeterOgeneOUSInformation)连接在一起而得到的一个关系网络。知识图谱支持从“关系”角度去分析问题。基于知识图谱,文档不再只是由关键词向量模型来表示,而是由其中的实体以及实体之间复杂语义关系来表示。知识图谱最早由谷歌提出,例如搜索何猷君,可以关联出何猷君的父亲,何猷君历年女友等与关键词相关的信息,所以,主要用于优化搜索引擎。也就是说搜索引擎所具有的知识图谱越大,和关键词有关的信息越多,再通过分析输入的需求,计算出可能最想看到的信息,通过知识图谱可以大大提高搜索的质量和广度

23、。通过大数据抽取和集成可以创建知识图谱,基于此,可以通过推理(通过规则引擎,针对实体属性或关系进行挖掘,用于发现未知的隐含关系)和实体重要性排序(当查询多个关键字时,搜索引擎将选择与查询更相关的实体来展示,常用PageRank算法计算知识图谱中实体的重要性)来进一步挖掘知识图谱,进一步增加知识图谱的知识覆盖率。2.2 Neo4j图形数据库与Cypher简介图形数据库就是将数据存储在图(GraPh)结构中,图形数据库可以看作是节点与关系的集合”3就是将数据存储在拥有属性的节点中,并用关系将这些节点组织起来,如图1所示。图1图形数据库组织图数据的存储的目的是为了检索,在图中,可以通过遍历算法完成查

24、找与搜索操作,同时可以查找出图中的节点之间的路径。因为索引可以提高搜索和查找的效率皿,所以,通常情况下,只是想通过某个属性的值找到某些或者某个节点或关系,而不是遍历整个图就可以使用索引来进行查找。例如,根据论文的发表年份查找当年的所有论文。Neo4j是一个高性能的图形数据库,它将结构化的数据存储在网络上而不是表中,Neo4j被成一个高性能的图引擎,该引擎具有成熟数据库的所有特性。在Neo4j中,可以使用CyPher语句来进行相关操作。CyPher是一个描述性的图形数据库查询语言,它允许不编写图的遍历代码而能对图形数据库进行有效率的查询Cypher的许多关键字如like和Orderby是受SQL

25、的启发而创造的,也有模式匹配和正则表达式。因为Neo4j的存储原理使得它的查询速度是在0(1)级别的复杂度,查询高效CyPher查询语句具有以下几个基本的语法组成:(1) START:图中的开始点,可以通过元素的ID或索引查找获得。(2) MATCH:图形的匹配模式。它可以匹配复杂的关系路径,并且束缚于开始点。(3) WHERE:是过滤条件,可进行正则匹配。(4) RETURN:返回所需要的查询结果。2.3 网络爬虫介绍网络爬虫(WebCraWler)(又被称为网页蜘蛛,网络机器人或网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。爬虫的一般工作流程为四:根据初始提供的U

26、rI集合开始爬取工作,然后对下载后的页面进行分析,提取出新的url,将这些Url加入到待爬取的Url集合中。不断重复以上过程,直到终止条件或者待爬取UrI集合为空。网络爬虫的基本工作流程如图2所示。CSTART,初始URL次取网页N提取新的URL放入IJRI队列图2网络爬虫基本工作流程常见的网络爬虫加有:通用网络爬虫、聚焦网络爬虫、增量式网络爬虫和深层网络爬虫。目前对爬虫的研究有很多,成熟的爬虫框架也较多。下面主要介绍我们使用到的爬虫框架已本文工作使用的是Python编程语言,而Python中爬虫主要有:MeChanize、BeaUtifUISoUP+urllib2等。其中,MeChaniZe

27、是一个PythOn库,它用于与网站的自动化交互。在Python中BeautifulSoup和UrIlib2两个库的使用就可以实现一个爬虫。本文就采用这种方式实现对CCF期刊排名的简单爬取,并将爬取结果存储在Python3内置的一个SQLite数据库中。其中,Urnib2这个库主要负责Web页面的获取、表单的提交、http服务器上的验证、与非http协议之间的通信以及一些异常处理;BeaUtifUISOUP这个库则负责网页的抽取。当然,也有很多其他的爬虫框架,但由于爬虫并不是我们工作的重点,不再多做介绍。2.4 PageRank算法简介PageRank,网页排名,又称网页级别、Google左侧排

28、名或佩奇排名,是一种根据网页之间相互的超链接计算网页重要性的技术。PageRank通过网页间的链接关系来确定一个页面的等级。因此,类比网页之间的链接,我们可以将论文的引用关系(作者的合作关系)看成PageRank中的网页超链接。PageRank最基础的思想是:让网页的链接来投票,一个页面的重要性由所有和它有链接的页面的重要性来决定。换句话说,到一个页面的一个超链接就对该网页投了一票。假设一个由4个页面组成的小系统:A,B,C和D。如果A和所有页面有链接,那么A的PR等于B,C、D的PR的和。PR(八)=PR(B)PR(C)PR(D如果我们在上述假设上继续进行假设,B也有链接到A和C两个页面,同

29、时,D除了链接到A以外还链接了两个页面,也就是总共三个页面。一个页面只能拥有一票,所以B给个A和C半票。按照同样的逻辑,D只能对A投出三分之一票,那么A的PR如下式这样进行计算。PR=竽+竿+半换句话说,一个页面的PR值被它链接的页面所平分。PR-PR(B).PR(QJRM)PR(八)-E+诟Te最后,投票结果需要再乘上一个系数。由于没有其他页面相连接的页面,不会对其他页面进行投票,所以,GOogIe给每个页面赋了一个最小值:pw-(w+WW尸丁说明:d为系数,N为页面总数。1998的年原文中最小值是l-d,而不是(l-d)N.2.5 Sigmoid函数简介在对系统进行初步设计实现之后,我发现

30、由于数据量的巨大,最初设计的基于PageRank的算法存在一定的问题。在分析了问题原因以后,采取了SigmOid函数对数据进行了进一步的归一化操作,所以下面简单介绍该函数。Sigmoid函数是一个在生物学中常见的S型的函数,也称为S型生长曲线,在信息科学中,由于其单增以及反函数单增等性质,Sigmoid函数常被用作神经网络的阈值函数,将变量映射到0,1之间例。Sigmoid函数定义公式如下:函数曲线图如图3:图3Sigmoid函数曲线图Sigmoid是使用范围最广的一类激活函数,具有指数函数形状,(0,1)的输出还可以被表示作概率,或用于输入的归一化,代表性的如Sigmoid交叉燧损失函数。但

31、是,SigmOid也有缺陷,最显著地就是饱和性。从上图可以看到,其两侧导数逐渐趋近于0,有这种性质的激活函数被称为软饱和激活函数。此外,SigmOid函数的输出均大于0,使得输出不是0均值,这称为偏移现象,这会导致后一层的神经元将得到上一层输出的非0均值的信号作为输入。但因为本系统只将该函数用作输入归一化操作,上述函数缺陷并不能影响最终结果。有关系统合理性问题将在后面进行叙述。2.6 本章小结本章主要简单介绍系统实现过程中需要学习和涉及的相关知识和技术,主要包括:知识图谱、Neo4j数据库及CyPher查询语句、网络爬虫、PageRank算法和SigmOid函数。其中Neo4j数据库及CyPh

32、er查询语句是使用到的相关工具,只对其内容进行简单介绍,不做详细展开。对于其他几个知识及技术进行了简单必要的介绍,有关它们具体地使用方式将在后续章节中进行具体介绍。第三章问题描述与算法设计本文的工作是使用DBLP提供的论文引用数据,设计合理的算法推荐出某年的热点文章。本章介绍本文工作的具体问题描述和具体地算法设计。3.1 问题描述与基本思路DBLP提供的DBLP-CitaliOn-network-Oct-19.txt数据中存储了论文的一些信息,这些信息包括论文的标题、作者、发表年份、发表期刊、摘要、引用的论文信息(引用的论文的index)和本篇论文的indexo我的任务就是根据这些信息,构建出

33、论文引文的知识图谱,然后根据这个知识图谱,设计相应的算法,推荐出热点文章,最后,对推荐结果进行必要的验证,以证明算法的合理性。首先,给出热点文章的定义。热点文章就是综合被引用次数、引用的文章影响力、作者影响力和发表的期刊或会议排名这几个方面的排名之后,整体表现较为优异的文章。如何设计算法推荐出这样的文章,是本文的主要任务。现在,对已有数据进行简单的介绍分析。DBLP-CitaliOn-network-Oct-19.txt文件中存储了形如图4的数据:exaple:*Applyingthegeneticencodedconceptualgraphtogroupinglearning.TeyiCha

34、n,Chien-MingChen,Yu-LungWu,BinShyanJong,Yen-TehHsia.Tsqng-WuuLinUt2010UcExpertSyst.Appl.ffindexl594522id牌1285396牌928856it%lll2994假890842#!77Jecontinual图4DBLP-citation-network-Oct-19.txt数据#*:论文标题#:论文作者#t:论文发表年份#c:论文发表的期刊、会议#index:论文在文件中的index#%:引文的index#!:论文的摘要这些就是本文的输入数据集。根据这些输入数据,设计了一个知识图谱进行数据的组织存储

35、,有关知识图谱的具体设计内容会在具体算法设计中给出。如上对热点文章的定义,涉及了引文的影响力和作者的影响力两个方面,而随着时间的推移,论文的影响力和作者的影响力应该都会变化,因为显然,一个08年很热门的文章18年不一定依然热门,一个以前不厉害的作者经过一段时间不一定依然不厉害。同时,论文影响力和作者影响力的双重问题不能单独处理。因为,论文得分的计算依赖于所写作该论文的作者的得分,而论文得分的改变也会使得作者的得分发生改变。因此,提出了一种新颖的论文排名算法思想,它交织论文和作者的排名。为了能够实现这个思想,需要构建了一个引文网络和一个作者合作网络,这两个网络相互迭代影响。有关于这两个网络的计算

36、收敛模型会在具体的算法设计中给出。在此,给出一个简单的思路图,如图5。图5简单思路图经过以上叙述,已经介绍了整个热点文章发现系统的基本思路,下面我们对有关模型的具体算法细节进行进一步的描述。3.2 具体算法设计基于以上问题描述及基本思想,首先,给出整个系统的设计流程图,如图6:图6系统整体设计图其中,论文引用网络的套用模型影响因素如图7,作者引用网络的套用模型如图8:图7论文引用网络权重模型图8作者合作网络权重模型下面讲解各个模块的设计思路及设计实现细节。3.2.1 知识图谱构建在3.1中我们已经给出了DBLP文件中数据的基本格式,现在,介绍我们的知识图谱的设计思想及实现细节。分析了DBLP数

37、据文件以后,设计了ArticleAUthor和VenUe三种节点,它们之间用各种关系进行连接,已达到表述整个论文引用信息的目的。具体设计如下:ArtiCle节点:拥有唯一的article_id作为主键;标题、发表年份、摘要作为属性;拥有指向VenUe节点的publishjn关系、指向引用的Article的cite关系;从AUthor指出的publish关系以及从其他Article指出的被引用cite关系。AUthOr节点:拥有唯一的name作为主键;拥有指向AiliCle的PUbIiShed关系。Venue:拥有唯一的name作为主键;拥有指向Article的published关系。我们使用N

38、eo4j图形数据库作为数据存储组织工具,相应地,使用CyPher语句实现对该数据库的操作,下图给出知识图谱各节点及关系的图形化描述,如图9:$MATCH(n:Venue)RETURNnLIMIT25Venue(25)Artide(12)Graph*(19) PUBLISHEDJN(11) PUbliSh(7) CITE(1)图9知识图谱的设计图其中红色节点为Venue,绿色节点为Article,紫色节点为Author,各节点之间的关系用有方向的连线表示。至此,我们的知识图谱设计思路及实现细节介绍完毕。3.2.2 期刊排名爬取如上所述,本文需要考虑论文发表的期刊的等级这个因素,因为显然,期刊的等

39、级可以决定论文的重要程度。排名较高的期刊对收录的论文的要求更高,排名较低的期刊相对应的可能就会略微放低要求。从这个角度考虑,期刊的排名这个因素是很有意义的。基于这个想法,本文爬取了CCF所提供的期刊的排名,并将爬取结果存放到一个SQLite数据库中,为以后的数据处理提供便利。本文使用BeaUtifUISoUP实现该需求。3.2.3 论文引用网络权重模型的设计本文是基于引文信息来对论文重要性进行排序的一个系统,因此,对于一篇论文的引文信息我们做如下思考:一篇论文本身有发表期刊这个属性,这是不会受其他因素变化而影响的,因此,考虑期刊排名这个因素;引文信息显然是需要考虑的因素,但是一篇论文引用的论文

40、可以有很多篇,这些论文本身有自己的得分,考虑以下这个场景:2015年的某篇论文引用了2014年的一篇文章和1996年的一篇文章,显然,1996年的这篇文章对这篇文章的影响力应当不高于2014年的那篇论文,即使1996年的那篇论文在当年的得分很高,但也应当受到时间衰减的影响。由此,我们综合考虑了引文发表年份和引文的得分,并且利用PageRank算法的基本思想,对多篇引文得分进行综合考量后得出引文得分这一影响因素的最终得分。至此,我们已经考虑了发表年份、发表期刊及引文影响力这些因素。最后,每篇论文由多个作者合作进行撰写,这里我们进行简单考虑,认为每个作者对于某篇论文的贡献相当,使用平均得分来衡量这

41、一因素的影响。综上,给出论文引用网络的权重模型与具体公式:PS=CPS*a+AS*(0.9-a)+VS*0.1其中,PS为该篇论文的得分,CPS是引文的综合得分,AS是作者得分,VS是期刊得分。a为权重,取值范围为0,0.9,其中a=0的时候,引文对论文引用网络的作用只间接体现在作者合作网络的作用里;a=0.9时,作者对论文引用网络的作用为0,只间接体现在论文引用网络的作用里,因为他们是交织迭代的。CPS为引用论文的综合得分,考虑了多篇引用论文及每篇论文发表年份的影响,具体计算公式为:CPS=Sigmoi贝PS*0.5year)*d+(1-d)/N*1()N为引文的数量,d为权重。在本文的算法

42、实现中,d取经典值0.85o使用Sigmoid函数进行归一化操作,限制引文综合分数在(0-10)区间之内,防止系统整体发散。AS是各作者得分的平均分,分数区间为(O-IO);VS是期刊得分,根据CCF上的排名,A类期刊为10分,B类期刊为8分,C类期刊为6.5分。以上,就是整个论文引用网络套用模型的设计细节。3.2.4 作者合作网络权重模型的设计作者合作网络存储了各个作者之间的合作关系,具体包括和某个作者进行合作过的作者们以及他们共同写作过的论文。随着时间的推移,作者之间的合作关系会逐渐增加,每个作者的作者影响力也会因为新的论文的发表而发生改变,因此,作者影响力要考虑时间的因素,发表的论文和合

43、作的作者影响力。这里,我们给出作者合作网络的权重模型与具体公式:AS=APS*b+AS*(l-b)其中,APS为写作过的论文的综合得分,AS为合作过的作者的平均得分。APS中的每篇论文是该作者在不同的年份进行撰写的,因此时间因素会影响每篇论文对作者得分的影响。b为权重,取值范围是0,1。主要考虑论文引用网络与作者合作网络的之间的相互影响,而不重点考虑作者合作网络自身变化的影响,所以,在本文后续的所有实验中,b的取值都固定为0.7。下面,给出APS计算的具体公式:APS=SigmOid立:PS*0.5)*。+(1d)/N*10N为写作的论文的数量,d为权重。在本文的算法实现中,d取经典值0.85

44、。使用Sigmoid函数进行归一化操作,限制论文综合分数在(0-10)区间之内,防止系统整体发散。以上,就是整个作者合作网络套用模型的设计细节。3.2.5 系统运行流程本系统着眼于推荐出某个具体领域当年的热点文章,所以我们按照时间的推移逐步构建论文引用网络和作者合作网络,同时,按照一年一迭代收敛的频率对整个系统进行迭代,具体做法如下:(1)对整个知识图谱进行检索查找操作,选取出具体某个领域的相关信息。(2)对检索出的信息进行进一步的匹配,以剔除CCF上没有期刊排名数据的论文信息。(3)设计合理的数据结构,构建论文引用网络,并对论文引用网络中赋初值。(4)根据论文引用网络中的作者信息,设计合理的

45、数据结构,按年逐步构建作者合作网络。(5)按照年份,对论文引用网络和作者合作网络进行交织迭代,直到两个网络都收敛为止,此时,到具体某年的论文引用网络和作者合作网络不再发生变化。(6)按年收敛至数据提供的最近一年,然后对整个论文引用网络中的论文进行排序,输出得分最高的前10%的论文。以上就是整个系统运行的具体流程。3.3 本章小结本章对本文所需要做的工作进行了叙述,然后根据已有需求阐述了本文工作的基本思路。接着,对根据基本思路简单介绍了本系统的基本流程结构,最后,给出了系统实现的每模块的具体的算法设计思想及主要公式,同时对整个系统运行的流程给出了更为具体描述与讲解。至此,已经具体交代了本系统的内

46、容。第四章算法实现与结果分析4.1 算法实现本小结将给出主要的算法实现,在此定义涉及到的各函数及变量,如表1、表2。函数函数名功能calculate.paperscore(paper-id,AN、current.year)calculateauthorj9core(authorJd,AN1currentlyear)updatejn(aperSd1AN)dis(n,m)根据WWrUd更新该论文的得分根据历or/d更新该作者的得分根据WxrHd更新作者合作网络判断两个网络之间的差别表1:函数定义变量变量名说明.-CN论文引用网络,按年增序排序AN作者合作网络YEAR论文引用网络中涉及的所有年份Cu

47、rrentjyear系统正在进行迭代收敛的年份表2:变量定义下面给出给出各算法的实现。函数1迭代更新论文引用网络的算法输入:CN,AN,currentjear功能:更新论文引用网络中各论文得分1:functionITERATEJCN(CJV,AN,current.year)2:fori=0Ien(CN)do3:ifCNi.yearCtirrentjyearthen4:calculate_jxiperjicore(CNi.papeid,AN.current4jear)5:else6:break7:endif8:endfor9:endfunction函数2收敛论文引用网络的算法输入:CNtAN,Ciirrentjyear功能:判断论文引用网络处否收敛1:functionVANISH-CN(C2V,AN,current.year)2:beforethresholdthen6:before一CN7:else8:break9:endif10:endwhile11:endfunction这里,threshold取值为O0calculate_paper_score函数根据论文引用网络的权重模型计算每篇论文的得分,更新

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号