• 知识图谱表示学习与关系推理(2016-2017)(二)


    笔者:整理2016-2017年ACL、EMNLP、SIGIR、IJCAI、AAAI等国际知名会议中实体关系推理与知识图谱补全的相关论文,供自然语言处理研究人员,尤其知识图谱领域的学者参考,如有错误理解之处请指出,不胜感激!(如需转载,请联系本人:jtianwen2014,并注明出处

    EMNLP 2016

    A Position Encoding Convolutional Neural Network Based on Dependency Tree for Relation Classification

    • 作者:Yunlun Yang, Yunhai Tong, Shulei Ma, Zhi-Hong Deng
    • 机构:School of Electronics Engineering and Computer Science, Peking University

    本文的任务为关系分类,即对于给定句子中的给定实体对进行关系分类。本文叙述,传统特征选择的方法严重依赖于特征的质量以及词语资源,为了达到最优往往需要耗时的人工选择特征子集。基于核函数的方法虽然不必选择特征,但仍需精心设计的核函数并具有较大的计算开销。最近,随着神经网络的兴起,深度学习所提供的端到端的方法被应用于很多经典的自然语言处理问题。RNN和CNN已经被证明对关系分类具有极大帮助。

    然而,一些研究工作表明传统的特征对于关系分类的神经网络方法仍有提高作用,可以提供更多的信息。一个简单而可行的方法是将词语级的特征和神经网络获取的特征简单组合(一般是连接起来),组合后的表示输入到分类器。另一种更加复杂的方法是根据句子的句法依存树调整神经网络的结构,取得了较好的效果。

    本文认为,句法依存树在关系分类的任务上是很有价值的。本文发现实体对间的依存路径对关系分类更有价值,相比于整体句子的依存路径,由于其依存路径的距离往往小于句子的依存路径距离,剪枝后的实体间依存路径减少了很多噪声信息。为了更好的利用句法依存所提供的语言学知识,本文提出了基于句法依存树和的位置编码卷积神经网络方法PECNN。方法的过程图如下:

     

    每个词的表示由两部分构成:词向量、该词的依存树位置特征。位置特征的获取主要思想是将离散的位置映射到实数向量,它和词向量相似,只不过是将词替换为离散的距离。本文提出了两种方法来定义依存树中的位置特征TPF1、TPF2。TPF1中距离定义为当前词到目标实体的最短路径中依存弧的个数,映射方式和PF相同,即不同的距离随机初始化一个固定维度的向量,训练的过程中学习。一个词到实体的最短路径可以划分为两个子路径:被最低祖先节点分割,TPF2则将距离用二元组表示,分别代表两个子路径的长度。下图是各个词语到实体Convulsions的TPF1与TPF2:

     

    典型的CNN的一个卷积窗口每次获取当前词的邻近上下文词语作为输入,在本文中为了充分利用树结构信息,本文将当前词的父节点和子节点作为作为其邻近上下文输入到卷积窗口,相应的本文对卷积核也做了修改,使用了两种卷积核:Kernel-1、Kernel-2,具体定义见论文。其中Kernal-1旨在从依存树中多层次抽取特征,而Kernel-2专注于挖掘共享父节点的词之间的语义信息。两个核函数的大小均取3。最后将Kernel-1、Kernel-2分别池化并拼接在一起作为CNN输出。

    笔者:本文利用卷积神经网络对实体关系进行分类,创新性地将依存树作为输入,将词在树中的位置信息嵌入式表示并拼接到词向量中共同学习,同时,本文对CNN面向树结构设计了独特的卷积核。本文提出的方法在实体关系分类任务上,相比于未使用位置信息的CNN和LSTM取得了进一步提高。在实验中本文也将POS等特征融入PECNN,也取得了较好的结果。但文中似乎未探讨卷积核设计对结果的影响,面向树结构的卷积核的设计是否是本文独立提出的?读者可参看文中参考文献探寻一下。

    Jointly Embedding Knowledge Graphs and Logical Rules

    • 作者:Shu Guo, Quan Wang, Lihong Wang§, Bin Wang, Li Guo
    • 机构:Institute of Information Engineering, Chinese Academy of Sciences

    本文的任务为知识图谱表示学习,本文提出逻辑规则包含丰富的背景信息,但始终没有很好的在知识图谱表示学习的任务上被研究。本文提出KALE的方法,将知识图谱与逻辑规则进行联合嵌入表示学习。

    之前有学者同时利用知识表示方法和逻辑规则,但二者是分开建模的,这也使得并未得到更好的嵌入式表示。Rocktaschel et al. (2015)提出联合模型将一阶逻辑融入嵌入式表示,但这项工作专注于关系分类,对实体对进行嵌入表示仅创建一个向量表示,而不是实体拥有各自的表示。

    KALE方法可分为三个部分:三元组建模、逻辑规则建模,以及联合学习。一个整体的方法框图如下图所示:

     

    对于三元组建模部分使用简单的翻译模型(TransE衍生)完成,具体的打分函数如下:

    [I(e_i, r_k, e_j)=1-frac {1}{ssqrt {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 riangleq (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 riangleq (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中使用的方法。另外,将关系路径融入表示学习的方法和本文的方法较为类似,实质上都是利用关系路径去推理关系。

    Mining Inference Formulas by Goal-Directed Random Walks

    • 作者:Zhuoyu Wei, Jun Zhao and Kang Liu
    • 作者:University of Chinese Academy of Sciences

    本文的任务为面向知识图谱的实体关系推理,即利用知识图谱中已有的关系推理新的关系事实。推理规则对于基于知识图谱的关系推理有着显著的作用,而人工构造大量的推理规则是不现实的。目前基于数据驱动的自动挖掘推理规则的方法中,随机游走的方法被认为最适用于知识图谱。然而,在知识图谱中无目的的单纯随机游走挖掘有价值的推理规则的效率较低,甚至会引入误导的推理规则。尽管一些学者提出使用启发式规则指导随机游走,但由于推理规则的多样性,这种方法仍无法取得较好的效果。

    针对以上现状,本文提出一种目标引导的推理规则挖掘算法:在随机游走的每一步使用明确的推理目标作为方向。具体地,为了达到目标引导的机制,在每一步随机游走的过程中,算法根据最终目标动态地估计走向各个邻居的潜在可能性,根据潜在可能性分配游走到各个邻居的概率。比如,当推理“一个人的语言”时,算法更倾向走“国籍”边而非“性别”边。

    本文首先回顾了基本的用于推理规则挖掘的随机游走算法,其中也提到早期基于枚举的(枚举给定满足关系的实体对之间的所有路径)根据频率计算置信度的推理规则挖掘算法。随机游走算法随机地(概率均等,和出度有关)选择下一跳到达的邻居,而非遍历所有邻居。由此可见,这种随机游走的算法是独立用目标的。而且,由于随机性,随机游走无法保证高效低挖掘到目标实体对的路径,甚至引入噪声。为了缓解这一问题,PRA引入了启发式的规则:对概率矩阵进行修改,是的邻居的选择并不均等,而是依据到达目标实体的可能性。

    为了实现目标引导的随机游走,本文对给定目标(( ho=R(H,T)))的情况下,对实体(i)(j)的连边g(关系(r))被选择的概率定义为:

    [P_{r_{i,j}}= egin{cases} frac {Phi (r(i,j), ho)}{sum_{kin Adj(i)}Phi (r(i,j), ho)}, &mbox{}jin Adj(i)\ 0, &mbox{}j otin Adj(i) end{cases} ]

    其中,(Phi(r(i,j), ho))是在给定目标( ho)情况下,对实体(i)(j)的连边被选择的可能性测量。路径的出发点为(H),最终要到达(T),游走的过程中递归定义已走路径的似然为:(P_{pHt}=P_{pHs}cdot P_{r_st})。似然函数定义为:

    [ m{max} P_{mathbb{P}}=prod_{pHtin mathbb{P}}P_{pHt}^{a}(1-P_{pHt})^{b+c} ]

    其中(mathbb{P})是随机游走获得的路径集合,(a,b,c)分别对应三种情况,a)(t=T)且产生正确的推理规则;a)(t ot=T);c)(t=T)且产生噪声推理规则;(a,b,c)都是0-1值,且每次有且只有一个为1。将最大化转为最小化(L_{rw}=- m{log} P_{mathbb{P}}),本文中又将该目标函数划分为两部分来计算:(L_{rw}=L_{rw}^t+lambda L_{rw}^{inf})。对于一个明确的路径(p)(L_{rw})可以写为:

    [L_{rw}(p)=-y m{log} P_{p}-(1-y) m{log} (1-P_{p}) ]

    (Phi(r(i,j), ho))的计算需要融入知识图谱全局的信息,为了减少计算量,本文引入知识图谱的嵌入表示来计算(Phi):

    [Phi(r(i,j), ho)=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}( ho)=sum_{fin F_{ ho}}delta(f) ]

    其中,(F_{ ho})是随机游走为关系找到的推理规则集合,(delta(f)=w_fcdot n_f)。最后本文应用逻辑斯谛回归来对实体关系概率进行计算:

    [P( ho = y|mathcal{X})=mathcal{F}(mathcal{X})^y(1-mathcal{F}(mathcal{X}))^{1-y} ]

    [mathcal{F}(mathcal{X})=frac{1}{1+e^{-x}} ]

    笔者:对于随机游走的无目标指导从而导致推理规则挖掘效率低并引入噪声的问题,本文在随机游走的每一步引入目标的指导,即根据路径对目标实现的可能性计算游走到各个邻居的概率,而不是随机选择。

    Lifted Rule Injection for Relation Embeddings

    • 作者:Thomas Demeester, Tim Rocktäschel and Sebastian Riedel
    • 机构:Ghent University - iMinds
    • 机构:University College London

    本文提出了一种将规则注入到嵌入式表示中,用于关系推理的方法。本文叙述,嵌入式的表示方法可以从大规模知识图谱中学习到鲁棒性较强的表示,但却经常缺乏常识的指导。将二者融合起来的方法,已经取得了较好的效果,其常识经常以规则的形式出现。但在大规模知识图谱中,由于一些规则并不是独立于实体元组的,所以这些规则所能覆盖的实例仅占一小部分,如:(forall x: m{isMan}(x)Rightarrow m{isMortal}(x))

    本文提出将隐式的规则融入到实体和关系的分布式表示中。本文首先回顾了Riedel et al. (2013)的工作,在该工作中,作者用两个向量(oldsymbol{r,t})来分别表征关系和实体元组(头尾实体对),优化的目标是:(oldsymbol{r_p^{ m{T}}t_pleq r_q^{ m{T}}t_q}),其中(p)代表负例的标识。并以此优化目标定义相应的损失函数:

    [mathcal{L}_R=sum_{(r,t_q)in mathcal{O},t_pin mathcal{T},(r,t_p) otin mathcal{O}}l_R(oldsymbol{r^ m{T}[t_p-t_q]}) ]

    为了将如:(forall tin mathcal(T): (r_p,t)Rightarrow (r_q,t))的规则融入分布式表示,本文模仿上述方法,可以将上述规则转化为:

    [forall tin mathcal{T}:oldsymbol{r_p^{ m{T}}t_pleq r_q^{ m{T}}t_q} ]

    也就是左侧元组分数越高,右侧元组分数必然更高,从而达到左侧元组成立,右侧一定成立的推理原则。同时优化损失函数:

    [mathcal{L}_R=sum_{forall t in mathcal{T}}l_R(oldsymbol{[t_p-t_q]^ m{T} ilde t}) ]

    其中,(oldsymbol{ ilde t}:=t/{||t||_1})

    为了减少计算花销,同时到达独立于实体元组的目的,本文对目标损失函数做了如下修改:

    [mathcal{L}_I=sum_{forall t in mathcal{T}}l_I(sum_{i=1}^{k} ilde t_ioldsymbol{[t_p-t_q]^ m{T}f{1}_i}) ]

    进一步有:

    [mathcal{L}_Ileq sum_{i=1}^{k}l_I(oldsymbol{[t_p-t_q]^ m{T}f{1}_i})sum_{forall t in mathcal{T}} ilde t_i ]

    令:

    [mathcal{L}_I^U:= sum_{i=1}^{k}l_I(oldsymbol{[t_p-t_q]^ m{T}f{1}_i}) ]

    通过最小化损失函数(mathcal{L}_I^U),可以将隐式规则((r_p,t)Rightarrow (r_q,t))融入到表示中。其他细节请参看原文,这里不做赘述。

  • 相关阅读:
    jni java与c++交互返回三维数组jobjectArray
    Android开发之EditText 详解(addTextChangedListener监听用户输入状态)
    Android JNI和NDK学习(09)--JNI实例二 传递类对象
    JavaDoc的生成规则---ShinePans
    Android 电话自己主动接听和挂断具体解释
    传统线程技术(一)
    Linux内核启动及根文件系统载入过程
    eclipse、MyEclipse实现批量改动文件编码
    菜鸟开发—应具备的搜索技巧
    Java之GUI编程(一)
  • 原文地址:https://www.cnblogs.com/jtianwen2014/p/7008228.html
Copyright © 2020-2023  润新知