当前位置: 代码迷 >> 综合 >> Representation Learning of Knowledge Graphs with Entity Descriptions(DKRL)
  详细解决方案

Representation Learning of Knowledge Graphs with Entity Descriptions(DKRL)

热度:21   发布时间:2024-01-30 08:39:57.0

摘要

目前大部分的知识表示学习方法都集中于三元组中的实体和关系,而忽视了知识图谱中对实体的描述信息。本文提出一种新颖的知识表示学习方法,DKRL。我们利用两种编码器来编码实体描述的文本信息,分别是连续词袋模型CBOW和CNN,之后利用三元组和描述信息来共同的学习知识表示。这种方法甚至有能力可以根据文本的描述信息构建知识图谱中不存在的实体的知识表示。

引言

以论文的图一为例,显然头实体和尾实体都有各自简短的描述信息文本。我们提出的DKRL模型能够同时利用三元组的信息和文本描述信息构建知识表示。为了达到这个目的,利用两种编码方法CBOW,但是它忽略的词序信息,所以第二种利用CNN。

Problem Formulation

h s \textbf{h}_s t s \textbf{t}_s 代表基于KG结构信息的表示,它们分别是头实体和尾实体的表示信息,是从transE等模型中学到的。
h d \textbf{h}_d t d \textbf{t}_d 代表基于文本描述信息的表示,它们分别是头实体和尾实体的描述信息表示。本文提出两种编码方法构建这两种表示信息。

Methodology

DKRL的能量函数定义如下:
E = E S + E D E=E_S+E_D
分别是基于KG结构的能量函数和基于文本描述的能量函数。
其中 E S E_S 和transE的能量函数一样。
定义
E D = E D D + E D S + E S D E_D=E_{DD}+E_{DS}+E_{SD}
E D D = h d + r ? t d E_{DD}=||h_d+r-t_d|| ,其它的看论文即可,可以发现维度没有 E S S E_{SS} ,因为 E S S E_{SS} 正是知识图谱中的transE的能量函数。 E D S , E S D E_{DS},E_{SD} 的作用就是将文本空间和图谱空间映射到同一个空间中。
此外可以看出关系r的表示是由四个能量函数共享的。

所以现在的目的是怎么多的 h d , t d h_d,t_d ,因为 h s , t s , r h_s,t_s,r 是利用transE在知识图谱上已经获得的知识表示,当然原文中也说了也可以随机初始化它们。
对于 h d , t d h_d,t_d ,其实这根本就是NLP中的词向量,以CBOW为例,论文的做法是根据词频,TF-IDF值对某个实体它的描述文本中的词排序选出来前k个单词,将这个单词的词向量相加作为这个实体在文本方面的知识表示,从而得到了 h d , t d h_d,t_d
利用CNN的就是直接将整个描述文本的词向量作为CNN的输入即可,具体见论文的图即可,细节的什么最大池化,平均池化就不说了。

最后总结就是
整个模型的能量函数表示如下:
E ( h , r , t ) = h S + r ? t S + H S + r ? t D + h D + r ? t S + h D + r ? t D E(h,r,t)=||h_S+r-t_S||+||H_S+r-t_D||+||h_D+r-t_S||+||h_D+r-t_D||
那么损失函数可以表示为:
L = m a x ( γ + E ( h , r , t ) ? E ( h , r , t ) , 0 ) L=max(\gamma+E(h,r,t)-E(h^{'},r,t^{'}),0)
在构造负例三元组时,不仅仅要替换实体名,实体描述也要替换。
模型希望 E ( h , r , t ) E(h,r,t) 有更低的能量值,因为越低就代表h+r-t的值越小。

  相关解决方案