知识表示学习及embedding(2015年后)

本文旨在介绍TransD模型提出后,近年来新的基于结构的知识表示模型。

本文介绍模型论文:

  • TranSparse, AAAI2016, Knowledge graph completion with adaptive sparse transfer matrix
  • TransG, arXiv2015, A Generative Mixture Model for Knowledge Graph Embedding
  • KG2E, CIKM2015, Learning to represent knowledge graphs with gaussian embedding
  • ConvE, AAAI2018, Convolutional 2D Knowledge Graph Embeddings

TranSparse:自适应稀疏转换矩阵

知识库中实体和关系的异质性和不平衡性是制约知识表示学习的关键:

1)异质性:知识库中某些关系可能会与大量的实体有连接,而某些关系则可能仅仅与少量实体有关系

2)不均衡性:某些关系中,头实体和尾实体的种类和关系可能差别巨大,例如:“国籍”头实体可能是成千上万个不同的任务,但尾实体只有几百个国家。

TranSpare针对不同难度的实体间关系,使用不同稀疏程度的矩阵(不同数量的参数)来进行表征,从而防止对复杂关系欠拟合或者对简单关系过拟合;对头尾两种实体采用不同的投影矩阵,解决头尾实体数目不对等的问题。

针对异质性(heterogeneous)

在TransR的基础上,使用可变的稀疏矩阵代替TransR的稠密矩阵:关系连接的实体数量越多,关系越复杂,矩阵越稠密;关系链接的实体数量越少,关系越简单,矩阵越稀疏。

其中矩阵$Mr$的稀疏度由关系r连接的实体对数量决定,这里头、尾实体共享一个投影矩阵 , 投影矩阵$M_r(\theta{r})$的稀疏度$\theta_{r}$定义如下:

其中为计算稀疏度的超参数,表示关系r连接的实体对数量,表示连接实体对数量最多的关系,这样投影向量为:

针对不平衡性(unbalanced)

与上述方法类似,不同点在于对于每个关系三元组(h,r,t),头尾实体的映射矩阵为两个不同的稀疏矩阵,其稀疏程度与该关系的头尾实体的数目有关,即头/尾涉及到的实体越多,矩阵约稠密;反之涉及到的实体越少,矩阵越稀疏。

设头实体和尾实体的投影矩阵为 , 稀疏度定义为:

其中表示关系r在位置l连接的实体对数量(l可能是头实体或为实体),表示$N_{r}^{l}$中最大的数,投影向量为:

得分函数为:

TransG: 高斯混合模型

解决多关系语义的问题,同一种关系在语义上是不同的,TransG提出使用高斯混合模型描述头,尾之间的关系,该模型认为,一个关系会对应多种语意,每种语义用一个高斯分布刻画:

训练方法为:

其中$u_h$和$u_t$为头部和尾部实体的平均embedding,CRP为狄利克雷过程,它能自动检测语义成分。

训练过程:

  1. 更新非参数项

  1. 嵌入模型的目标函数

image-20190813110746918

  1. 满足此条件时更新参数

ConvE:多层卷积神经网络

这是一篇关于KG链接预测(Link prediction)的文章,提出了一种多层卷积神经网络模型ConvE,主要优点就是参数利用率高(相同表现下参数是DistMult的8分之一,R-GCN的17分之一),擅长对在复杂KG中常见的高入度结点建模以及利用1-N score来加速训练和极大加速测试过程。

这类模型包括encoding component和scoring component,前者负责把两个实体$s, o \in \varepsilon$encode成embedding , 后者则负责给三元组打分 ,下表是不同的sorcing function:

ConvE中,得分函数为:

其中$r_{r} \in R^{k}$是依赖于r的relation parameter,带上划线的e则是各自embedding的2D reshaping版本,feed-forward的具体流程就是

  1. 经过look-up embedding分别获得relation和entity的embedding,然后reshape成2D stack起来
  2. 用c个filter对stack后的矩阵进行卷积操作,生成一个feature map tensor $\mathcal{T} \in \mathbb{R}^{c \times m \times n}$
  3. 把$\mathcal{T}$ 维reshape成一个向量,然后经过FC层$W \in R^{c m n \times k}$投射进k维空间
  4. 最后与目标实体embedding相乘获得相应score

ConvE中的loss function是一个经典cross-entropy loss

试验结果:

RotatE: 将关系看作头实体到尾实体旋转

目前的KG知识表示中,现有模型都不能建模和推断关系的对称/非对称、倒置和组合(symmetry/antisymmetry,inversion, andcomposition),因此本文提出了一种新的模型,通过欧拉定理$e^{i \theta}=\cos \theta+i \sin \theta$来将实体和关系映射到复杂向量空间,并将每个关系定义为从源实体到目标实体的旋转。

给定三元组(h,r,t),以往采用的结构表示是t = h+r, 本文则是, 其中$\circ$表示Hadamard product(内积),这样我们就可以通过简单的乘法来对三种关系进行建模。

关系模式的建模和推断:

  • 定义1. 对称(非对称) :$\text { if } \forall \mathrm{x}, \mathrm{y}$
  • 定义2. 关系r1是关系r2的反转:$\text { if } \forall \mathrm{x}, \mathrm{y}$
  • 定义3. 关系r1是关系r2和r3的组合:$\text { if } \forall \mathrm{x}, \mathrm{y}$

通过对关系的关系,我们对以往模型进行分析,可以发现没有模型能兼顾所有类型关系:

RotatE模型

本文定义r和h,t的关系为:

在TransE中,任何对称关系将由0转换向量表示,导致具有对称关系的实体在嵌入空间中彼此接近,RotatE解决了这一问题

优化

loss函数为:

同时本文提出了一种新的负样本提出方式,原来的负样本采样是随机采样。许多样本在训练过程中明显是错误的,作者提出了一种称为自对抗负样本采样方法,根据当前的embedding模型对负样本采样,其中采取负样本遵循分布:

其中$\alpha$是temperature of sampling,由于采样方法太过复杂,应用时我们将上述概率视为负样本的权重,此时负样本loss写为:

试验结果