MetaP: Meta Pattern Learning for One-Shot Knowledge Graph Completion
目录
摘要
知识图谱(KGs)广泛用于信息检索的各种应用中。尽管知识图谱规模庞大,但仍面临不完善的问题。知识图完成(KGC)的传统方法需要为每个关系提供大量的训练实例。然而,只有几个相关三元组的长尾关系在 KG 中无处不在。因此,完成长尾关系的补全是非常困难的。在本文中,我们提出了一种元模式学习框架 (MetaP),用于在具有挑战性的环境下预测关系的新事实,其中每个关系只有一个参考。数据中的模式是对数据进行分类的代表性规律。 知识图谱中的三元组也符合关系特定模式,可用于衡量三元组的有效性。我们的模型通过卷积模式学习器有效地提取模式,并通过将查询模式与参考模式匹配来准确测量三元组的有效性。大量实验证明了我们方法的有效性。此外,我们还构建了 COVID-19 的少量 KGC 数据集,以协助新冠状病毒的研究过程。
1 简介
作为一种具有语义信息的知识表示方法,知识图谱(KGs)对于推荐系统和问答等信息检索任务至关重要。一个典型的 KG 包含在世界范围内收集的大规模事实。 KG 中的事实由头实体、关系和尾实体组成的三元组表示,用 (ℎ, 𝑟, 𝑡) 表示。尽管知识图谱规模很大,但众所周知,它们是高度不完整的。研究知识图谱完成(KGC)问题至关重要。 KGC 问题可以表述为一个链接预测任务,当头部实体和关系已知时预测尾部实体,表示为 (ℎ, 𝑟, ?)。有观察表明,KG 中的很大一部分关系是长尾关系 [8]。换句话说,它们的相关实例很少。直观地说,一个关系的三元组越少,可以使用的 KGC 技术就越多。长尾关系的 KGC 具有挑战性。一般方法[1]假设有足够的训练实例,因此它们在处理长尾关系时遇到了麻烦。因此,有必要执行few-shot KGC。例如,新病毒 COVID-19 缺乏研究数据。基于有限数据完成 COVID-19 KGs 对于加速 COVID-19 的研究进程和促进新病毒的药物发现 [5] 等信息检索任务具有重要意义。
已经开发了各种嵌入方法来对连续向量空间中的 KG 进行建模。 RESCAL [6] 是一项早期研究,它使用张量操作对实体和关系进行建模。翻译方法如 TransE [1],通过翻译原理ℎ + 𝑟 ≈ 𝑡 学习实体和关系的嵌入,是在同一时期提出的。此外,随着深度学习技术的发展,近年来提出了许多神经网络方法,如 ConvE [3]。这些嵌入模型假设所有关系都有足够的训练实例,并且不关注那些稀疏符号。
最近,已经提出了几种元学习模型来处理少样本 KGC 问题。 Gmatching [8] 学习一个匹配度量来发现新的三元组,同时考虑到学习的嵌入和实体的单跳图结构。 FSRL [9] 向邻居编码器和聚合网络引入了静态注意机制,以增强实体的表示。 FAAN [7] 提出了一种自适应注意力网络来获得动态实体和关系表示。 MetaR [2] 从几个参考中学习可转移的关系表示,并通过计算参考的梯度来快速更新它。
然而,对于小样本知识图谱补全有以下三个主要挑战:
1)、如何在小样本设置中学习到三元组最具代表性的信息?
一般的机器学习算法需要足够的数据来训练模型,而在few-shot场景中只有很少的参考。从有限的三元组中学习不同关系的代表模式成为解决few-shot KGC问题的关键。
2)、如何减少对背景知识图谱的过度依赖?
大多数先前的few-shot方法依赖于背景KG来访问来自实体邻域的信息或预训练实体嵌入。但是,一个完整的背景 KG 并不总是可以访问的,并且将其存储在内存中非常耗时。
3)、如何利用负样本提升模型效能?
以前的方法通常比较查询和正引用之间的相似性,而忽略查询和负引用之间的相似性,这可以提高三元组有效性测量的准确性。
为了应对上述挑战,我们在 one-shot 设置中为 KGC 提出了元模式学习框架 (MetaP)。数据中的模式是对数据进行分类的代表性规律。 KG 中的三元组也符合关系特定模式,可用于衡量三元组的有效性。关系的模式是指头部实体、关系和尾部实体的特征共现的规律性。我们设计了一个基于卷积滤波器的模式学习器来直接提取三元组的模式。 MetaP 可以从有限的参考中学习关系特定模式的潜在表示,因此 MetaP 独立于背景 KG。通过使用否定引用,MetaP 可以更准确地测量查询三元组的有效性。提出了一种具有有效性平衡机制(VBM)的模式匹配器来预测查询三元组模式是正数还是负数的概率。表 1 提供了我们案例中一次性链接预测任务的示例,其目的是使查询集中有效三元组在候选中的排名尽可能高。
表1 我们案例中一个知识图谱一样本学习任务的关系为effect的任务(加粗的为真实三元组)
本文的主要贡献总结以下:
- 我们提出了一个元模式学习框架(MetaP)来解决一次性场景中的 KGC 问题。大量实验证明了 MetaP 的有效性和稳健性。
- MetaP 可以提取三元组的特定关系模式来衡量它们的有效性,因此 MetaP 独立于在现实世界中并不总是可访问的背景 KG。
- 我们将残差更新机制 (RUM) 和有效性平衡机制 (VBM) 引入 MetaP,这使得 MetaP 学习更好的实体嵌入并更准确地计算三元组的有效性。
- 我们构建了一个few-shot KGC数据集COVID19-One,以促进新冠状病毒的研究过程。
2 问题定义
对于知识图谱 G = {E, R, T}。 E 是实体集,R 是关系集,T = {(ℎ, 𝑟, 𝑡)} ⊆ E × R × E 是三元组。 KGC 任务是在给定头部实体和查询关系的情况下预测尾部实体,用 (ℎ, 𝑟, ?) 表示。为了在仅观察关于查询关系的几个引用时获得预测新三元组的能力,训练过程是在一组元任务上进行的。
关于查询关系 𝑟 ∈ R 的 𝑁-shot 元任务由 𝐷𝑟 = {𝑆𝑟, 𝑄𝑟 } 表示。 𝑆𝑟 = {(ℎ𝑖, 𝑡𝑖), (ℎ𝑖, 𝑡′𝑖)| (ℎ𝑖 , 𝑟, 𝑡𝑖) ∈ T, (ℎ𝑖 , 𝑟, 𝑡′ 𝑖 ) ∉ T } 是支持集,其中𝑡 ′ 𝑖 是要污染的假尾实体 (ℎ𝑖 , 𝑟, 𝑡𝑖),𝑁 是污染的数量𝑆𝑟中的有效三元组。 𝑄𝑟 = {(ℎ𝑗 , 𝑡𝑗)|𝑡𝑗 ∈ 𝐶ℎ𝑗 ,𝑟 } 是查询集,其中ℎ𝑗是与关系𝑟和𝐶ℎ𝑗链接的头部实体,𝑟是使用实体类型约束构造的尾部实体候选集[8]。在我们的工作中,我们研究了一个更具挑战性的情况,其中 𝑁 = 1。更具体地说,目标是在仅给定一个有效实体对 (ℎ0,关系 𝑟 的 𝑡0) 及其在支持集中的污染对 (ℎ0, 𝑡′ 0 )。值得注意的是,训练和测试关系之间没有重叠,即 R𝑡𝑟𝑎𝑖𝑛 ∩ R𝑡𝑒𝑠𝑡 = ∅,我们只考虑存在于 E 中的一组封闭实体。
[通过类型约束生成候选实体代码可以在代码地址中发现]
3 方法
MetaP 由两个主要部分组成,即模式学习器和模式匹配器。 MetaP 的概述如图 1 所示。我们将通过一次性链接预测任务𝐷𝑟 = {𝑆𝑟, 𝑄𝑟 } 介绍 MetaP 的每个模块。
3.1 模式学习器
图1:MetaP概述。模式学习器和模式匹配器是MetaP的两个主要部分。首先,我们在背景KG上预训练实体嵌入。接下来,通过翻译机制从正引用生成弱关系嵌入,即r=t-h。然后,用假尾实体t'替换尾实体t以建立负引用。然后,卷积模式学习器提取模式,并应用残差更新机制(RUM)来保留预训练嵌入的原始信息。
为了直接从三元组中提取模式并减少模型对背景 KG 的依赖,我们设计了一个带有残差更新机制 (RUM) 的卷积模式学习器来学习从头尾实体对到它们的模式的映射。查询关系的嵌入在一次性设置中不可用。受 TransE [1] 的翻译假设的启发,我们在给定实体对 (ℎ, 𝑡) 的情况下获得任务关系 𝑟 的弱表示:
r
=
t
−
h
r = t -h
r=t−h
其中
r
,
t
,
h
∈
R
d
r,t,h\in R^d
r,t,h∈Rd,d表示嵌入维度,然后将
r
,
t
,
h
r,t,h
r,t,h按照头、关系、尾的顺序堆叠成一个3 x d矩阵,记为
A
=
[
h
,
r
,
t
]
∈
R
3
×
d
A=[h,r,t]\in R^{3\times d}
A=[h,r,t]∈R3×d,
A
:
,
i
A_{:,i}
A:,i表示
A
A
A 的第i列。
我们应用两种类型的卷积滤波器,即分别用𝜔0和𝜔1表示的3×1和1×1滤波器来从A中提取三元组元素的共现模式。令Φ𝑖 = {𝜔𝑖 |𝑖 ∈ {0, 1 }} 表示过滤器集,|Φ𝑖 |表示过滤器的数量。首先,
ω
0
∈
R
3
×
1
\omega _{0} \in R^{3\times 1}
ω0∈R3×1对 A 的每一列进行运算以生成中间特征图
x
∈
R
1
×
d
x\in R^{1\times d}
x∈R1×d,描述为:
x
i
=
g
(
A
:
,
i
⋅
ω
0
+
b
)
x_{i}=g(A_{:,i} \cdot \omega _{0}+b )
xi=g(A:,i⋅ω0+b)
其中𝑏是偏差,𝑔是激活函数,例如 ReLu。设 表示由 组成的张量特征图。那么 对y的第二维进行操作,生成不同特征图的相同维度条目的聚合特征值
z
i
=
y
:
,
i
⋅
ω
1
z_{i}=y_{:,i} \cdot \omega _{1}
zi=y:,i⋅ω1
最后,我们连接所有特征值以获得模式表示 z。模式提取的整个过程描述为:
z
=
g
(
A
∗
Φ
0
)
∗
Φ
1
z=g(A*\Phi _{0} )*\Phi _{1}
z=g(A∗Φ0)∗Φ1
其中*代表卷积操作
残差更新机制(RUM),受 TextCNN [4] 的启发,我们将预训练的实体嵌入复制到两个通道中,其中一个是固定的,另一个在训练期间不断更新。通过聚合这两个通道的特征图获得输出。 RUM 使 MetaP 能够学习更好的实体嵌入。
3.2 模式匹配器
模式匹配器旨在通过计算参考模式 和查询模式 之间的差异来衡量三元组的有效性。当我们通过随机采样假尾实体来替换真尾实体来污染正引用时,支持集中有两种类型的引用。正模式和负模式分别用 和 表示。我们在我们的模式匹配器中应用欧几里得距离,因为它被证明在评估 KGs [1] 中三元组的有效性是有效的:
d
(
z
q
r
y
,
z
s
p
t
)
=
∣
∣
z
q
r
y
−
z
s
p
t
∣
∣
2
d(z_{qry} ,z_{spt})=||z_{qry} -z_{spt}||_{2}
d(zqry,zspt)=∣∣zqry−zspt∣∣2
效度平衡机制(VBM)以前的few-shot方法只考虑正引用和查询三元组之间的相似性。然而,一些错误的三元组也可能接近正引用。为了全面衡量查询三元组的有效性,我们将 和 之间的差异作为排名分数
s
c
o
r
e
i
=
d
(
z
q
r
y
i
,
z
p
o
s
)
−
d
(
z
q
r
y
i
,
z
n
e
g
)
score_i = d(z_{qry_i},z_{pos}) - d(z_{qry_i},z_{neg})
scorei=d(zqryi,zpos)−d(zqryi,zneg)
3.3 优化
MetaP 的目标函数是交叉熵损失(预测三元组是有效还是无效是一个二元分类任务)。
p
i
=
e
x
p
(
d
(
z
q
r
y
i
,
z
p
o
s
)
)
e
x
p
(
d
(
z
q
r
y
i
,
z
p
o
s
)
)
+
e
x
p
(
d
(
z
q
r
y
i
,
z
n
e
g
)
)
p_{i} = \frac{exp(d(z_{qry_i},z_{pos}))}{exp(d(z_{qry_i},z_{pos}))+exp(d(z_{qry_i},z_{neg}))}
pi=exp(d(zqryi,zpos))+exp(d(zqryi,zneg))exp(d(zqryi,zpos))
L
=
1
B
×
N
∑
i
−
[
y
i
⋅
l
o
g
(
p
i
)
+
(
1
−
y
i
)
⋅
l
o
g
(
1
−
p
i
)
]
L = \frac{1}{B\times N} \sum_{i}-[y_i\cdot log(p_i)+(1-y_i)\cdot log(1-p_i)]
L=B×N1i∑−[yi⋅log(pi)+(1−yi)⋅log(1−pi)]
其中𝐵是批处理大小(批处理中元任务的数量),𝑁是𝑄𝑟中的三元组数。
4 实验
4.1 数据集
我们对两个真实世界的数据集进行了实验:NELL-One [8] 和 COVID19-One。 NELL-One 是从 NELL 知识库中提取出来的,由 Gmatching [8] 发布。此外,我们基于公共 COVID-19 KG 数据集构建 COVID19One。这些数据集的统计数据如表 2 所示。值得注意的是,NELL-One 有一个背景 KG,它由训练/验证/测试集之外的关系构建,用于通过 TransE [1] 获得训练前实体嵌入(表示为 Pre-Train )。由于 COVID19-One 缺少背景 KG,因此该数据集中的 KGC 任务更具挑战性,并且实体嵌入是随机初始化的(记为 Random)。 NELL-One 和 COVID19-One 的训练/验证/测试任务关系的划分比例分别为 51/5/11 和 9/5/4。
表2:数据集的统计数据。BKG表示背景KG。表示唯一实体的数量,#R表示唯一关系的数量。
4.2 评价指标
这些方法的性能通过 MRR 和 Hits@K 指标来衡量。 MRR 是平均倒数排名,Hits@K 是排名前 K 的正确实体的比例,K = 1、5、10。
4.3 基线版本
为了衡量我们方法的有效性,我们将 MetaP 与四种最先进的少样本 KGC 方法进行了比较。
- Gmatching [8] 从实体的局部图结构生成实体嵌入,并学习一个匹配度量来衡量查询和参考之间的相似性。
- MetaR [2] 从引用中学习关系嵌入,并在将其转移到查询集之前通过计算引用的梯度来更新它。
- FSRL [9] 通过静态注意组合来自实体的一跳邻居的信息,改进了 Gmatching 的邻居信息聚合机制。
- FANN [7] 通过注意机制根据实体对不同关系的语义角色学习自适应实体和参考表示。
4.4 实现细节
我们的方法是用 Pytorch 实现的,并由 Adam 优化,学习率为 0.001。根据 Hits@10 指标,提前停止 5 名患者用于保留最佳模型。预训练的初始实体嵌入维度为 100。3×1 过滤器的数量为 128。我们利用 3 层 1×1 过滤器来聚合 3×1 卷积层的输出通道。每层1×1过滤器的数量分别为64、32、1。
4.5 结果
我们对所有方法执行 one-shot KGC 任务,因为它更具挑战性。因为 FSRL 是在不同的实验设置中报告的,所以我们重新实现它以进行公平比较。表 3 和表 4 中的结果表明,在 MRR 方面,MetaP 在基线中达到最佳性能(超过 Gmatching 23%,超过 MetaR 97%,超过 FSRL 40%,在 COVID19-One 上超过 FAAN 9%,超过 25% Gmatching,比 MetaR 高 41%,比 FSRL 高 10%,在 NELL-One 上比 FAAN 高 35%)。由于 COVID19-One 数据集缺乏背景知识,因此在一次性设置中更难以完成。然而,我们的方法在随机初始化实体嵌入时仍然超过了基线,这证明了 MetaP 的鲁棒性。
图3:在COVID19-One数据集上的实验结果 图4:在NELL-One数据集上的实验结果
4.6 消融研究
为了全面评估我们的方法,我们对 NELL-One 进行了消融实验。如表 5 所示,VBM 对测量三元组的有效性有积极作用,而 RUM 有利于保留预训练嵌入的原始信息。实验结果证明,我们方法的每个部分都有利于提高一次性链接预测的准确性。
图5:NELL One的消融研究
5 结论
我们在一次性设置中为 KGC 提出了一种新的 MetaP 方法。MetaP 利用卷积模式学习器直接从三元组中提取模式,从而减少了对背景知识的依赖。当实体嵌入被微调时,残差更新机制 (RUM) 用于保留原始特征。 MetaP 通过模式匹配器和有效性平衡机制(VBM)来衡量查询三元组的有效性,同时考虑查询三元组和正或负引用之间的模式相似性。大量实验表明,MetaP 在最先进的基线中实现了具有竞争力的性能。我们未来的工作可能会考虑利用更多的外部信息来提高模型的有效性。