convolutional 2D knowledge graph embedding 解读
来源
AAAI 2018 伦敦大学
background
知识图谱在很多领域都有广泛的应用,例如搜索、问答、推荐系统等等,但是目前的知识图谱大多存在两个问题:1.知识图谱的不完整性,例如属性缺失或者关系缺失 2. 知识图谱存在错误的关系或者属性值。
在自然语言处理领域,链接预测任务可以用来做知识图谱的补全任务。在现实世界中,知识图谱应当包括广泛的知识,换句话说知识图谱的规模很大,因此链接预测应当适用于大型的知识图谱模型,因此在设计链接预测模型时应当考虑参数数量和计算代价的问题
motivation
在大型知识图谱中,一些浅层的链接预测模型常常用来做链接预测任务,浅层的链接预测模型缺乏提取深层次特征的,链接预测效果也不会很好。为了增加模型提取特征的能力,可以采用增加 embedding size的方法,但对于大型知识图谱是不合适的,参数的数量与实体以及关系的个数成正比。或者可以采用增加神经网络层数的方法,但是这样容易造成过拟合现象。为了解决规模与过拟合的矛盾,本文设计一种参数高效的、计算快速的2D 卷积神经网络用来做知识图谱的表示学习。
模型
其中
e
s
ˉ
\bar{e_{s}}
esˉ 和
r
r
ˉ
\bar{r_{r}}
rrˉ 分别表示头实体与关系的2D 表示, * 表示卷积操作,
f
f
f 是一个非线性的函数,是为了加快训练的作用,本文采用了
r
e
l
u
relu
relu 函数, 打分函数采用了
p
=
σ
(
ψ
r
(
e
s
,
e
o
)
)
p=\sigma(\psi_r(e_s,e_o))
p=σ(ψr(es,eo)) 函数,损失函数使用二元的交叉熵
整体的神经网络模型图如下:
卷积操作占据了计算的大部分时间,为了减少卷积操作的时间,通常会增加batch size, 但是增加batch size 会极大的增加内存的消耗,本文这里采用了一个小技巧,打分时候不再是1-1,而是1-N。
对比ConvE模型与其他模型的空间复杂度
实验结果
对比参数规模和实验结果,发现ConvE模型可以在使用较少参数的时候达到较好的实验效果
链接预测任务上各种模型的表现,ConvE模型在各个性能指标上都取得了很好的效果。这里解释一下表格中的最后一行Inverse Model。
有统计数据指出在数据集WN18 和FB15K中,训练集中有94% 和81% 中三元组的逆关系在测试集中出现,可能会导致在数据集上表现的好,却只学习了某关系是其他的逆关系,而不是真正的知识图谱。如果三元组
(
s
,
r
1
,
o
)
(s, r_1, o)
(s,r1,o)和
(
o
,
r
2
,
s
)
(o,r_2,s)
(o,r2,s) 共同出现的频率至少是
0.99
−
(
f
v
+
g
t
)
0.99- (f_v + g_t)
0.99−(fv+gt), 则认为互为逆关系,其中
f
v
f_v
fv 和
f
s
f_s
fs是验证集个测试集中的频率。在测试时,如果测试集中的三元组和测试集外的三元组匹配,如果可以找到k个,则从匹配中选择topk个,否则随机的选择一个。
Table 4是将逆关系去掉之后的各个模型在数据集上的表现,其中值得指出的是Inverse Model在FB15K-237上的表现并不好,原因文章解释是FB15K-237中的对称关系,例如similarTo,没有被移除。