笔者:整理2016-2017年ACL、EMNLP、SIGIR、IJCAI、AAAI等国际知名会议中实体关系推理与知识图谱补全的相关论文,供天然语言处理研究人员,尤为知识图谱领域的学者参考,若有错误理解之处请指出,不胜感激!(如需转载,请联系本人:jtianwen2014,并注明出处)web
- 做者:Yunlun Yang, Yunhai Tong, Shulei Ma, Zhi-Hong Deng
- 机构:School of Electronics Engineering and Computer Science, Peking University
本文的任务为关系分类,即对于给定句子中的给定实体对进行关系分类。本文叙述,传统特征选择的方法严重依赖于特征的质量以及词语资源,为了达到最优每每须要耗时的人工选择特征子集。基于核函数的方法虽然没必要选择特征,但仍需精心设计的核函数并具备较大的计算开销。最近,随着神经网络的兴起,深度学习所提供的端到端的方法被应用于不少经典的天然语言处理问题。RNN和CNN已经被证实对关系分类具备极大帮助。算法
然而,一些研究工做代表传统的特征对于关系分类的神经网络方法仍有提升做用,能够提供更多的信息。一个简单而可行的方法是将词语级的特征和神经网络获取的特征简单组合(通常是链接起来),组合后的表示输入到分类器。另外一种更加复杂的方法是根据句子的句法依存树调整神经网络的结构,取得了较好的效果。网络
本文认为,句法依存树在关系分类的任务上是颇有价值的。本文发现实体对间的依存路径对关系分类更有价值,相比于总体句子的依存路径,因为其依存路径的距离每每小于句子的依存路径距离,剪枝后的实体间依存路径减小了不少噪声信息。为了更好的利用句法依存所提供的语言学知识,本文提出了基于句法依存树和的位置编码卷积神经网络方法PECNN。方法的过程图以下:dom
每一个词的表示由两部分构成:词向量、该词的依存树位置特征。位置特征的获取主要思想是将离散的位置映射到实数向量,它和词向量类似,只不过是将词替换为离散的距离。本文提出了两种方法来定义依存树中的位置特征TPF一、TPF2。TPF1中距离定义为当前词到目标实体的最短路径中依存弧的个数,映射方式和PF相同,即不一样的距离随机初始化一个固定维度的向量,训练的过程当中学习。一个词到实体的最短路径能够划分为两个子路径:被最低祖先节点分割,TPF2则将距离用二元组表示,分别表明两个子路径的长度。下图是各个词语到实体Convulsions的TPF1与TPF2:分布式
典型的CNN的一个卷积窗口每次获取当前词的邻近上下文词语做为输入,在本文中为了充分利用树结构信息,本文将当前词的父节点和子节点做为做为其邻近上下文输入到卷积窗口,相应的本文对卷积核也作了修改,使用了两种卷积核:Kernel-一、Kernel-2,具体定义见论文。其中Kernal-1旨在从依存树中多层次抽取特征,而Kernel-2专一于挖掘共享父节点的词之间的语义信息。两个核函数的大小均取3。最后将Kernel-一、Kernel-2分别池化并拼接在一块儿做为CNN输出。函数
笔者:本文利用卷积神经网络对实体关系进行分类,创新性地将依存树做为输入,将词在树中的位置信息嵌入式表示并拼接到词向量中共同窗习,同时,本文对CNN面向树结构设计了独特的卷积核。本文提出的方法在实体关系分类任务上,相比于未使用位置信息的CNN和LSTM取得了进一步提升。在实验中本文也将POS等特征融入PECNN,也取得了较好的结果。但文中彷佛未探讨卷积核设计对结果的影响,面向树结构的卷积核的设计是不是本文独立提出的?读者可参看文中参考文献探寻一下。学习
- 做者:Shu Guo, Quan Wang, Lihong Wang§, Bin Wang, Li Guo
- 机构:Institute of Information Engineering, Chinese Academy of Sciences
本文的任务为知识图谱表示学习,本文提出逻辑规则包含丰富的背景信息,但始终没有很好的在知识图谱表示学习的任务上被研究。本文提出KALE的方法,将知识图谱与逻辑规则进行联合嵌入表示学习。优化
以前有学者同时利用知识表示方法和逻辑规则,但两者是分开建模的,这也使得并未获得更好的嵌入式表示。Rocktaschel et al. (2015)提出联合模型将一阶逻辑融入嵌入式表示,但这项工做专一于关系分类,对实体对进行嵌入表示仅建立一个向量表示,而不是实体拥有各自的表示。编码
KALE方法可分为三个部分:三元组建模、逻辑规则建模,以及联合学习。一个总体的方法框图以下图所示:spa
对于三元组建模部分使用简单的翻译模型(TransE衍生)完成,具体的打分函数以下:
\[I(e_i, r_k, e_j)=1-\frac {1}{s\sqrt {d}}||\mathbf{e}_i+\mathbf{r}_k-\mathbf{e}_j||_1\]
对于逻辑规则建模部分,本文使用t-norm模糊逻辑(t-norm fuzzy logics),本文主要考虑两种类型的逻辑:第一类是:\(\forall x,y: (x,r_s,y)\Rightarrow (x,r_t,y)\),给定\(f\triangleq (e_m,r_s,e_n)\Rightarrow (e_m,r_t,e_n)\),置信度的计算以下:
\[I(f)=I(e_m,r_s,e_n)\cdot I(e_m,r_t,e_n)-I(e_m,r_s,e_n)+1\]
其中,\(I(\cdot ,\cdot ,\cdot)\)是三元组建模时的置信度函数。
第二类是:\(\forall x,y,z: (x,r_{s1},y)\land (y,r_{s2},z)\Rightarrow (x,r_t,z)\),给定\(f\triangleq (e_l,r_{s1},e_m)\land (e_m,r_{s2},e_n)\Rightarrow (e_l,r_t,e_n)\),置信度的计算以下:
\[I(f)=I(e_l,r_{s1},e_m)\cdot I(e_m,r_{s2},e_n)\cdot I(e_l,r_t,e_n)-I(e_l,r_{s1},e_m)\cdot I(e_m,r_{s2},e_n)+1\]
联合学习的过程一样是时整理三元组的置信度远大于负例三元组的置信度。
值得注意的是,虽然规则只有两种,但为了应用于实际必须找到规则的关系实例,为了缓解人工的压力,本文使用了半自动的方法构造规则关系实例。其方法是,首先利用TransE学习到实体和关系的表示,为可能存在这两个逻辑规则的实体关系计算置信度,而后进行排序,进而选择符合逻辑规则的实体关系实例。部分实例以下:
笔者:本文提出将逻辑规则融入知识图谱嵌入式表示学习的方法,而且逻辑规则和三元组的学习是联合进行的。方法提高的瓶颈彷佛在逻辑规则的选择与实例的构造上,本文使用了本自动的方法构建,虽然这一部分并不是本文重点,但确实该方法是够有效能够应用于大规模知识图谱的关键,本文对FB15K构建了47个规则实例,但对于大规模知识图谱这些规则还远远不够,这种规则的方法存在移植性的问题,是否能够考虑使用随机游走获取此类逻辑规则,相似PRA中使用的方法。另外,将关系路径融入表示学习的方法和本文的方法较为相似,实质上都是利用关系路径去推理关系。
- 做者:Zhuoyu Wei, Jun Zhao and Kang Liu
- 做者:University of Chinese Academy of Sciences
本文的任务为面向知识图谱的实体关系推理,即利用知识图谱中已有的关系推理新的关系事实。推理规则对于基于知识图谱的关系推理有着显著的做用,而人工构造大量的推理规则是不现实的。目前基于数据驱动的自动挖掘推理规则的方法中,随机游走的方法被认为最适用于知识图谱。然而,在知识图谱中无目的的单纯随机游走挖掘有价值的推理规则的效率较低,甚至会引入误导的推理规则。尽管一些学者提出使用启发式规则指导随机游走,但因为推理规则的多样性,这种方法仍没法取得较好的效果。
针对以上现状,本文提出一种目标引导的推理规则挖掘算法:在随机游走的每一步使用明确的推理目标做为方向。具体地,为了达到目标引导的机制,在每一步随机游走的过程当中,算法根据最终目标动态地估计走向各个邻居的潜在可能性,根据潜在可能性分配游走到各个邻居的几率。好比,当推理“一我的的语言”时,算法更倾向走“国籍”边而非“性别”边。
本文首先回顾了基本的用于推理规则挖掘的随机游走算法,其中也提到早期基于枚举的(枚举给定知足关系的实体对之间的全部路径)根据频率计算置信度的推理规则挖掘算法。随机游走算法随机地(几率均等,和出度有关)选择下一跳到达的邻居,而非遍历全部邻居。因而可知,这种随机游走的算法是独立用目标的。并且,因为随机性,随机游走没法保证高效低挖掘到目标实体对的路径,甚至引入噪声。为了缓解这一问题,PRA引入了启发式的规则:对几率矩阵进行修改,是的邻居的选择并不均等,而是依据到达目标实体的可能性。
为了实现目标引导的随机游走,本文对给定目标(\(\rho=R(H,T)\))的状况下,对实体\(i\)到\(j\)的连边g(关系\(r\))被选择的几率定义为:
\[ P_{r_{i,j}}= \begin{cases} \frac {\Phi (r(i,j),\rho)}{\sum_{k\in Adj(i)}\Phi (r(i,j),\rho)}, &\mbox{}j\in Adj(i)\\ 0, &\mbox{}j\notin Adj(i) \end{cases} \]
其中,\(\Phi(r(i,j),\rho)\)是在给定目标\(\rho\)状况下,对实体\(i\)到\(j\)的连边被选择的可能性测量。路径的出发点为\(H\),最终要到达\(T\),游走的过程当中递归定义已走路径的似然为:\(P_{pHt}=P_{pHs}\cdot P_{r_st}\)。似然函数定义为:
\[\rm{max} P_{\mathbb{P}}=\prod_{pHt\in \mathbb{P}}P_{pHt}^{a}(1-P_{pHt})^{b+c}\]
其中\(\mathbb{P}\)是随机游走得到的路径集合,\(a,b,c\)分别对应三种状况,a)\(t=T\)且产生正确的推理规则;a)\(t\not=T\);c)\(t=T\)且产生噪声推理规则;\(a,b,c\)都是0-1值,且每次有且只有一个为1。将最大化转为最小化\(L_{rw}=-\rm{log} P_{\mathbb{P}}\),本文中又将该目标函数划分为两部分来计算:\(L_{rw}=L_{rw}^t+\lambda L_{rw}^{inf}\)。对于一个明确的路径\(p\),\(L_{rw}\)能够写为:
\[L_{rw}(p)=-y\rm{log} P_{p}-(1-y)\rm{log} (1-P_{p})\]
\(\Phi(r(i,j),\rho)\)的计算须要融入知识图谱全局的信息,为了减小计算量,本文引入知识图谱的嵌入表示来计算\(\Phi\):
\[\Phi(r(i,j),\rho)=\Psi(E_{r(i,j)},E_{R(H,T)})\]
其中,\(\Psi(E_{r(i,j)},E_{R(H,T)})=\sigma(E_{r(i,j)}\cdot E_{R(H,T)})\),\(E_{r(i,j)}=[E_r, E_j]\),\(E_{R(H,T)}=[E_R, E_T]\),\(E_r,E_j,E_R,E_T\)表明关系和实体的嵌入式表示。
训练推理模型的算法以下:
最终的推理是利用打分函数,对规定实体对的不一样关系进行打分:
\[\mathcal{X}(\rho)=\sum_{f\in F_{\rho}}\delta(f)\]
其中,\(F_{\rho}\)是随机游走为关系找到的推理规则集合,\(\delta(f)=w_f\cdot n_f\)。最后本文应用逻辑斯谛回归来对实体关系几率进行计算:
\[P(\rho = y|\mathcal{X})=\mathcal{F}(\mathcal{X})^y(1-\mathcal{F}(\mathcal{X}))^{1-y}\]
\[\mathcal{F}(\mathcal{X})=\frac{1}{1+e^{-x}}\]
笔者:对于随机游走的无目标指导从而致使推理规则挖掘效率低并引入噪声的问题,本文在随机游走的每一步引入目标的指导,即根据路径对目标实现的可能性计算游走到各个邻居的几率,而不是随机选择。
- 做者:Thomas Demeester, Tim Rocktäschel and Sebastian Riedel
- 机构:Ghent University - iMinds
- 机构:University College London
本文提出了一种将规则注入到嵌入式表示中,用于关系推理的方法。本文叙述,嵌入式的表示方法能够从大规模知识图谱中学习到鲁棒性较强的表示,但却常常缺少常识的指导。将两者融合起来的方法,已经取得了较好的效果,其常识常常以规则的形式出现。但在大规模知识图谱中,因为一些规则并非独立于实体元组的,因此这些规则所能覆盖的实例仅占一小部分,如:\(\forall x: \rm{isMan}(x)\Rightarrow \rm{isMortal}(x)\)。
本文提出将隐式的规则融入到实体和关系的分布式表示中。本文首先回顾了Riedel et al. (2013)的工做,在该工做中,做者用两个向量\(\boldsymbol{r,t}\)来分别表征关系和实体元组(头尾实体对),优化的目标是:\(\boldsymbol{r_p^{\rm{T}}t_p\leq r_q^{\rm{T}}t_q}\),其中\(p\)表明负例的标识。并以此优化目标定义相应的损失函数:
\[\mathcal{L}_R=\sum_{(r,t_q)\in \mathcal{O},t_p\in \mathcal{T},(r,t_p)\notin \mathcal{O}}l_R(\boldsymbol{r^\rm{T}[t_p-t_q]})\]
为了将如:\(\forall t\in \mathcal(T): (r_p,t)\Rightarrow (r_q,t)\)的规则融入分布式表示,本文模仿上述方法,能够将上述规则转化为:
\[\forall t\in \mathcal{T}:\boldsymbol{r_p^{\rm{T}}t_p\leq r_q^{\rm{T}}t_q}\]
也就是左侧元组分数越高,右侧元组分数必然更高,从而达到左侧元组成立,右侧必定成立的推理原则。同时优化损失函数:
\[\mathcal{L}_R=\sum_{\forall t \in \mathcal{T}}l_R(\boldsymbol{[t_p-t_q]^\rm{T}\tilde t})\]
其中,\(\boldsymbol{\tilde t}:=t/{||t||_1}\)。
为了减小计算花销,同时到达独立于实体元组的目的,本文对目标损失函数作了以下修改:
\[\mathcal{L}_I=\sum_{\forall t \in \mathcal{T}}l_I(\sum_{i=1}^{k}\tilde t_i\boldsymbol{[t_p-t_q]^\rm{T}\bf{1}_i})\]
进一步有:
\[\mathcal{L}_I\leq \sum_{i=1}^{k}l_I(\boldsymbol{[t_p-t_q]^\rm{T}\bf{1}_i})\sum_{\forall t \in \mathcal{T}}\tilde t_i\]
令:
\[\mathcal{L}_I^U:= \sum_{i=1}^{k}l_I(\boldsymbol{[t_p-t_q]^\rm{T}\bf{1}_i})\]
经过最小化损失函数\(\mathcal{L}_I^U\),能够将隐式规则\((r_p,t)\Rightarrow (r_q,t)\)融入到表示中。其余细节请参看原文,这里不作赘述。