EMNLP 2015
文章简介:
本文提出了一种基于多步关系路径(multiple-step relation paths)的模型PTransE,其在知识库补全(knowledge base completion)和文本提取关系中获得了显著的进步。
TransE系列代码
文章
目录:
1.Introduction
2.Our model
2.1TransE and PTransE
2.2Relation Path Reliability
2.3Relation Path Representation
2.4Objective Formalization
2.5Optimization and Implementation Details
2.6Complexity Analysis
3.Experiments and Analysis
3.1Data Sets and Experimental Setting
3.2Knowledge Base Completion
3.2.1EntityPrediction
3.2.2Relation Prediction
3.3Relation Extraction fromText
3.4Case Study of Relation Inference
4.Related Work
5.Conclusion and future work
1.Introduction
目前知识库是许多应用诸如问答系统和网络搜索的重要资源,所以不断扩充数据库很有必要(即使当前数据库以及很大了有百万级别的实体)。所以很多研究集中在扩充知识库上。
目前的研究揭示了基于神经网络的表征学习方法可以有效地将实体和关系嵌入低维向量,更是能用来抽取未知的关系信息。
虽然目前TransE系列模型很成功,但是这一系列的模型只考虑实体间的直接关系。而一些关系是需要多步推理的,如 ''出生城市→城市所在省份→省份所在国家→''对应关系国籍。
所以本文提出的模型PTransE考虑了路径相关因素:
◦是运算符后面会提到,将关系r1和r2一起表现为统一的关系路径表示。有以下两点保证了PTransE对关系路径的学习:
Relation Path Reliability
不是所有的关系路径都是有意义且有效的,比如''朋友→专业→''这个路径就表示不了任何关系。所以我们提出了一种关系约束资源分配算法(PCRA,path-constraint resource allocation algorithm)来确保关系路径有效,之后只会用有效的关系路径进行表征学习。
Relation Path Representation
给定一个关系路径p=(r1,r2,...rl),通过使用关系运算符◦将所有关系嵌入p,即p=r1◦r2...◦rl
在实体预测(entity prediction,应该和link prediction是一样的),关系预测(relation prediction),关系抽取( relation extraction)上PTransE表现强过其他模型。
2.Our model
PTransE的训练是要最小化损失函数(又称为energy score)。
2.1TransE and PTransE
对于三元组(h,r,t),TransE的energy function,训练目的是最小化这个函数。
PTransE的energy function,其中P是实体和h和t之间所有关系路径p的集合(两个实体间可能会有多条路径),而E(h,P,t)则表示h和t间多关系路径的相关性:
E是energy score,Z是归一化因子,R是对于实体(h,t)关系路径p的可靠性,下节会展开。R关注在Relation Path Reliability,E关注在Relation Path Representation。
2.2Relation Path Reliability
作者提出一种关系约束资源分配算法(PCRA,path-constraint resource allocation algorithm)来衡量一条关系路径的可靠性。资源分配算法出自个性化推荐系统(Zhou et al., 2007),并成功应用于计算两个事物相关度的信息检索(L¨uandZhou, 2011)。PCRA的想法是,假设从一个头实体t出发经过多条路径p,我们衡量最后到达尾节点t的资源数量来衡量h和t之间p的可靠度。数学表达如下:
从头实体h出发,按照路径S0→S1→S2...→Sl,其中S0=h,t∈Sl(注意S是一个集合,尾节点可能有多个Sl是尾节点的集合)。则对于实体m∈Si,定义m的上一个节点的集合是Si−1(·,m),n是其中的一个节点(实体)。Si(n,·) 则是节点n(实体)的下一个节点的集合。Rp(n)是从实体n上获得的资源。
我们定义头节点Rp(h)=1,最后尾节点t的Rp(t)的数值则代表了路径p从头节点h可以传输多少信息到尾节点t,即路径p的可靠性。R(p|h,t) 为给定头节点h尾节点t时计算Rp(t)。
**2020.3.14更新,经过评论区提醒,下方的文字理解有误。对于公式(4)中的分母Si(n, .),原文是"is the direct successors of n ∈ Si−1 following the relation ri"从实体n出发,关系ri连接的所有实体。因为图谱中存在1对N的情况,比如图中Tom livedInCity可能会有多个节点(实体),所以分母就是统计这里后继节点的数量。关系ri即在路径p中第i步的关系,实体n是实体m通过关系ri达到的节点(实体),三元组可以表示为(m,ri,n)同样n可能也是有很多个的。同时Rp(h)是指定了一条路径路径p,不会像图中那样计算好几条路径。
*用上图来做一个例子,从Tom到FR共有四条路径,先计算Rp(Lyon),Lyon的上一个节点只有Tom,n=Tom,但是Tom下一个节点有4个,则|Si(n,·)|=4。因为Rp(Tom)=1,所以Rp(Lyon)=1/4。之后计算Rp(FR),展开为:
而
最后计算出可得,因为在这个图中从Tom节点出发的所有路径最后都回到了FR节点,资源(resource)被完全传递到了。*
2.3Relation Path Representation
介绍关系之间◦运算符的选择,对应图中Composition。给定一个关系路径p=(r1,r2,...rl),通过使用关系运算符◦将所有关系嵌入p,即p=r1◦r2...◦rl。
文中◦试了三种运算,向量相加,向量连乘(cumulative product),和RNN(循环神经网络)。(Neelakantan et al., 2015)这篇文章中也使用了RNN来表征学习,具体操作方式:
c1=r1,最后得到p=cn
路径的能量函数。
2.4Objective Formalization
和TransE思路一致多了一项Relation Path Reliability,同样引入了合页损失。
负样列,三元组中一次只更换一个元素。
2.5Optimization and Implementation Details
使用SGD优化。嵌入向量同样要正规化。以下还有一些表征学习的训练技巧:
Reverse Relation Addition
将三元组头尾实体更换训练,但是r如何求逆文章没有提到,猜测是多创建一个逆关系嵌入?
Path Selection Limitation
考虑到计算的高效性,只训练路径三步之内可靠性大于0.01的。
2.6Complexity Analysis
设Ne为实体数量,Nr为关系数量,K为嵌入向量维度,S是训练三元组的数量,P是两个实体间路径的期望,L是路径的期望长度。
PTransE和TransE的参数数量都是(NeK+NrK)。TransE的时间复杂度为(SK),PTransE的时间复杂度和向量连接运算◦有关。采用累加和累乘时为O(SKPL),采用RNN时为O(SK^2PL)。
3.Experiments and Analysis
3.1Data Sets and Experimental Setting
数据集使用FB15K和FB1M。
从Freebase中提取出Wikilinks database中也包含并在Freebase中出现超过100次的14951个实体和1345个关系,这个数据集称为FB15k。选择最常出现的1million个实体,得到数据集FB1M,其包含17millions个三元组和25k关系。
本文中作者根据两个场景来考察PTransE的效果,分别为:
1.知识库补全(Knowledge base completion),通过模型(根据已有知识库)来预测给定三元组中缺失的实体或关系,即给定三元组中的两个预测另外一个。
2.关系抽取(Relation extraction),给定文本通过模型(根据已有知识库)抽取实体间的关系。
3.2Knowledge Base Completion
(Bordes et al., 2011; Bordes et al., 2012; Bordes et al., 2013)这些文章中使用过Knowledge Base Completion作为评测方法。作者在FB15K上实验。
这里的得分函数用上了2.5中的Reverse Relation Addition。注意G(h,r,t)中还加上了条件概率Pr(r|p),来考察路径p对于关系r的可靠度。
这里Knowledge Base Completion分成两个子任务实体预测和关系预测。
3.2.1EntityPrediction
实体预测,根据 (Bordes et al., 2013). 中的设置,测试三元组会缺少一个头实体或者尾实体,遍历每一个实体计算出G(h,r,t)降序排列(?不是应该升序么)。有两个指标:
mean rank:在得到的排序中,对正确答案的实体排名求平均。数值越低说明模型越好。
hits@10:如果正确答案在排名前10,则+1。hits@10代表了排名前10里正确答案的比例。
(Bordes et al., 2013)中提到这些指标有疏漏,训练中的负样例有可能也是正确答案但是被作为了负例训练。比如奥巴马是美国总统,头实体奥巴马尾实体美国关系总统,我把头实体随机替换生产负样例,替换成了布什,然而布什也是正确答案。一种处理方法是把训练集验证集测试集里所有这类会引起疏漏的三元组全部去除,即对应了表格里的Raw和Filt.。
作者这里用了 (Bordes et al., 2013; Wang et al., 2014) 里的方法作为baseline并直接应用了他们的结果。考虑到实际消耗时间,作者这里先根据TransE排序所有实体,再通过PTransE排序前500的实体。
训练是epoch取500,得出的最佳超参数为:学习率=0.001,margin=1,嵌入维度k=100,采用L1距离。
可以看到PTransE取得的效果很不错,ADD运算符的效果最好。作者这里还举了PTransE优越性的一个例子,就是布什和林肯都是美国总统,用TransE训练时他们的嵌入会很相似,如果我们要预测劳拉(布什的妻子)丈夫是谁时可能会预测林肯。而PTransE因为考虑了路径,所以可以得到正确的预测结果。
根据(Bordes et al., 2013)把关系划分为 1-to-1, 1-toN, N-to-1 and N-to-N,结果如下:
3.2.2Relation Prediction
预测关系时我们直接用PTransE来评分排序而不是预测实体中先用TransE排序。因为TransE和PTransE的Hits@10都超过了95%,所以这里用Hits@1来比较。
最佳的超参数学习率=0.001,margin=1,嵌入维度k=100,采用L1距离。
+Rev代表加入了2.5中提到的逆向关系,+Path代表加入路径(?和PTransE区别在哪,是指只有1步关系路径么?同样的还有PTransE-path和TransE有啥区别),PTransE-TransE即只保留函数第二项不嵌入实体。从结果可以看到嵌入实体,考虑路径,加入逆向关系都对结果有益。
3.3Relation Extraction fromText
文章中提到了目前很多研究都认为知识库是一种远程监督(distant supervision)来将句子标注为训练数据并且根据句子提取出的特征构建关系分类器(Mintzetal., 2009; Riedel et al., 2010; Hoffmann et al., 2011; Surdeanu et al., 2012)。这些方法都是基于纯文本,而TransE是用来拓展基于文本的模型,比如与别的模型结合。以下实验的时候将PTransE结合Sm2r,结合两个模型的评分提取关系。
作者使用New York Timescorpus(NYT)作为训练测试数据。作者使用FB40K作为数据库,其包括NYT中所有的实体。实验中实体嵌入维度k=50,学习率=0.001,margin=1,采用L1距离。
3.4Case Study of Relation Inference
4.Related Work
提到了PRA算法Path Ranking algorithm (Lao andCohen,2010),用于关系提取,和知识库的推理。
5.Conclusion and future work
PTransE对于一些复杂关系形态无法处理,比如从Queen推理到Female(为啥不能呀),作者将用一阶逻辑(first-order logic)来编码这种推理。
将来会尝试结合TransH和TransR。