知识图谱补全-ProjE: Embedding Projection for Knowledge Graph Completion

ProjE: Embedding Projection for Knowledge Graph Completion阅读笔记

  • background
  • motivation
  • model
  • experiments
  • conclusion

会议:Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence (AAAI-17)
author :
Baoxu Shi and Tim Weninger
University of Notre Dame
Email: {bshi, tweninge}@nd.edu

background

1.图谱的发展,验证信息有效性和填补信息图谱缺失是很重要的
2.已有方法分成两类
2.1 表示学习,使用嵌入到低维向量,如tans系列(transE,transR),使用的是margin-based pairwise ranking loss fuction这个损失函数体现三元组的关系
2.2. 神经网络模型,如(Neural Tensot Network、the Compositional Vector Space Model)组合多层神经网络到现有模型中

存在的主要问题
1.上述模型只用了一个三元组,路劲单跳的图谱。有个别扩展模型(RTransE,Usunier)实现了2-3跳。但是这些模型都依赖于丰富的输入数据。最重要的是随着路径的增长,模型大小指数型增长。加剧了模型参数已经很高的可伸缩性问题
2.上述模型大部分都不是一个self-contained model,他们或需要预训练的图谱嵌入(RTransE,CVSM),或需要预选择路径(PTransE,RTransE),或需要预计算的每个节点的内容嵌入(DKRL)。虽然TransE和TransH是self-contained的,但是论文的实验也只是用了预训练的TransE的嵌入作为输入

motivation

为解决上述的问题,本文的相关工作提出了四个亮点
提出一个project embedding model for KGC,四部分分别为:
1.将实体的候选集投影到输入数据的目标向量表示
2.使用可学习的组合算子将表示输入数据的嵌入向量组合成目标向量
3.集体优化了候选实体(关系)的集合,使用候选采样解决大数据集合。
4.本模型是一个self-contained 模型在长度为1的边上
知识图谱补全-ProjE: Embedding Projection for Knowledge Graph Completion_第1张图片
对比了几个模型的参数量,本文模型排到了第五位。

model

知识图谱补全-ProjE: Embedding Projection for Knowledge Graph Completion_第2张图片
首先从一个图看下本文提出的模型,本文将补全任务视作排名任务并优化候选实体列表的集体分数。需要将所有的候选实体投影到同一嵌入向量中,为此学习了一个组合运算符,从输入数据中创建目标向量
1.ProjE框架
从图中我们可以看出来,同时输入实体嵌入和关系嵌入,本文将预测任务视作排名问题,将排名top的视作正确实体。为了生成排序列表,将每个实体投影到目标向量中通过两个输入向量组合运算符
现有模型中都是定义一个特定的矩阵运算符联合实体和(或)关系,本文认为在早期不同维度之间的特征没有必要交互,为此本文的组合元素运算符是对角矩阵,其定义为:
在这里插入图片描述
其中 D e D_{e} De D r D_{r} Dr都是 k ∗ k k *k kk的对角矩阵,作为全局实体和关系的权重, b c ∈ R k b_{c}\in{R^k} bcRk,是偏置。
使用了上述组合运算符,我们可以定义为嵌入投影函数为

在这里插入图片描述
其中 f f f g g g 都是激活函数, W c ∈ R s × k W^c \in{R^{s \times k}} WcRs×k 候选实体矩阵, b p b_{p} bp是投影偏置, s s s是候选实体的数量, h ( e , r ) h(e,r) h(e,r) 是分数向量 ,每个元素表示 W c W_{c} Wc中某些候选实体与组合输入嵌入 e ⊕ r e \oplus r er之间的相似性。
虽然 s s s相对来说是一个大的数,由于共享了参数, W c W_{c} Wc是包含实体嵌入矩阵 W e W_{e} We中存在的 s s s行的候选实体矩阵,简单的说候选实体矩阵没有引入新的变量参数,和TransE,TransR等类似,参数少。
ProjE可以看作神经网络包括组合层和投影层(输出层),举个例子,有一个尾实体lllinois和关系CityOf,我们的任务就是计算么个头实体的分数。

2.损失函数
传统有两种方法获得排序列表,一个是pointwise,一个是listwise。Trans家族使用的是pairwise ranking loss function。因为他们的排名分数是独立计算的,在本质上是pointwise方法,本文提出了两种方法,分别是ProjE_pointwiseProjE_listwise通过使用不同的激活函数。
2.1 ProjE_pointwise
知识图谱补全-ProjE: Embedding Projection for Knowledge Graph Completion_第3张图片
由于实体的相对顺序和预测无关,为此生成二进制标签向量,其中 E − E_{-} E的分数为0, E + E_{+} E+分数为1,因为我们最大化似然函数在分数向量 h ( e , r ) h(e,r) h(e,r)和二进制标签向量,凭直觉将本任务视为多分类问题,为此损失函数定义为如上所示。
在式中 e , r e,r e,r S S S中训练实例的输入嵌入向量, y ∈ R s y\in{R^s} yRs是二进制标签向量, y i = 1 y_{i}=1 yi=1说明候选 i i i是候选标签, m m m是从负候选分布中的候选采样数目,由于视作了多分类问题,使用sigmoid和tanh激活函数作为 g ( ⋅ ) g(·) g() f ( ⋅ ) f(·) f()
在这里插入图片描述
2.2 ProjE_listwise
知识图谱补全-ProjE: Embedding Projection for Knowledge Graph Completion_第4张图片
使用的是softmax和tanh激活函数
知识图谱补全-ProjE: Embedding Projection for Knowledge Graph Completion_第5张图片
3.候选集采样
虽然限制了参数的数量,但是投影操作还是由于大量的候选实体而花销巨大,为了减少在训练阶段的候选实体数目,需要采样。本文采用Word2Vec中的负采样方法。
对于实体e和关系r以及二进制标签向量y,本文使用所有正候选人计算投影和只有来自 P y P_{y} Py的负候选人的抽样子集,为了简单起见,可以用二项分布替换 P y P_{y} Py B ( 1 , p y ) B(1,p_{y}) B(1,py)被所用训练实例共享, p y p_{y} py是负实体被采样的概率。对于 y y y中的每个负候选,我们从 B ( 1 , p y ) B(1,p_{y}) B(1py)中采样一个值,以确定我们是否将该候选包含在候选实体矩阵 W c W_{c} Wc中。

experiments

做了两个实验,分别是实体预测和关系预测。实验结果从下面两张图可以看出来
知识图谱补全-ProjE: Embedding Projection for Knowledge Graph Completion_第6张图片
知识图谱补全-ProjE: Embedding Projection for Knowledge Graph Completion_第7张图片
知识图谱补全-ProjE: Embedding Projection for Knowledge Graph Completion_第8张图片

conclusion

本文的主要贡献归纳为如下几点
1.将图谱补全工作视为排序问题并将候选实体映射到一个向量上,该向量表示输入的三元组已知部分的组合嵌入,并按降序排列分数向量
2.通过使用listwise ProjE variation 集体优化排名分数向量,可以得到更好的预测表现
3.训练时只采用了路径为1,层数为2的简单结构就将预测结果优于复杂模型
4.当前模型不需要预训练的嵌入和更少的参数量

你可能感兴趣的:(知识图谱,python,神经网络)