[论文学习]TDN: An Integrated Representation Learning Model of Knowledge Graphs

十年热恋 提交于 2020-01-27 04:07:12


文章下载链接:https://github.com/ciecus/papers/blob/master/%E7%9F%A5%E8%AF%86%E5%92%8C%E8%AF%AD%E4%B9%89%E7%BB%93%E5%90%882019%E5%B9%B4%E6%96%B0%E6%96%87%E7%AB%A0/TDN-%20An%20Integrated%20Representation%20Learning%20Model%20of%20Knowledge%20Graphs.pdf
文章代码链接:暂无

文章主要内容

摘要

知识图谱在人工智能领域起到了非常重要的作用。知识图谱致力于将实体和关系投影到连续的低维空间中。这种表示学习的方法可以通过预测潜在的三元组(head,relation,tail)用来完善知识图。在现有的方法种,人们主要集中于利用已有的三元组知识,但是忽略了融合文本信息和知识网的拓扑结构。这些问题导致了歧义问题。为了解决这个问题,并且构造一个更加准确的知识网,我们提出了一种新的表示学习模型,TDN模型,这个模型融合了三元组信息,文本描述信息,以及知识图的网络结构。本文将详细介绍TDN的框架结构及TDN因子表示的方法。为了验证提出来的模型的有效性,我们在实际数据的链接预测任务验证我们的模型,实验结果验证了我们模型的有效性。
关键词:人工智能;embedding,知识图,知识表示

前言

知识图在人工智能领域起到了非常重要的作用,比如智能问答,网络搜索等。知识图是一个包含了大连三元组(head,relation,tail)的语义网络,其中head和tal是网络中的实体(entity)。知识图一个非常重要的任务就是利用已有的知识去预测潜在的事实去完善我们的知识图。知识图的完善近似于社交网络分析中的链接预测,但是它更具难度。因为知识图包含了很多象征意义的变形以及逻辑信息,链接预测需要不能能考虑到点的存在性还需要考虑点的语义信息和类型。因此,传统的链接预测方法并不适用于知识图的完善,为了解决这个问题,基于翻译(Trans)方法的知识表示的方法被提出,此类方法通过将知识图中的实体和关系投影到连续的低维空间中,去构建知识图。在本文中我们把这种机制叫做vector embedding(因子表示方法)。现有的知识表示方法仅仅利用三元组星系,忽略了关于实体的语义信息以及网络的拓扑结构,这些都会导致知识网的歧义问题。并且,大多数知识图都有一些关于实体的描述信息,并且这些描述信息包含重要的上下文信心。上下文信息的缺失导致不能够细粒度的分析途中的关系,以至于不能够正确的利用知识图进行推理,如图一(a)所示。并且,对于知识图来说,所有的三元组连写起来构建了一个有特定拓扑结构的网络,也就是说,任意的三元组都不是孤立的,而是手其它三元组的影响。因此,每一个三元组都应该有他们对网络拓扑结构自己的贡献。但是现有的模型忽略了这些信息(如图1(b)所示)。因此,这些信息的丢失都会造成知识图完善的不准确性。

图1(a)展示了维多利亚是加拿大和seychelles的首都,如果基于传统的翻译模型,就会输出一样的实体,但是如果结合语义分析,应该输出不一样的实体。图1(b)展示了每一个三元组都在网络拓扑结构中贡献了自己的力量。

为了解决这些问题,本研究提出了一种新的表示模型TDN模型,去综合解决三元组信息(T),实体描述信息(D)和网路结构信息(N)。这些特征都被融合进统一的特征空间,知识图可以在这个空间中没有歧义的进行计算和分析。本文的主要贡献如下:

  • 提出了一个融合的知识表示模型,三元组信息,实体描述信息和网络结构都被考虑起来,并且能够消除知识图中的歧义(KG can be represented with less ambiguity)。
  • 通过在这种方法表示实体和关系,知识图能够更准确的完善。

本文的其余部分按照下面的组织架构安排:我们首先介绍了相关工作,然后对我们提出的模型进行描述,接着我们提出了我们完整的TDN模型构建方法。此外,为了验证我们模型的有效性,我们设计了实验,最后我们总结了我们的工作,并且提出了接下来的工作。

相关工作

当前的知识表示学习可以被分成两种类别,基于三元组的翻译表示模型和基于额外信息的翻译模型(the extra-information-based Trans embedding)。前者仅仅使用了三元组的象征表示,后者采用额外的信息比如文本信息图像信息去表示我们的实体。对于一个经典的翻译表示模型来说,TransE将实体和关系映射到一个低维特征空间,然后每一组三元组都通过损失函数,进行表示。E(h.r,t)=h+rtE(h.r,t)=||h+r-t||其中h,r,t分别被成为头实体,关系和尾实体。TransE模型非常的简单有效,但是 因为把实体和关系映射到统一的向量空间,它表示多元三元组关系的能力(1to N,N to 1,N to N)的能力就比较局限,为了客服这个问题,TransH被提出了,它通过把向量投影到一个超平面,完成特定关系的投影。TransH模型可以让同样的实体在不同的关系超平面中扮演不同的决策,从而实现多元关系的问题。此外,TransR模型通过翻译矩阵(transformation matrix)去区分实体空间,关系空间,并且将这些实体关系对,映射到不同的关系空间中,TransR的损失函数被定义为:
E(h,r,t)=hMr+rtMrE(h,r,t)=||hM_r+r-tM_r||
通过翻译矩阵MrM_r,TransR可以提供多样的翻译关系此外TransR的拓展TransD模型通过使用不同的翻译矩阵,在知识图中实现了更加多元的表示。

大多现存的基于三元组的翻译模型只考虑了三元组信息,但是忽略了文本描述中的语义信息。为了弥补这个缺陷,许多基于额外信息的Trans模型被提出,将语义信息融合到实体的向量表示中。通过文本表示的诡异秒,基于描述的知识表示(DKRL)将每一个实体描述使用CNN将文本信息投影到一个文本空间空间中,然后将基于三元组的TransE表示和基于文本的表示进行拼接,实验证明了DKRL可以显著提升知识图谱完成的有效性。此外,基于Bi-LSTM的自编吗器,A-LSTM被提出去表示实体的描述,IKRL在知识图中加入图片信息提升知识完善的有效性,近期也有一些问题提出利用结构信息去改善embedding的效果,但是他们通常只利用本地的结构信息,没有考虑不同的位置的影响,同时也没有用上文本描述信息。

基于TDN的表示的框架结构

TDN提供了一个混合框架结构可以在图中同时融合文本描述信息和结构信息。通过TDN,实体的embedding表示是通过下述方法定义的:
e=esedege = e_s\oplus e_d \oplus e_g,其中es,ed,ege_s,e_d,e_g分别是算远足,文本,和网络向量,\oplus代表拼接(concatentation)。

本文中,embedding的方法严格遵循上述公式的叫做完全TDN表示。此外TDN模型有一些变种方法,当ede_d为= 或者ege_g为0 的时候,我们称之为不完全TDN模型。
在这里插入图片描述
图二展示TDN的网络架构,es,ed,ege_s,e_d,e_g模型分别按照下面方法计算。首先,我们采用经典的Trans模型,比如TransE或者TransR模型,将每一个三元组投影或者物品的三元组表示ese_s。其次,我们开始考虑文本的描述信息,我们采用DKRL中的emebedding方法,用CNN网络作为文本编码器,通过上述方法文本描述的语义信息就可以表述成向量ede_d,第三,网络结构通过图的表示学习的方法,表示成e_g,所以网络的拓扑结构就被保存下来。
最后我们在统一的特征空间中融合这个知识图,所以这个知识图的信息就会减少很多歧义。

方法

正如上述讨论,TDN模型包括了三元组,文本,网络结构的信息,因为我们直接采用了经典的Trans模型去完成三元组的表示部分,所以我们这里只详细介绍如何对文本信息和网络信息进行表示。

文本信息的表示

在这个部分,我们分别采用两种模型去完成文本信息的表示。

第一种使用的方法叫做CBOW。通过这种方法,实体的表述文本可以被表示为一个词的序列,xi:n=x1,x2,,xnx_{i:n} = x_1,x_2,\dots,x_n,其中xix_i是第i个词的入口。我们采用这种词的embedding的求和平均的方法获得实体描述的embedding。
ed=1ni=1nxie_d = \frac{1}{n}\sum_{i=1}^nx_i
cbow模型能够提取文本中的关键语义信息。
此外我们采用cnn的词表示方法提取文本的向量表示,图三展示了这个过程,
在这里插入图片描述
采用和DKRL一样的预处理过程,我们把词的表示作为输入,模型采用了两个卷积层,然后他们的输出通过最大池化和平均池化。最后模型能够产生一个固定长度的向量表示。

网络结构的embedding方法

传统的Trans模型只关注三元组本地的信息,从而忽略了不同位置的拓扑结构。在本文中,我们考虑到知识图中不同的拓扑结构中的节点会相互影响,并且能够给实体表示带来更多的信息,因此我们采用网络表示的方法完成这个部分。

网络表示方法通过把节点投影到低维的向量空间中,并且采用向量去表示图的拓扑结构。通过这个想法,知识图中的三元组信息可以被认为是网络中中的邻居。因此网络表示就可以通过这样的方法学习。这个过程的理论基础是在网络拓扑结构中相似的节点向量中间中也应该相似。

本文采用的DeepWalk是一种经典的网络表示模型,DeepWalk给语言模型和非监督的图模型中带来了许多提升。它通过堆积所走在图中生成序列,然后获得词的向量表示,图4展现了DeepWalk的学习过程。
在这里插入图片描述
通过引进映射函数 ϕ:{v}RV×d\phi:\{v\}\to R^{|V| \times d},其中VVdd分别表示节点的数量和向量的维度。DeepWalk给每一个节点都生成了一个向量国耻,这个过程通过极大似然函数的优化过程来进行。
Pr(viϕ(v1),ϕ(v2),,ϕ(vi1))Pr(v_i | \phi (v_1),\phi (v_2),\dots,\phi(v_{i-1}))
但是随着路径长度的增长,这个条件似然概率就非常难计算,为了简化计算过程,DeepWalk采用一个词于预测上下文,而不是用上下文预测一个缺失值。在这种情况下,这个问题就转换成了下面的优化问题:
argminϕlogPr({viw,,vi+w}viϕ(vi))\arg \min_{\phi} - \log Pr(\{v_{i-w},\dots,v_{i+w}\}\\ v_i|\phi (v_i))

模型训练过程

定义

给定一个知识图,使用T={(h,r,t)h,tE,rR}T=\{(h,r,t)|h,t \in E,r\in R\}代表知识图中的三元组信息,其中EE代表实体集合,RR代表关系集合,E和R可以构建成一个图G=(E,R)G = (E,R)。TDN模型可以被表述成参数集合θ={X,E,R,N}\theta = \{X,E,R,N\},其中E,R分表代表了E,R的三元组因子表示,X代表实体的的文本表述,N代表了图的网络结构表示。

训练

根据 e=esedege = e_s\oplus e_d \oplus e_g,我们结合了三元组信息,文本信息,网络信息作为最后训练模型的实体表述,最后的实体表示的优化过程可以通过下述基于边缘的孙书函数作为优化目标进行优化:
£=(h,r,t)T(h^,r^,t^)T^max(γ+f(h,r,t))f(h^,r^,t^),0)\pounds = \sum_{(h,r,t)\in T} \sum_{(\hat{h},\hat{r},\hat{t}) \in \hat{T}} max ( \gamma + f(h,r,t))-f(\hat{h},\hat{r},\hat{t}),0),其中γ>0\gamma > 0是一个超参数。T是正确三元组的集合,T^\hat{T}是不正确的三元组的集合,
f(h,r,t)=h+rtf(h,r,t)= ||h+r-t||,不正确的集合是随机换一个三元组中的关系得来。此外需要注意的是,对于一个实体来说,不管它是头实体还是尾实体,他们的向量表示都是一样的。

过程

TDN的训练过程首先需要从三个方面初始化。首先对于三元组信息E和R可以通过基于翻译的方法比如TransE的方法进行初始化,对于文本向量,X可以通过CBOW或者CNN编码器的方法对实体的文本描述信息进行表示。对于网络表示来说,N可以通过对于整个知识图作为输入的方法获得。随后,这些表示都通过e=esedege = e_s\oplus e_d \oplus e_g进行融合。

初始化之后,优化方法就通过SGD进行反向传播进行,反向传播会被锁住当都是全0的padding的时候,或者现有高的特征值没有在前向传播的时候考虑到。最后采用argminϕlogPr({viw,,vi+w}viϕ(vi))\arg \min_{\phi} - \log Pr(\{v_{i-w},\dots,v_{i+w}\}\\ v_i|\phi (v_i))对模型进行优化。

实验

数据集

在这个研究中,我们从真实的大规模数据集KG FreeBase中提取一个数据集,FB15k作为我们的实验数据,实体的描述信息在论文DKRL中可以获得。在这个数据集中,描述词的平均长度为69,最长的描述长度为343。训练集中有472,860组三元祖,1341种关系类型,验证集有48,991种三元组,测试集有57803组三元组。
表1列出了数据集的统计信息:
在这里插入图片描述

实验的参数设置

我们对于完整的TDN做了4组实验,不完成的TDN模型变种做了6组实验,

  • TDNWE:完整的TDN模型,融合了TransE的三元组表示,CBOW的文本表示和DeepWalk的网络节点表示
  • TDNCE:完成的TDN模型,融合了TransE的三元组表示,CNN编码器的文本表示和DeepWalk的网络节点表示
  • TDNW(TE+CBOW):融合了TransE的三元组表示,CBOW的文本表示
  • TDNC(TE+CNN): 融合了TransE的三元组表示,CNN编码器的文本表示
  • TDN(TE+NET):融合了TransE的三元组表示和DeepWalk的网络节点表示
  • TDNWR:完整的TDN模型,融合了TransR的三元组表示,CBOW的文本表示和DeepWalk的网络节点表示
  • TDNCR:完成的TDN模型,融合了TransR的三元组表示,CNN编码器的文本表示和DeepWalk的网络节点表示
  • TDNW(TR+CBOW):融合了TransR的三元组表示,CBOW的文本表示
  • TDNC(TR+CNN): 融合了TransR的三元组表示,CNN编码器的文本表示
  • TDN(TR+NET):融合了TransR的三元组表示和DeepWalk的网络节点表示

我们完成了两组现有模型作为baseline进行对比,第一组包括两种进店的trasn模型,TransE和TransR,第二种扩包DKRL+TransE和A-LSTM模型,将文本描述作为额外信息进行embedding。

我们将这些三元组的维度信息分别设置为ntrn_{tr} 50,100,200,300,文本向量的维度分别为ntxn_{tx} 50,100,200,网络向量的维度ntnn_{tn}分别为50,100,200.仿照基于trans的模型,我们将学习率 λ\lambda设置为0.0005,0.001,0.002,边缘margin γ\gamma设置为1.0,2.0.CNN编码器的参数全都按照DKRL里面的参数进行。

在我们的实验中,TDN的最优实验设置为λ=0.001,γ=1.0,ntr=100,ntx=100,ntn=100\lambda=0.001,\gamma=1.0,n_{tr}=100,n_{tx}=100,n_{tn}=100.

链接预测

链接预测是知识图完善任务中的一个子任务。在测试阶段我们使用kg中的实体去代替测试集中的实体,并且对于这些实体的得分f(h,r,t)=h+rtf(h,r,t)=||h+r-t||进行降序排序。根据基于trans 的模型,两个验证方法用来评估实验的结果。
1)Meanrank:正确的三元组实体在所有三元组实体里面的平均排序
2)hits@10:排序前十的三元组里面的正确的三元组的概率。
【这里有一段corrupted triple的定义,我没看懂所以没有翻译,】
实验结果如下表所示:
在这里插入图片描述

实验结果分析

实验结果如商标所示,我们采用加粗的方法表明了每列排名最高的两个数。从结果中我们可以观察到,(1)TDN模型获得的节点表示显著优于TransE, TransR, DKRL+TransE and A-LSTM 。也就是说文本描述,网络结构信息都可以显著的提升链接预测的效果。(2)在所有尝试的TDN的方法中,完整的TDN党法优于其它变种模型,也就是说不管是文本信息还是结构信息都应该在知识图中被构建出来。(3)不完整的TDN模型中的TransE+net模型中构建的甚至优于了部分完整模型,也就是说,我们需要在学习embedding的时候,对于网络结构信息更加关注。

结论

本文中我们提出了一个TDN模型作为知识图的表示,模型融合了三元组信息,节点表述信息,网络结构信息,通过将这些信息同时融入低维表示空间,TDM模型实现了更正确的知识图补全功能。我们给出了基于TDN模型的网络结构定义,并且探究了不同的方法进行文本表示和网络结构表示。在我们的实验设计中,我们采用链接预测对我们的结果进行评估,实验结果证明我们优于其它模型。

并且一系列的实验证明,我们需要在链接预测任务中更加关注网络结构信息,在后期我们将探究更多网络表示的方法去验证这个假设。

读后感

本文代码量很少,几乎都是现成模型的拼接,我也不知道为什么能发表,但是文章读起来非常流畅,表述非常清晰,对于符号的定义写的也比较好。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!