基于大规模知识图谱的推断


转载自http://www.cbdio.com/BigData/2016-08/30/content_5224578.htm

 

[前言]什么是知识图谱?补全知识图谱的推理方法有哪几种?Embedding-based和Path ranking algorithms是什么?将二者结合的效果如何?中科院信息所王泉老师将在本文中深入浅出的带你了解这些知识。

基于大规模知识图谱的推断
基于大规模知识图谱的推断
基于大规模知识图谱的推断
 

知识图谱是实体和关系构成的有向图,图中的节点代表实体,边代表实体之间的语义关系。知识图谱中最基本的表现形式是三元组。目前的知识图谱一般规模较大,但是其中绝大多数的知识图谱都是不完备的,因为有大量的知识无法在其中有效地表达。

基于大规模知识图谱的推断
 

补全知识图谱,本质上讲是一个知识图谱的链接预测问题,即根据一定的预测机制,由已知的边来预测未知的边,也可以说是给定两个实体及其之间的特性关系,来判断两个实体是否具有这种关系。

基于大规模知识图谱的推断

目前的推理方法有三类:Embedding-based技术,它是基于低维向量的表示方法;Path ranking algorithms,它是传统的路径排序算法;Probabilistic graphical models概率模型,如马尔科夫链等。本文主要介绍前两种方法。

Embedding-based技术是以隐式因子模型为基本思想的方法。它假设存在隐式的向量空间,将知识图谱中的实体和关系在低维的向量空间里进行表达,得到连续的向量、矩阵或者张量,然后在隐式向量空间里计算推理。

基于大规模知识图谱的推断
基于大规模知识图谱的推断

Embedding学习过程主要分为三个步骤:

1.Entity/Relation representation

定义一种表示形式,在知识图谱中把实体和关系在低维向量空间进行表达,这种低维的向量表示称之为embedding,形式包括向量、矩阵或张量。

2.Scoring function definition:

定义一个基于三元组的打分函数,其定义在每个知识条目上。由上一步的embedding作为参数,判断三元组或者事实成立的可能性。

3.Parameter estimation:

解决参数估计、构建优化的问题,以此学习实体和关系的低维向量表示。推理阶段较为简单,根据打分函数等上述内容进行推理。

基于大规模知识图谱的推断
 

TransE模型:

TransE模型的思想较为直观,将每个词表示成词向量,词向量之间保持一种类比关系,如上图所示。Embedding中较有代表性的方法是TransE模型,TransE模型的关系表达为:头实体embedding+关系embedding=尾实体embedding。

基于大规模知识图谱的推断
 

TransE模型的步骤:

1.模型假设

主要涉及向量操作,将实体和关系之间进行向量表示。

2.定义打分函数来衡量关系成立的可能性

使用距离函数表征“头实体+关系”和“尾实体”接近的程度,越接近表示距离约小,那么接近程度越高,关系成立的可能性越高;相反,关系成立的可能性越低。

3.参数估计

参数是指实体和关系的对应向量表示,需要构建Pairwise的向量损失,每一个三元组当作一个正例,每一个正例对应构造一个负例,保证两者之间的分差足够大,如果分差大于预期就认为没有损失,如果分叉小于预期就认为有损失。

基于大规模知识图谱的推断
 

TransE模型的三步走:

绝大部分的embedding都可以归纳到统一的框架中,这种统一体现在它们的第三步都是一样的:优化pairwise的损失来进行模型求解。他们的不同体现在需要定义不同的实体与关系之间的表示方式,进而根据不同的表示方式定义不同的打分函数。如TransE模型是最简单的向量表示,相应的升级版本如TransH则为实体对应一个向量,但是关系可能对应于两个向量,更高级的是TransR,除了向量的表示,它还引入了矩阵的表示。更复杂的比如基于机器学习的NTN模型。

基于大规模知识图谱的推断

在15年以前,embedding用到的信息源非常单一,仅仅用到知识图谱中的三元组的信息,在近两年(2015年、2016年),人们希望将更多的信息融入到embedding中,使得我们学习到更准确的表示方法,从而提升推理等任务的准确度。具体来说,可以引入所包含的实体的类别、关系路径、实体的描述文本,以及简单的逻辑规则等等。

基于大规模知识图谱的推断

Embedding的优点和缺点:

优点:

具备隐式因子模型的优点;

自由度高——对关系和实体没有太多的限制;

对于某些方法来说效率非常高,操作性强。

缺点:

单纯的数据驱动的方法,准确率有一定的限制;

具有隐式的缺点。

基于大规模知识图谱的推断
基于大规模知识图谱的推断
 

以上为目前比较流行的embedding方法。下面是比较传统的基于路径排序的方法。

基于大规模知识图谱的推断
 

我们的任务是,对于给定的某种关系,判断两个实体之间是否有这种关系。路径排序的基本想法是用连接两个实体的路径作为特征,来预测两个实体之间的关系。学习阶段分为特征抽取、特征计算和构造分类器三个部分。预测阶段是使用分类器对任务进行预测。下面详细讲解Path-Ranking算法。

基于大规模知识图谱的推断
 

路径排序算法的想法是将路径作为特征来进行预测。首先,什么是路径?在知识图谱中路径是指链接两个实体的序列。如上图所示,左图中Tom与Paris之间可以走classMates、Bob、bornInCity这条路径。下面通过一个简单的例子说明PRA算法的操作过程。首先需要确定目标关系是bornInCity,需要判断两个实体之间是否有这个关系。左图是已经给定的知识图谱,第二步是找出实体之间有bornInCity关系的正例:(Tom、Paris)和(Bob、Paris)。第三步是构造负例。知识图谱中只有正例没有负例,我们采用随机替换实体的方式来人工构造负例,将正例中的Paris替换为Lyon,生成(Tom、Paris)和(Bob、Paris)两个负例。第四步是构造特征向量的集合,将两个实体之间的一条路径作为一个特征向量,枚举任意两个实体之间所有可能的路径,设定一个阈值,将长度不超过该阈值的全部路径放入特征集合。第五步,通过特征集合获得特征值。下一步是使用特征数据训练分类器。

基于大规模知识图谱的推断

PRA算法中特征提取的常用方法有Random walks,breadth-first search和depth-first search;特征值计算的常用方法有Random walk probability,路径出现/不出现的二值特征以及路径的出现频次等;分类器的训练方法主要有单任务学习法和多任务学习法。

基于大规模知识图谱的推断
 

除了以路径为特征的PRA研究,近些年有学者针对特殊情况提出了更多特征。例如针对低连通图无法抽取实体间的有效路径等问题,大家提出了Path bigram features、One-sided path features、Vector space similarity features和Any-relation features等特征。此处列举了一些参考文献,感兴趣的可以进一步了解一下。

基于大规模知识图谱的推断
 

下面介绍PRA算法的优缺点。PRA算法的可解释性强,而且可以从数据中自动发现关联规则,并且准确率往往高于embedding方法。PRA算法有三个缺点,首先很难处理关系稀疏的数据,其次很难处理低连通度的图,最后是路径特征提取的效率低且耗时。

基于大规模知识图谱的推断

下面我们举个例子来说明PRA算法如何自动发现关联规则。我们的Target Relation是某个机构在哪个地方成立,通过分类器对全部特征的权重进行排序,这里列出了权重最高的五个特征,这是某些规则的展现。从第一个特征能够看出,某个地方如果包含这个机构,那么极有可能说明该机构是在这个地方成立的;第二条特征表明,如果某个机构在某个城市有总部,那么极有可能说明该机构是在这个城市成立的。

基于大规模知识图谱的推断
 

上图是PRA和TransE的比较结果,从结果能够看出,PRA比TransE的结果要好一些。

基于大规模知识图谱的推断
 

第三个内容是简单介绍一下embedding和path ranking结合的算法。

基于大规模知识图谱的推断
 

第一个结合的方法是特征融合,思想非常简单,我们把embedding的分数和PRA的分数作为分类器的输入重新训练分类器,从效果来看Embedding和PRA的效果很接近,特征融合后的效果有明显改善。

基于大规模知识图谱的推断
 

第二个结合的方法是Path-based TransE,其核心思想是从TransE出发,将实体、关系以及路径都在低维的向量空间中表示,其打分函数包含两个部分,一部分是原始三元组的得分,另一部分是路径总贡献的得分。从Performance中能够看出pTransE结果有较大的提升。这说明了将Embedding类型的隐性特征和Path Ranking类型的显性特征进行有效结合能够给模型带来很大的提升。

基于大规模知识图谱的推断
 

最后总结一下本文的内容。

基于大规模知识图谱的推断
 

本文介绍了知识图谱填充任务中链接预测的相关内容,包括以TransE模型为代表的基于Embedding的算法和路径排序算法,以及算法融合的方法。

基于大规模知识图谱的推断
 

Embedding算法的主要想法是在隐式因子空间中来完成学习、预测、推理等工作,其基本框架包括实体/关系表示、打分函数定义和参数估计三部分。

基于大规模知识图谱的推断
 

该方法的优点有:一、能够捕捉到数据中本质存在的特征;二、自由度高,可以处理任意类型的实体和关系;三率高,可操作性强。该方法的缺点有:一、作为单纯的数据驱动的方法,有些时候预测和推理的准确度不高;二、解释性很差,没有办法为预测结果提供合理的解释。

基于大规模知识图谱的推断
 

PRA算法的主要想法是将链接两个实体之间的路径作为特征来预测实体之间潜在的关系,其基本框架包括特征抽取、特征计算和训练分类器三部分,其中分类器训练的方法主要有单任务学习和多任务学习两类。

基于大规模知识图谱的推断
 

PRA算法的优点有:一是可解释性强;二是自动发现推理规则;三是在某些情况下能够获得比embedding方法更准确的效果。PRA算法的缺点包括:一是处理低频关系效果不好;二是处理低连通图的效果不好;三是当图足够大时,路径抽取工作比较费时。

基于大规模知识图谱的推断
 

目前一个新的研究方向是将Embedding和PRA相结合,这种结合的好处是能够充分利用显式特征和隐式特征的互补性从而提高预测效果。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM