论文笔记:ACL 2019 Learning Attention-based Embeddings for Relation Prediction in Knowledge Graphs
1. 前言
论文链接:https://arxiv.org/pdf/1906.01195.pdf
github:https://github.com/deepakn97/relationPrediction
知识图谱(KGs)的激增加上不完整或部分信息,以实体之间的缺失关系(链接)的形式,激起了许多关于知识完成(也称为关系预测)的研究。最近的一些工作表明,基于卷积神经网络(CNN)的模型会生成更丰富和更具表达力的特征嵌入并且因此在关系预测上也表现出色。但是,但是这些KG嵌入方法独立地处理三元组,因此无法覆盖固有地暗示在三元组周围的本地邻居中的复杂和隐藏信息。为此,本文提出了一种新颖的基于注意力的特征嵌入,该特征嵌入可捕获任何给定实体邻域中的实体和关系特征。此外还封装了关系簇和模型中的多跳关系。
h–London,r-capital_of,t-United Kingdom (简单的知识图谱三元组例子)
2. 背景
目前知识图谱中,已知最新的关系预测方法主要是基于知识嵌入的模型。KGE 的模型大致可以分为两大类:平移距离模型 (Translate)、基于卷积神经网络 CNN 的模型。
虽然平移距离模型模型使用简单的操作和有限的参数来学习嵌入,但是它们产生的嵌入质量较低。 相反,基于CNN的模型由于其参数效率和复杂关系的考虑而学习了更多的表达性嵌入。 但是,基于平移距离的模型和基于 CNN 的模型都独立地处理每个三元组,因此无法封装在KG中给定实体附近固有存在的语义丰富和潜在关系。
基于上述观察,本文提出了一种用于关系预测的基于注意力的广义图嵌入方法。 对于节点分类,图注意力网络(GAT)专注于图中目标节点的最相关部分,即一跳邻域中的节点特征。 给定一个KG和关系预测的任务,我们的模型通过在给定实体/节点的多跳邻域中引导对实体(节点)和关系(边)特征的关注来概括和扩展注意力机制。
本文的出发点是是:
- 1)捕获给定节点周围的多跳关系
- 2)封装实体在各种关系中扮演的角色的多样性
- 3)巩固语义相似的关系簇中的现有知识
我们的模型通过为邻居中的节点分配不同的权重(注意力),以及以迭代的方式通过各层传播注意力来实现这些目标。但是,随着模型深度的增加,距离实体较远实体的贡献呈指数下降。为了解决这个问题,在 n-hop 邻居之间引入辅助边。本文的架构是一个编码器-解码器模型,其中的广义图注意力模型和ConvKB 分别扮演编码器和解码器的角色。
本文的贡献如下。
- 第一个学习新的基于图注意力的嵌入,这些嵌入专门针对KG的关系预测
- 概括并扩展了图注意机制,以捕获给定实体的多跳邻域中的实体和关系特征
最近,已经提出了KG嵌入的几种变体用于关系预测。 这些方法可以大致分为:
- (i)组成模型:RESCAL、NTN、HOLE
RESCAL和NTN都使用张量积,这些张量积捕获丰富的交互作用,但是需要大量参数来建立关系模型,因此计算起来很麻烦。 为了克服这些缺点,HOLE使用实体嵌入的循环相关性创建了更有效和可扩展的合成表示。 - (ii)翻译模型:TransE、Comp1Ex
- (iii)基于CNN的模型:ConvE、ConvKB
ConvE对嵌入使用2D卷积来预测链接。 它由卷积层,完全连接的投影层和用于最终预测的内积层组成。 使用多个过滤器提取全局关系可以生成不同的特征图。 这些功能图的串联表示输入三元组。 这些模型具有较高的参数效率,但独立考虑每个三元组而无需考虑三元组之间的关系。 - (iv)基于图的模型:R-GCN
基于图的神经网络模型称为R-GCN 是对关系数据应用图卷积网络(GCN)的扩展。 它对每个实体的邻域应用卷积运算,并为其分配相等的权重。 这种基于图的模型并不优于基于CNN的模型。
现有方法要么仅关注实体特征,要么以不相交的方式考虑实体和关系的特征来学习KG嵌入。 相反,本文提出的图注意力模型在KG中任何给定实体的n跳邻域中全面捕获了多跳和语义相似的关系。
3. Method
3.1 Background
知识图谱嵌入模型试图学习实体,关系和计分函数f的有效表示,以使得对于给定的输入三元组 t = ( e s , r , e o ) t =(e_s,r,e_o) t=(es,r,eo), f ( t ) f(t) f(t)给出 t t t 为有效三元组的可能性。
例如,图1显示了来自KG的子图,该子图使用现有的三元组(如,伦敦,capital of,United Kingdom)推断出由虚线表示的缺失链接。
3.2 GAT
GAT学会了为每个节点邻域中的节点分配不同级别的重要性,而不是像GCN那样将所有相邻节点都同等地对待。
举例来说一层中的输入节点特征组合为
x
=
{
x
1
→
,
x
2
→
,
.
.
.
,
x
N
→
}
x=\{\overrightarrow{x_1},\overrightarrow{x_2},...,\overrightarrow{x_N}\}
x={x1
,x2
,...,xN
},该层的输出为
x
′
=
{
x
1
′
→
,
x
2
′
→
,
.
.
.
,
x
N
′
→
}
x^{'} = \{\overrightarrow{x_1^{'}},\overrightarrow{x_2^{'}},...,\overrightarrow{x_N^{'}}\}
x′={x1′
,x2′
,...,xN′
},其中
N
N
N 代表输入的节点特征数量 。图中所有的节点表示为实体
e
i
e_i
ei。一个单独的GAT层可以表示为:
W
W
W 是参数化的线性变换矩阵,将输入特征映射到更高维度的输出特征空间,并且
a
a
a 是选择的任何注意力函数。
e
i
j
e_{ij}
eij 代表
j
j
j 对
i
i
i 来说的重要程度。
在这里,相对注意力
α
i
j
\alpha_{ij}
αij 是使用
s
o
f
t
m
a
x
softmax
softmax 函数在邻域中的所有值上计算的。 (2) 显示层的输出。 GAT运用多头注意力来稳定学习过程
其中
∣
∣
||
∣∣ 代表拼接操作,
σ
\sigma
σ 代表非线性函数,
α
i
j
k
\alpha_{ij}^k
αijk 代表正则化后的第
k
k
k 个注意力头中节点
j
j
j 对于
i
i
i 的重要性,
W
k
W^k
Wk 表示第k个注意机制的相应线性变换矩阵。使用平均值而不是级联运算来计算最终层中嵌入的输出(也就是说拼接的级联操作只是在中间运算过程中进行,当最后一层输出的时候所采用的计算平均值的操作),以实现多头关注,如下所示
3.3 Relations are Important
尽管GAT取得了成功,但由于它们忽略了关系(边缘)特征(它们是KG不可或缺的一部分),因此它们不适合KG。 在KG中,实体根据与之关联的关系扮演不同的角色。 例如,在图1中,实体克里斯托弗·诺兰(Christopher Nolan)出现在两个不同的三元组中,分别扮演兄弟和导演的角色。
为此,我们提出了一种新颖的嵌入方法,将关系和相邻节点的特征整合到注意力机制中。我们定义了一个单独的注意力层,这是我们模型的基础。 与GAT相似,我们的框架与关注机制的特定选择无关。
因此在本文的模型中在输入部分采取了两个嵌入矩阵:
- 实体嵌入矩阵:Emtity embeddings 的形式为 H ∈ R N e × T H \in \mathbb{R}^{N_e \times T} H∈RNe×T, N e N_e Ne 代表所有实体的数量, T T T 代表实体嵌入的维度
- 关系嵌入矩阵:Relation embeddings 的形式为 G ∈ R N r × P G \in \mathbb{R}^{N_r \times P} G∈RNr×P。变量的定义与实体嵌入矩阵相似
最后该层输出的对应的嵌入矩阵表示为 H ′ ∈ R N e × T ′ H^{'} \in \mathbb{R}^{N_e \times T^{'}} H′∈RNe×T′, G ′ ∈ R N r × P ′ G^{'}\in\mathbb{R}^{N_r \times P^{'}} G′∈RNr×P′
为了获得实体
e
i
e_i
ei 的新嵌入,学习与
e
i
e_i
ei 相关联的每个三元组的表示。 我们通过对对应于特定三元组
t
i
j
k
=
(
e
i
,
r
k
,
e
j
)
t^k_{ij} =(e_i,r_k,e_j)
tijk=(ei,rk,ej) 的实体和关系特征向量的级联执行线性变换来学习这些嵌入,如(5)所示。该操作在初始块(图4)中也得到了说明。 这里的
c
i
j
k
c_{ijk}
cijk 就类似于 GAT 中计算两节点之间的注意力的拼接形式,不过这里加入了比较特殊的关系嵌入
r
r
r。
其中
c
i
j
k
→
c^{\rightarrow}_{ijk}
cijk→ 代表 一个三元组
t
i
j
k
t_{ij}^k
tijk 的向量表示,向量
h
→
i
,
h
→
j
,
g
→
k
\overrightarrow{h}_i,\overrightarrow{h}_j,\overrightarrow{g}_k
h
i,h
j,g
k 分别代表实体
e
i
,
e
j
e_i,e_j
ei,ej 和关系
r
k
r_k
rk 的嵌入。
W
1
W_1
W1 表示线性变换矩阵。基于此我们可以通过上文介绍到的注意力机制学习到由
b
i
j
k
→
b^{\rightarrow}_{ijk}
bijk→ 表示的三元组的重要性。
执行由权重矩阵
W
2
W_2
W2 参数化的线性变换,然后应用
L
e
a
k
y
R
e
l
u
LeakyRelu
LeakyRelu 非线性来获得三元组的绝对注意值(6)。在这里
b
i
j
k
b_{ijk}
bijk 可以理解为在关系
k
k
k 上实体
j
j
j 对于 实体
i
i
i 来说的重要性。
为了获得相对注意值,将
s
o
f
t
m
a
x
softmax
softmax 应用于
b
i
j
k
b_{ijk}
bijk,如(7)所示。图3显示了单个三元组的相对注意值
α
i
j
k
\alpha_{ijk}
αijk 的计算。在这里正则化计算在固定的关系
r
r
r 上时不同的邻居节点对于目标节点的重要性,这样在GAT的基础上把关系向量的表达加入了进来。
其中
N
i
\mathcal{N}_i
Ni 表示实体
e
i
e_i
ei 的邻域,
R
i
j
\mathcal{R}_{ij}
Rij 表示连接实体
e
i
e_i
ei 和
e
j
e_j
ej 的关系集。 实体
e
i
e_i
ei 的新嵌入是每个三重表示的总和,并由它们的注意力值加权,如(8)所示。
多头注意力用于稳定学习过程并封装有关邻域的更多信息。 本质上,
M
M
M 个独立的关注机制计算出嵌入,然后将其连接起来,得到以下表示形式:
这是图4所示的图关注层。对输入关系嵌入矩阵
G
G
G 进行线性变换,该矩阵由权重矩阵
W
R
∈
R
T
×
T
′
W^R \in \mathbb{R}^{T \times T^{'}}
WR∈RT×T′ 进行参数化,其中
T
′
T^{'}
T′ 是输出关系嵌入的维数(10)
在模型的最后一层中,我们使用平均来获取实体的最终嵌入向量,而不是将多个头部的嵌入并置,如(11)所示。
但是,在学习新的嵌入时,实体会丢失其初始嵌入信息。
为了解决这个问题,使用权重矩阵 W E ∈ R T i × T f W^E \in \mathbb{R}^{T^i \times T^f} WE∈RTi×Tf 来线性变换 H i H^i Hi 以获得 H t H^t Ht,其中 H i H^i Hi 代表模型的输入实体嵌入, H t H^t Ht 代表变换后的实体嵌入, T i T^i Ti 代表模型初始实体嵌入的尺寸, T f T^f Tf 表示最终实体嵌入的尺寸。
将此初始实体嵌入信息添加到从最终关注层 H f ∈ R N e × T f H^f \in \mathbb{R}^{N_e\times T^f} Hf∈RNe×Tf获得的实体嵌入中,如(12)所示。
在该模型的体系结构中,通过为两个实体之间的 n n n 跳邻居引入辅助关系,将边的概念扩展到有向路径。该辅助关系的嵌入是路径中所有关系的嵌入的总和。模型迭代地积累了来自实体远邻的知识。
如图2所示,在模型的第一层中,所有实体都从其直接流入的邻居捕获信息。在第二层中,美国从巴拉克·奥巴马(Barack Obama),伊桑·霍瓦斯(Ethan Horvath),雪佛兰(Chevrolet)和华盛顿特区(Washington D.C)等实体收集信息,这些实体已经从上一层获得了有关邻居 米歇尔·奥巴马(Michelle Obama)和塞缪尔·杰克逊(Samuel L. Jackson)的信息。
通常,对于 n n n 层模型,传入的信息在 n n n 跳邻域上累积。图2还显示了学习新实体嵌入的聚合过程以及在 n n n 跳邻居之间引入辅助边缘的过程。对于每个主迭代,在每个广义GAT层之后和第一层之前对实体嵌入进行归一化。
3.4Training Objective
目标函数学习了使有效三元组 t i j k = ( e i , r k , e j ) t^k_{ij} =(e_i,r_k,e_j) tijk=(ei,rk,ej)无效的条件,满足 h → i + g → k ≈ h → j \overrightarrow{h}_i +\overrightarrow{g}_k ≈\overrightarrow{h}_j h i+g k≈h j的条件,即 e j e_j ej 是通过关系 r k r_k rk 连接的 e i e_i ei 的最近邻居。 具体而言尝试学习实体和关系嵌入,以最小化 L 1 L1 L1 范式的相似度度量 d t i j = ∣ ∣ h → i + g → k − h → j ∣ ∣ 1 d_{t_{ij}}=||\overrightarrow{h}_i+\overrightarrow{g}_k-\overrightarrow{h}_j||_1 dtij=∣∣h i+g k−h j∣∣1。
其中
γ
>
0
\gamma> 0
γ>0 是余量超参数,
S
S
S 是有效三元组,
S
′
S^{'}
S′ 表示无效三元组
3.5 Decoder
模型使用 ConvKB 作为解码器。 卷积层的目的是分析三元组
t
i
j
k
t^k_{ij}
tijk 在每个维度上的全局嵌入特性,并概括模型中的过渡特性。 具有多个特征图的得分函数可以正式表示为:
其中
ω
m
\omega^m
ωm 表示第
m
m
m 个卷积滤波器,
Ω
Ω
Ω 是表示使用的滤波器数量的超参数,
∗
∗
∗ 是卷积算子,
W
∈
R
Ω
k
×
1
W \in \mathbb{R}^{Ωk \times 1}
W∈RΩk×1 表示用于计算三元组最终得分的线性变换矩阵。 使用soft-margin loss训练模型
4. 实验
为了评估该模型,使用五个基准数据集:WN18RR,FB15k-237,NELL-995,Unified Medical 和Alyawarra Kinship。 WN18和FB15K中的关系预测任务存在逆关系问题,因此人们可以使用一种方法获得最新结果。 简单的基于逆转规则的模型。 因此,创建了相应的子集数据集WN18RR和FB15k-237来解决WN18和FB15K中的可逆关系问题。 表1提供了所有使用的数据集的统计信息。