相关电子技术论文

相关标签

基于知识图谱的热点文章发现算法研究

发布时间:2019-12-04 18:48

  摘 要

  论文推荐是一个有趣并且有挑战的研究工作,其目标在于根据用户的需求向用户推荐相关论文。论文推荐研究已经进行了数十年,Google Scholar等学术搜索引擎可以有效地帮助用户根据输入关键字和约束条件来查找论文,但由于理解用户需求的困难以及发布的快速增长,返回的结果并不总能满足用户的要求。近年来,在论文推荐方面的研究已经很多了。主流方法是根据内容的相关性(包括标题,关键词,摘要或全文)找到与输入关键词最相关的论文。然而,由于总是有大量的论文共享相同的关键词,就使得推荐结果不具有高精度。因此,作为补充,往往可以研究论文之间的引用关系,以期达到提高推荐精度的目的。

  本文就着眼于研究论文之间的引用关系,以达到推荐出当前的热点文章的目的。所谓热点文章,指的是综合得分较高,具有典型代表性的文章。这个综合得分不仅取决于当年某篇论文被引用的次数以及它引用的论文的得分,还取决于该篇论文所发表的期刊、会议的排名以及写作该篇文章的作者们的影响力。基于以上想法,我使用DBLP中的DBLP-citation-network-Oct-19文件中所提供的数据构建了一个知识图谱,记录了每篇论文的相关信息(作者、主题、关键词、发表的期刊和发表的年份等),各论文之间的引用关系。基于这个知识图谱,设计了一个基于Page Rank的算法来计算各篇论文的综合得分,通过这个综合得分来达到发现热点文章的目的。所推荐出来的热点文章应当在期刊排名、被引用次数、引用论文的得分和作者影响力这几个或者某几个方面具有较好的排名。因此,对于推荐出来的热点文章我在以上几个方面进行验证,并调整算法参数以期整个系统能更加合理。

  关键词:引文网络;知识图谱;论文推荐;Page Rank;热点发现

  在互联网时代,数据量的爆炸式增长使得有效信息的获取变得越来越复杂和困难,所以,搜索和推荐成为了人们获取信息的主要方式。在各种各样的搜索或者推荐系统中,如何合理组织和处理大量的数据信息是一个基本的问题。基本的数据组织方式模型有三个,分别为层次结构模型,网状结构模型和关系结构模型。其中,关系结构模型被广泛地运用在各种需要进行数据存储的应用中。但是,当涉及到大量数据和多表查询的时候,关系结构模型的查询效率并不能满足需求,在这种情况下,往往采取网状数据结构模型进行数据存储。由于本文数据集具有较复杂的引用关系及较大的数据量,所以我采取了Neo4j图形数据库来进行数据的存储与组织,也就是使用Neo4j图形数据库构建了论文引用信息的知识图谱。解决了数据的存储组织问题,还要解决如何探索数据之间的关系,从而达到利用引文关系及论文信息推荐出当前的热点文章的目的的问题。在此,我考虑当年某篇论文被引用的次数以及它引用的论文的得分,该篇论文所发表的期刊、会议的排名以及写作该篇文章的作者们的影响力等因素,提出了一个综合得分的概念。然而,论文排名和作者排名的双重问题不能单独处理。因为,论文得分的计算依赖于所写作该论文的作者的得分,而论文得分的改变也会使得作者的得分发生改变。因此,最后,我们提出了一种新颖的论文排名算法,它交织论文和作者的排名。并且同时对于推荐结果进行了相应的验证操作,以验证算法的合理性。本文完成的主要工作如下:

  (1)学习Neo4j 数据库的相关知识,利用DBLP的数据完成论文信息及引文网络的知识图谱的构建。

  (2)学习简单的网络爬虫技术,爬取CCF上的期刊排名,并写入关系数据库中。

  (3)构建作者合作网络以及论文引用网络,实现基于Page Rank的算法计算综合得分。

  (4)对作者合作网络及论文引用网络进行交织迭代收敛,得到推荐的热点文章,

  (5)对推荐的结果进行验证,以调整算法设计的参数使得整个推荐系统更加合理精准。

  第一章 绪 论

  首先本章简要介绍了本文的研究背景和意义,紧接着介绍了本文所做的主要工作。最后,对整篇论文的组织结构进行了简要概括。

  1.1 研究背景及意义

  论文是各个学术领域的研究人员记录学术研究及研究成果的文章,是进行学术研究探讨学术问题的一种手段,同时也是描述学术研究成果进行学术交流的一种载体。在进行学术研究的时候,研究人员往往先查询学习前人的研究成果,然后对自己已有的想法思路进行进一步的思考,以达到学习或者创新的目的。这样就使得研究人员创作出来的论文拥有一些必要的参考文献。在很多情况下,一个人的思维往往并不够全面,所以很多学术研究在进行的时候往往以团队合作的形式进行,以期达到使这一阶段研究完美的目的。因此,一篇论文往往由几个作者合作来完成。

  每年,每个具体的学术领域都会有新的论文被发表出来,如何在卷帙浩繁的论文中快速地得到自己想要的论文,这是很有意义的问题。主流方法根据内容的相关性找到与输入关键词最相关的论文。首先用传统的信息检索技术测量相关性,然后用主题模型进行改进。然而,由于总是有大量的论文共享相同的热门话题,所以基于内容的前K推荐结果通常不具有高精度。作为补充,一些其他方法使用论文之间的引用关系进行推荐,这些方法倾向于在推荐结果中推荐引用论文更多的以及评分更高的论文[1]。例如,Winoto等人提出的上下文感知的多维的论文推荐系统,另一种是情境感知引文推荐系统,它通过测量引用文章和论文之间的上下文的相关性进行推荐[2]。以及一种先使用本体作为构建用户配置文件的基础,然后使用本体网络进行分析来协助推荐的推荐系统[3]。论文的引文分数不仅取决于论文的发表频率,还取决于引用论文的论文得分,因此根据论文引用网络,采用Random Walk等算法计算论文的排序得分。还有一些方法通过将软聚类论文放入兴趣小组[4]或开发多层神经网络概率模型来学习引用论文上下文文义来改进基于论文引用网络的方法[5]。基于学术社交网络的另一种方法,即作者合作网络,倾向于推荐与用户兴趣相同的共同作者的共享论文。但是这种方法可能会忽略一些由很少合作撰写的作者所撰写的重要论文(即共同作者网络图中的一些孤立节点)。

  受以上内容启发,提出一种引文网络和作者合作网络相互迭代影响的排名算法。

  1.2 论文主要工作

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

  综上所述,本文的主要工作可以被划分为以下几个部分:

  (1)学习Neo4j 图形数据库的相关知识,设计合理的存储结构将DBLP中的论文引文数据构建成知识图谱。

  (2)学习爬虫技术,爬取CCF上的期刊、会议排名,存储到关系数据库中方便后续的使用。

  (3)根据知识图谱中的内容,构建出具体某个领域的论文引用网络以及作者合作网络。

  (4)实现基于Page Rank的算法,利用Sigmoid函数进行归一化操作,按年份对论文引用网络和作者合作网络进行交织收敛迭代,最后达到整个系统的计算收敛,得到推荐的结果。

  (5)对推荐结果进行验证操作,并调整算法的相关参数使得系统更加合理与精确。

  1.3 本文组织结构

  本文总共分成五个章节,具体章节结构如下:

  第一章为绪论。主要介绍了本文工作的研究背景和意义,同时对本文所做的主要工作进行简要的介绍。

  第二章为本文工作所用到的相关技术知识。本章主要介绍知识图谱和Neo4j图形数据库、网络爬虫、Page Rank算法和Sigmoid函数的基本内容。

  第三章为问题描述与算法设计。本章介绍了本文所解决的具体问题,提出了主要解决思路,最后给出了每部分具体的算法设计。

  第四章为算法实现与结果分析。对本文的主要算法给出了具体实现细节及公式,同时对最后结果做了简要的分析与说明。

  第五章为总结与展望。总结并归纳本文,发现不足,同时对后续的工作提出设想。

  第二章 相关知识及技术简介

  本章主要介绍系统实现过程中需要学习和涉及的相关知识和技术,主要包括:知识图谱、Neo4j数据库及Cypher查询语句、网络爬虫、Page Rank算法和Sigmoid函数。

  2.1 知识图谱简介

  在百度百科中,知识图谱被这样介绍:知识图谱(Knowledge Graph/Vault)又称科学知识图谱[6],在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与组织关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。本质上,知识图谱是一种揭示实体之间关系的语义网络,可以对现实世界的事物及其相互关系进行形式化地描述[7]。它是一种基于图的数据结构,由节点和边组成。其中节点即实体,有一个全局的ID标识它,关系(属性)用于连接两个节点。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱支持从“关系”角度去分析问题。基于知识图谱,文档不再只是由关键词向量模型来表示,而是由其中的实体以及实体之间复杂语义关系来表示[8]。

  知识图谱最早由谷歌提出,例如搜索何猷君,可以关联出何猷君的父亲,何猷君历年女友等与关键词相关的信息,所以,主要用于优化搜索引擎。也就是说搜索引擎所具有的知识图谱越大,和关键词有关的信息越多,再通过分析输入的需求,计算出可能最想看到的信息,通过知识图谱可以大大提高搜索的质量和广度。通过大数据抽取和集成可以创建知识图谱,基于此,可以通过推理(通过规则引擎,针对实体属性或关系进行挖掘,用于发现未知的隐含关系)和实体重要性排序[9](当查询多个关键字时,搜索引擎将选择与查询更相关的实体来展示,常用Page Rank算法计算知识图谱中实体的重要性)来进一步挖掘知识图谱,进一步增加知识图谱的知识覆盖率。

  2.2 Neo4j图形数据库与Cypher简介

  图形数据库就是将数据存储在图(Graph)结构中,图形数据库可以看作是节点与关系的集合[10],就是将数据存储在拥有属性的节点中,并用关系将这些节点组织起来,如图1所示。

  图1 图形数据库组织图

  数据的存储的目的是为了检索,在图中,可以通过遍历算法完成查找与搜索操作,同时可以查找出图中的节点之间的路径。因为索引可以提高搜索和查找的效率[11],所以,通常情况下,只是想通过某个属性的值找到某些或者某个节点或关系,而不是遍历整个图就可以使用索引来进行查找。例如,根据论文的发表年份查找当年的所有论文。

  Neo4j是一个高性能的图形数据库,它将结构化的数据存储在网络上而不是表中,Neo4j被成一个高性能的图引擎,该引擎具有成熟数据库的所有特性。在Neo4j中,可以使用Cypher语句来进行相关操作。Cypher是一个描述性的图形数据库查询语言,它允许不编写图的遍历代码而能对图形数据库进行有效率的查询[12]。Cypher的许多关键字如like和order by是受SQL的启发而创造的,也有模式匹配和正则表达式。因为Neo4j的存储原理使得它的查询速度是在O(1)级别的复杂度,查询高效[13]。Cypher查询语句具有以下几个基本的语法组成:

  (1)START:图中的开始点,可以通过元素的ID或索引查找获得。

  (2)MATCH:图形的匹配模式。它可以匹配复杂的关系路径,并且束缚于开始点。

  (3)WHERE:是过滤条件,可进行正则匹配。

  (4)RETURN:返回所需要的查询结果。

  2.3 网络爬虫介绍

  网络爬虫(Web Crawler)[14](又被称为网页蜘蛛,网络机器人或网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。爬虫的一般工作流程为[15]:根据初始提供的url集合开始爬取工作,然后对下载后的页面进行分析,提取出新的url,将这些url加入到待爬取的url集合中。不断重复以上过程,直到终止条件或者待爬取url集合为空。网络爬虫的基本工作流程如图2所示。

  图2 网络爬虫基本工作流程

  常见的网络爬虫[16]有:通用网络爬虫、聚焦网络爬虫、增量式网络爬虫和深层网络爬虫。目前对爬虫的研究有很多,成熟的爬虫框架也较多。下面主要介绍我们使用到的爬虫框架[17]。

  本文工作使用的是Python编程语言,而Python中爬虫主要有:Mechanize、BeautifulSoup + urllib2等。其中,Mechanize是一个Python库,它用于与网站的自动化交互[18]。在Python中BeautifulSoup和urllib2两个库的使用就可以实现一个爬虫。本文就采用这种方式实现对CCF期刊排名的简单爬取,并将爬取结果存储在Python3内置的一个SQLite数据库中。其中,urllib2这个库主要负责web页面的获取、表单的提交、http服务器上的验证、与非http协议之间的通信以及一些异常处理;BeautifulSoup这个库则负责网页的抽取。当然,也有很多其他的爬虫框架,但由于爬虫并不是我们工作的重点,不再多做介绍。

  2.4 Page Rank算法简介

  Page Rank,网页排名,又称网页级别、Google左侧排名或佩奇排名,是一种根据网页之间相互的超链接计算网页重要性的技术[19]。Page Rank通过网页间的链接关系来确定一个页面的等级。因此,类比网页之间的链接,我们可以将论文的引用关系(作者的合作关系)看成Page Rank 中的网页超链接。Page Rank最基础的思想是:让网页的链接来"投票",一个页面的重要性由所有和它有链接的页面的重要性来决定。换句话说,到一个页面的一个超链接就对该网页投了一票。

  假设一个由4个页面组成的小系统:A,B,C和D。如果A和所有页面有链接,那么A的PR等于B,C、D的PR的和。

  如果我们在上述假设上继续进行假设,B也有链接到A和C两个页面,同时,D除了链接到A以外还链接了两个页面,也就是总共三个页面。一个页面只能拥有一票,所以B给个A和C半票。按照同样的逻辑,D只能对A投出三分之一票,那么A的PR如下式这样进行计算。

  换句话说,一个页面的PR值被它链接的页面所平分。

  最后,投票结果需要再乘上一个系数。由于没有其他页面相连接的页面,不会对其他页面进行投票,所以,Google给每个页面赋了一个最小值:

  说明:d为系数,N为页面总数。1998的年原文中最小值是1-d,而不是(1-d)/N。

  2.5 Sigmoid函数简介

  在对系统进行初步设计实现之后,我发现由于数据量的巨大,最初设计的基于Page Rank的算法存在一定的问题。在分析了问题原因以后,采取了Sigmoid函数对数据进行了进一步的归一化操作,所以下面简单介绍该函数。

  Sigmoid函数是一个在生物学中常见的S型的函数,也称为S型生长曲线,在信息科学中,由于其单增以及反函数单增等性质,Sigmoid函数常被用作神经网络的阈值函数,将变量映射到0,1之间[20]。Sigmoid函数定义公式如下:

  函数曲线图如图3:

  图3 Sigmoid函数曲线图

  Sigmoid 是使用范围最广的一类激活函数,具有指数函数形状,(0, 1) 的输出还可以被表示作概率,或用于输入的归一化,代表性的如Sigmoid交叉熵损失函数[21]。但是,Sigmoid也有缺陷,最显著地就是饱和性。从上图可以看到,其两侧导数逐渐趋近于0,有这种性质的激活函数被称为软饱和激活函数。此外,Sigmoid函数的输出均大于0,使得输出不是0均值,这称为偏移现象,这会导致后一层的神经元将得到上一层输出的非0均值的信号作为输入。但因为本系统只将该函数用作输入归一化操作,上述函数缺陷并不能影响最终结果。有关系统合理性问题将在后面进行叙述。

  2.6 本章小结

  本章主要简单介绍系统实现过程中需要学习和涉及的相关知识和技术,主要包括:知识图谱、Neo4j数据库及Cypher查询语句、网络爬虫、Page Rank算法和Sigmoid函数。其中Neo4j数据库及Cypher查询语句是使用到的相关工具,只对其内容进行简单介绍,不做详细展开。对于其他几个知识及技术进行了简单必要的介绍,有关它们具体地使用方式将在后续章节中进行具体介绍。

  第三章 问题描述与算法设计

  本文的工作是使用DBLP提供的论文引用数据,设计合理的算法推荐出某年的热点文章。本章介绍本文工作的具体问题描述和具体地算法设计。

  3.1 问题描述与基本思路

  DBLP提供的DBLP-citation-network-Oct-19.txt数据中存储了论文的一些信息,这些信息包括论文的标题、作者、发表年份、发表期刊、摘要、引用的论文信息(引用的论文的index)和本篇论文的index。我的任务就是根据这些信息,构建出论文引文的知识图谱,然后根据这个知识图谱,设计相应的算法,推荐出热点文章,最后,对推荐结果进行必要的验证,以证明算法的合理性。

  首先,给出热点文章的定义。热点文章就是综合被引用次数、引用的文章影响力、作者影响力和发表的期刊或会议排名这几个方面的排名之后,整体表现较为优异的文章。如何设计算法推荐出这样的文章,是本文的主要任务。 现在,对已有数据进行简单的介绍分析。DBLP-citation-network-Oct-19.txt文件中存储了形如图4的数据:

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

  经过以上叙述,已经介绍了整个热点文章发现系统的基本思路,下面我们对有关模型的具体算法细节进行进一步的描述。

  3.2 具体算法设计

  基于以上问题描述及基本思想,首先,给出整个系统的设计流程图,如图6:

  图6 系统整体设计图

  其中,论文引用网络的套用模型影响因素如图7,作者引用网络的套用模型如图8:

  图7 论文引用网络权重模型 图8 作者合作网络权重模型

  下面讲解各个模块的设计思路及设计实现细节。

  3.2.1 知识图谱构建

  在3.1中我们已经给出了DBLP文件中数据的基本格式,现在,介绍我们的知识图谱的设计思想及实现细节。分析了DBLP数据文件以后,设计了Article、Author和Venue三种节点,它们之间用各种关系进行连接,已达到表述整个论文引用信息的目的。具体设计如下:

  Article节点:拥有唯一的article_id作为主键;标题、发表年份、摘要作为属性;拥有指向Venue节点的publish_in关系、指向引用的Article的cite关系;从Author指出的publish关系以及从其他Article指出的被引用cite关系。

  Author节点:拥有唯一的name作为主键;拥有指向Article的published关系。

  Venue:拥有唯一的name作为主键;拥有指向Article的published关系。

  我们使用Neo4j图形数据库作为数据存储组织工具,相应地,使用Cypher语句实现对该数据库的操作,下图给出知识图谱各节点及关系的图形化描述,如图9:

  图9 知识图谱的设计图

  其中红色节点为Venue,绿色节点为Article,紫色节点为Author,各节点之间的关系用有方向的连线表示。至此,我们的知识图谱设计思路及实现细节介绍完毕。

  3.2.2 期刊排名爬取

  如上所述,本文需要考虑论文发表的期刊的等级这个因素,因为显然,期刊的等级可以决定论文的重要程度。排名较高的期刊对收录的论文的要求更高,排名较低的期刊相对应的可能就会略微放低要求。从这个角度考虑,期刊的排名这个因素是很有意义的。基于这个想法,本文爬取了CCF所提供的期刊的排名,并将爬取结果存放到一个SQLite数据库中,为以后的数据处理提供便利。本文使用BeautifulSoup实现该需求。

  3.2.3 论文引用网络权重模型的设计

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

  综上,给出论文引用网络的权重模型与具体公式:

  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为引用论文的综合得分,考虑了多篇引用论文及每篇论文发表年份的影响,具体计算公式为:

  N为引文的数量,d为权重。在本文的算法实现中,d 取经典值0.85。使用Sigmoid函数进行归一化操作,限制引文综合分数在(0-10)区间之内,防止系统整体发散。

  AS是各作者得分的平均分,分数区间为(0-10);VS是期刊得分,根据CCF上的排名,A类期刊为10分,B类期刊为8分,C类期刊为6.5分。

  以上,就是整个论文引用网络套用模型的设计细节。

  3.2.4 作者合作网络权重模型的设计

  作者合作网络存储了各个作者之间的合作关系,具体包括和某个作者进行合作过的作者们以及他们共同写作过的论文。随着时间的推移,作者之间的合作关系会逐渐增加,每个作者的作者影响力也会因为新的论文的发表而发生改变,因此,作者影响力要考虑时间的因素,发表的论文和合作的作者影响力。这里,我们给出作者合作网络的权重模型与具体公式:

  AS = APS * b + AS * (1-b)

  其中,APS为写作过的论文的综合得分,AS为合作过的作者的平均得分。APS中的每篇论文是该作者在不同的年份进行撰写的,因此时间因素会影响每篇论文对作者得分的影响。b为权重,取值范围是[0,1]。主要考虑论文引用网络与作者合作网络的之间的相互影响,而不重点考虑作者合作网络自身变化的影响,所以,在本文后续的所有实验中,b的取值都固定为0.7。下面,给出APS计算的具体公式:

  N为写作的论文的数量,d为权重。在本文的算法实现中,d 取经典值0.85。使用Sigmoid函数进行归一化操作,限制论文综合分数在(0-10)区间之内,防止系统整体发散。

  以上,就是整个作者合作网络套用模型的设计细节。

  3.2.5 系统运行流程

  本系统着眼于推荐出某个具体领域当年的热点文章,所以我们按照时间的推移逐步构建论文引用网络和作者合作网络,同时,按照一年一迭代收敛的频率对整个系统进行迭代,具体做法如下:

  (1)对整个知识图谱进行检索查找操作,选取出具体某个领域的相关信息。

  (2)对检索出的信息进行进一步的匹配,以剔除CCF上没有期刊排名数据的论文信息。

  (3)设计合理的数据结构,构建论文引用网络,并对论文引用网络中赋初值。

  (4)根据论文引用网络中的作者信息,设计合理的数据结构,按年逐步构建作者合作网络。

  (5)按照年份,对论文引用网络和作者合作网络进行交织迭代,直到两个网络都收敛为止,此时,到具体某年的论文引用网络和作者合作网络不再发生变化。

  (6)按年收敛至数据提供的最近一年,然后对整个论文引用网络中的论文进行排序,输出得分最高的前10%的论文。

  以上就是整个系统运行的具体流程。

  3.3 本章小结

  本章对本文所需要做的工作进行了叙述,然后根据已有需求阐述了本文工作的基本思路。接着,对根据基本思路简单介绍了本系统的基本流程结构,最后,给出了系统实现的每模块的具体的算法设计思想及主要公式,同时对整个系统运行的流程给出了更为具体描述与讲解。至此,已经具体交代了本系统的内容。

  第四章 算法实现与结果分析

  4.1 算法实现

  本小结将给出主要的算法实现,在此定义涉及到的各函数及变量,如表1、表2。

  下面给出给出各算法的实现

  。

  这里,threshold取值为0。calculate_paper_score函数根据论文引用网络的权重模型计算每篇论文的得分,更新整个论文网络,所以iterate_CN函数只是对论文引用网络做更新得分操作而已。vanish_CN函数控制整个论文引用网络的迭代收敛,考虑这样的情况,一篇论文和它的引文可能是同一年的,它们更新的次序是不确定的,而引文分数的变化应当会引起论文分数的变化,所以需要经过多次迭代,整个论文引用网络才能不再有任何一篇论文的分数发生变化,整体达到收敛的状态。

  这里,threshold取值为0。calculate_author_score函数根据作者合作网络的权重模型计算每位作者的得分,更新整个作者合作网络,所以iterate_AN函数只是对作者合作网络做更新得分操作而已。vanish_AN函数控制整个作者合作网络的迭代收敛,考虑这样的情况,一个作者和他的多个有合作关系的作者,他们更新的次序是不确定的,任一位作者分数发生变化都会引起和他有合作关系的作者的分数发生变化,所以需要经过多次迭代,整个作者合作网络才能不再有任何一位作者的分数发生变化,整体达到收敛的状态。

  这里,threshold1和threshold2取值均为0。整个系统按年进行迭代收敛,每年根据新加入的论文更新作者合作网络,然后对论文引用网络和作者合作网络进行交织迭代,直到两个网络都不再发生变化。整个系统在某一年需要经过多次论文引用网络和作者合作网络的迭代收敛,因为,论文引用网络会对作者合作网络产生影响,而作者合作网络根据当前的论文引用网络进行收敛以后的结果不一定和上次的收敛结果一样,这样论文引用网络又需要根据新的作者合作网络进行再次迭代收敛,直到这两个网络都不再发生变化,才能说整个系统收敛完毕了。

  4.2 结果分析

  4.2.1 系统运行时间分析

  如图10系统运行时间,横坐标为论文引用网络规模(即引文网络中论文的总数目),纵坐标为系统运行时间,单位为秒。从下图我们可以看出,随着论文引用规模的增大,系统运行时间也在增加,同时,权重的取值对系统运行时间的影响并不是很明显,除了a取0.9的时候。因为a=0.9时,作者对论文引用网络的作用不直接体现,此时由图可以看出,系统运行时间相较其他取值而言有明显减少。由此,可以猜测,作者合作网络的规模才是影响系统运行时间的主要因素,尽管论文引用网络的规模会影响作者合作网络的规模。同时,验证a=0时的系统运行时间曲线图,可以发现,此时,尽管引文对论文引用网络的作用不直接体现,但由于系统运行时间主要受作者合作网络的影响,因此,系统时间并没有显著降低。

  图11为作者合作网络随着论文引用网络规模的变化而变化的折线图,随着论文引用网络规模的增大,作者合作网络的规模在显著增加。分析作者合作网络和系统运行时间变化趋势我们可以发现,系统运行时间与两个网络的规模之间是线性的关系,网络规模的增加并没有导致系统运行时间出现爆炸式的增长。

  图10 系统运行时间

  图11 作者合作网络规模

  4.2.2 平均引用次数分析

  如下图(图12-图18),为a取各个不同的值的时候,排名前10%的论文的平均引用次数与排名后10%的论文的平均引用次数的对比,横坐标是论文引用网络的规模。这里,所说的平均引用次数是论文的引文篇数和被引用次数之和,因为,一个热点文章很显然应当被很多论文所引用,而一般一篇优秀的论文它也应当具有一定数量的引文。首先,我们分析在同一权重的情况下,它们的平均引用次数的对比。显然,两张图里排名较好的论文都拥有较好的平均引用次数,这是所期待的结果,除了a=0.9的时候,由于a=0.9的时候模型的特殊性,我们允许此种数据结果的出现。然后,不同权重模型之间进行对比,我们可以看出,排名前10%的平均引用次数它们的变化曲线图基本相似,排名后10%的平均引用次数的变化曲线图也基本相似,但是,随着a取值的增大,推荐结果之间的两极分化越来越不明显,甚至,在a=0.9这个特殊的值上,出现和预期相反的结果。这是由于,引文对论文引用网络的影响被削弱,整个系统开始依赖于作者合作网络,并没有充分考虑引文的影响,这与我们设计的初衷背道而驰。我们的目的,就是如何在作者合作网络和论文引用网络之间寻找一个适当的权重,使推荐结果更加合理。

  4.2.3 期刊均分分析

  如下图(图19-图25),和4.2.2相似,为a取各个不同的值的时候,排名前10%的论文的期刊均分与排名后10%的论文的期刊均分的对比,横坐标依然是论文引用网络的规模。这里,我们将期刊排名的ABC类别分别以10、8、6.5分进行替代,由此计算出它们的期刊均分。从下图,可以明显看出,排名较好的论文在期刊均分上拥有优势。但在论文引用网络数目为500的时候,各个权重模型推荐出来的前10%的论文都不在期刊均分上具有显著优势,对数据进行了分析以后,我们发现这是由论文引用数目从300增加到500的时候,新加入的论文都是发表的期刊排名较为好的论文所引起的。对比不同权重模型的变化曲线图,可以看出,随着a的增大,推荐结果在期刊均分上的两极分化越来越明显,到a=0.6的时候,最为明显;0.6以后,整个曲线变得越来越平滑,因为此时,论文引用网络对整个系统的影响被削弱,整个系统对作者合作网络的依赖越来越多,这样系统就不会发生一些异常情况,因为只有一个网络在主要地影响推荐结果了。而实际上,这不是我们所想要的结果。

  4.2.4 结果分析总述

  由以上几个方面的分析可知,随着a 取值的增大,整个系统的推荐结果变得越来越鲜明,但是当a增加到0.6以后,由于对作者合作网络的过度依赖,推荐结果变得不再合理,与我们设计的初衷背道而驰。因此,接下来a的取值可能会在0.6附近被进行进一步的实验。

  第五章 总结与展望

  5.1 本文总结

  本文以DBLP提供的引文数据为数据集,构建出一个引文信息知识图谱。在此基础上,提出了一种论文引文网络和作者合作网络相互影响,交织进行迭代收敛的具体领域的热点文章发现算法。详细叙述了涉及的相关知识和各项技术并给出了主要算法设计细节和实现细节,同时,对本文的需求及做法进行了详细介绍。最后,对发现的热点文章数据进行了初步验证与分析,调整了算法参数以期使整个系统推荐结果更加合理。经过初步的验证与数据分析,我们发现,权重a取0.6附近,即论文引用网络的权重为0.6,作者合作网络的权重为0.3的时候,推荐出来的热点文章是比较合理的。

  5.2 未来展望

  本文前期工作的准备已经进行的比较完备,但对于具体地参数调整和数据验证还没有进行很多的工作,另一方面,由于DBLP提供的169万数据太过庞大,我只是用了其中的七分之一的数据进行本次实验,对于最后的结果分析也有一定的影响。所以,后续工作可以从以下几个部分继续进行:

  (1)着眼于具体某一领域,继续扩大数据集规模,进行进一步的信息搜寻,完善数据信息。

  (2)对作者合作网络中的权重模型进行调参验证,希望能够确定大致的较好的权重取值。

  (3)将论文引用网络的权重和作者合作网络的权重联合起来考虑,进行进一步地数据验证与分析,以达到调整参数使推荐结果最优的目的。

  (4)设计出合理的推荐结果验证模型,对推荐结果进行量化地验证与分析,这是未来工作的重点。只有设计出正确的模型,才能使上述两个调参过程变得正确和高效。

毕业论文:http://www.3lunwen.com/jsj/dzjs/5425.html

上一篇:基于支持向量机的图像分割程序实现

下一篇:没有了

     移动版:基于知识图谱的热点文章发现算法研究

本文标签:
最新论文