1. 简介
题目:《Multi-Channel Graph Neural Network for Entity Alignment》
来源:ACL-2019
链接:论文链接
代码:Code和Dataset
关键字:Graph Neural Network、Embedding-based、Entity Alignment
2. Abstract
近年来实体对齐的工作往往受制于KGs之间的异构性以及种子实体对的约束。本文提出了一种多通道的图神经网络MUGNN来学习, 每一个通道通过不同的权重模式来编码KG:一个通过自己注意力的KG补全,另一个是通过跨图的实体修剪。除此之外作者还增加了知识推理和转移的模块来丰富知识图谱结构。
3. Introduction
知识图以有向图的形式存储世界知识,其中节点表示实体,边表示实体之间的关系。自提出以来,许多不同语言或者应用的KGs被提出来,这些KGs之间通常包含互补的信息,这个吸引着研究者去整合它们,这将使很多人以及相关的应用受益,比如信息抽取,推荐系统等。
目前的一些方法使用嵌入学习的方法将,通过预先对齐的种子对,将实体嵌入到同一的向量空间进行对齐。然而这些方法基于的假设是实体和其对应的实体具有相似的结构以及相似的嵌入表达,但是实际情况面临如下两个方面的挑战:
- Heterogeneity of Structures
不同的KGs由于语言或者应用的侧重点不同,其内部结构其实很不同,导致后续的嵌入学习会有很大的误差,进而影响对齐的效果。如下图中所展示的中文-英文的KG之间的区别,:
图中的“Jilin City”分别从中文和英文中抽取它的关系子图,由于四个中国城市,所以 K G 2 KG_{2} KG2中的信息比 K G 1 KG_{1} KG1的信息丰富。
- Limited Seed Alignments
目前的研究很大程度依赖于种子实体对,然而种子对数量一般有限。GCN网络通过模型结构特征加强实体嵌入学习,但是没有考虑到图结构的异构性。
本文作者针对上面挑战提出了多通道的图神经网络MuGCN,使用它来对不同的图进行嵌入学习。针对每一个KG图,MuGCN使用不同的通道来补全和修剪,其主要分别处理缺失的关系和多余的实体。补全主要是通过补全图中实体之间缺少的关系,而修剪主要是针对一些独立的实体,在另一个图中,其没有与这个独立实体相对应的实体。其最后通过池化技术将不同通道的实体嵌入表达整合起来,这样实体嵌入就能被来自不同视角的调节后的结构做增强,提高种子对齐的利用效率,每个通道通过共享参数在两个KG中转移结构知识。
具体而言,对于KG补全,先用**AMIE+**从每个KG中抽取规则,然后在KG间进行规则传递,丰富三元组。类似于GAT,本文利用KG自注意力来对每个GNN通道上的关系进行加权。为了对KG进行修剪,设计跨KG的注意力通过为对于关系分配低的权重来过滤多余的实体。
3. Preliminaries and Framework
3.1 Preliminaries
KG由一个有向图表示: G = ( E , R , T ) G=(E,R,T) G=(E,R,T),由实体,关系,三元组组成。每个三元组由 t = ( e i , r i j , e j ) ∈ T t=(e_i,r_{ij},e_j)\in T t=(ei,rij,ej)∈T表示。
Rule Knowledge表示 K = { k } K=\{k\} K={k}从KG中获取的规则, ∀ x , y ∈ E : ( x , r s , y ) ⇒ ( x , r c , y ) \forall x,y \in E :(x,r_s,y) \Rightarrow (x, r_c, y) ∀x,y∈E:(x,rs,y)⇒(x,rc,y),表示两个实体如果有关系 r s r_s rs,则两者之间可能有关系 r c r_c rc。箭头左边的为先前提,箭头后的为结论。其定义规则 k = ( r c ∣ r s 1 , ⋯ , r s p ) k=(r_c|r_{s1},\cdots,r_{sp}) k=(rc∣rs1,⋯,rsp)由一系列条件推出一个结论。
Rule Grounding表示去寻找符合上面找出的规则三元组,然后使用规则扩充三元组。
Entity Alignment输入两个图结构,然后尽可能找出其中等价实体对。
3.2 Framework
MuGCN的目的是学习面向实体对齐的KG嵌入。其引入KG规则推理和规则转移以显式地补全KG,利用不同的关系权重模式:KG自注意力和跨KG的注意力,使编码的KG更具鲁棒性。框架主要由两个步骤,如下图所示:
- KG Completion
通过补全缺失的关系来缓解结构的差异。它不仅通过规则挖掘器**AMIE+**分析出规则,还基于KG间的种子对齐关系在不同的KG中转移规则。规则能转移基于的假设是:知识可以泛化到不同的KG,不管KG是何种语言或什么领域。
- Multi-channel Graph Neural Network
该模块通过不同通道来编码KG,其实就是从不同的角度来编码KG,这里是指知识补全和实体修剪来实现的。其包含三个模块:
- 关系加权
其根据两种模式(自注意力和跨KG注意力)生成对应的关系权限,每个类型的注意力机制对应一个GNN通道,这些通道在KGs中共享参数实现结构知识转移。
- GNN编码器
对图结构进行编码,通过其邻居结点来优化实体嵌入,这样对齐的种子对信息可以在整个图中传播。
- 对齐模块
通过使种子实体对的嵌入尽可能相同这一原则,会将两个KGs嵌入到同一空间中去。
4. KG Completion
这一部分将介绍如何利用规则显式地补全KG。首先从每个KG中推理出规则,然后基于知识不变性的假设在KG中转移这些知识,最后在每个KG中找出需要补全的地方。
4.1 Rule Inference and Transfer
本文关注点是实体对齐,对于知识获取不是本文的重点,所以作者采用了AMIE+的模型去有效地挖掘知识。从不同的KG中发掘的知识由于KG的应用场景或者语言不同会导致其挖掘的规则大不相同,虽然这个规则可以取补全自己原本图中所缺少的实体之间的关系,但是作者增加了将其规则传播到对立的图中去,这个也是基于知识的不变性。其实现就是对于规则 k 1 ∈ K 1 k_1\in K_1 k1∈K1 ,将其 k 1 k_1 k1种子关系对中包含的关系用对应的关系替换掉,然后新的规则 k 1 ′ k_{1}^{\prime} k1′加入到对应的规则集 K 2 K_2 K2中去。也许扩充的关系集可能为空,那是因为没有找到对应的关系。
4.2 Rule Grounding
规则集中的规则在各自的KG中进行实例化后用于知识补全,补全后的KG不仅增加了知识的稠密性,更利于对齐模型中的知识传播,也增加了更多的约束,帮助学习质量更好的嵌入。就是将上面的规则在本KG中找满足条件却没有结论的实例,然后将结论给补充上去即可。注意的是,抽取到的规则并不是在所有情况下都成立,所以作者未来可能考虑一个置信度来判断。
5. Multi-Channel Graph Neural Network
本部分包含关系权重、多通道GNN编码器、对齐模型三个模块,具体介绍如下:
5.1 Relation Weighting
基于图的结构特征得到加权的邻接矩阵,每个元素表示两个实体间的加权的关系权重。在KG中有两种类型的结构差异:由KG的天然不完全性造成的链接的缺失,和由不同的构建需求造成的实体的多余。利用两个通道编码的GNN编码每个KG,每个通道负责调解一种类型的结构差异性。也就是为每个KG生成两个邻接矩阵:基于自注意力的 A 1 A_1 A1 和基于跨KG注意力的 A 2 A_2 A2 。
- KG Self-Attention
目的是根据KG的自身结构充分利用对齐的种子。根据当前的实体选择信息量高的邻居并为之设置高权重。类似于GAT,
A
1
A_1
A1 中的元素定义为:
a
i
j
=
softmax
(
c
i
j
)
=
exp
(
c
i
j
)
∑
e
k
∈
N
e
i
∪
e
i
exp
(
c
i
k
)
(1)
a_{i j}=\operatorname{softmax}\left(c_{i j}\right)=\frac{\exp \left(c_{i j}\right)}{\sum_{e_{k} \in N_{e_{i}} \cup e_{i}} \exp \left(c_{i k}\right)} \tag {1}
aij=softmax(cij)=∑ek∈Nei∪eiexp(cik)exp(cij)(1)
c i j = attn ( W e i , W e j ) = Leak y Re L U ( p [ W e i ∥ W e j ] ) (2) \begin{aligned} c_{i j} &=\operatorname{attn}\left(\mathrm{We}_{\mathrm{i}}, \mathrm{We}_{\mathrm{j}}\right) \\ &=\operatorname{Leak} y \operatorname{Re} L U\left(\mathrm{p}\left[\mathrm{We}_{\mathrm{i}} \| \mathrm{We}_{\mathrm{j}}\right]\right) \end{aligned} \tag {2} cij=attn(Wei,Wej)=LeakyReLU(p[Wei∥Wej])(2)
其中 e k ∈ N e i ∪ e i {e_{k} \in N_{e_{i}} \cup e_{i}} ek∈Nei∪ei 表示实体 e i e_i ei 的邻居结点以及自身环结构。 c i j c_{i j} cij表示实体 e i , e j e_i,e_j ei,ej之间的注意力系数,其计算公式如公式(2)所示, ∣ ∣ || ∣∣ 表示连接操作。
- Cross-KG Attention
目的是建模两个KG的公共子图做为结构特征以建模一致性。它能通过为没有对应关系的关系设置较低的权重来修剪掉多余的实体。
A
2
A_2
A2中的元素定义如下:
a
i
j
=
max
r
∈
R
,
r
′
∈
R
′
1
(
(
e
i
,
r
,
e
j
)
∈
T
)
sim
(
r
,
r
′
)
(3)
a_{i j}=\max _{r \in R, r^{\prime} \in R^{\prime}} 1\left(\left(e_{i}, r, e_{j}\right) \in T\right) \operatorname{sim}\left(r, r^{\prime}\right) \tag {3}
aij=r∈R,r′∈R′max1((ei,r,ej)∈T)sim(r,r′)(3)
其中
1
(
⋅
)
1(\cdot)
1(⋅)表示情况为真就是1,否则就是0。
s
i
m
(
⋅
)
sim(\cdot)
sim(⋅)为相似性评价函数,这里使用内积操作,
sim
(
r
,
r
′
)
=
r
T
r
′
\operatorname{sim}\left(r, r^{\prime}\right)= \mathrm{r}^{T} \mathrm{r}^{\prime}
sim(r,r′)=rTr′。其值为0则代表没有对应的实体。
5.2 Multi-Channel GNN Encoder
GNN是处理图结构数据的一种神经网络模型,主要思想类似于传播模型:根据邻居节点来增强节点自身的特征。可以堆叠L层GNN以得到更远的传播。GNN的一个变体是基于谱图的图卷积网络,如GCN,每个GCN编码器以节点表示的隐含状态做为输入,并计算出新的节点表示:
GNN
(
A
,
H
,
W
)
=
σ
(
A
H
W
)
(4)
\operatorname{GNN}(A, H, W)=\sigma(\mathbf{A H W}) \tag {4}
GNN(A,H,W)=σ(AHW)(4)
其中
A
\mathrm{A}
A 是邻接矩阵,
H
\mathrm{H}
H 是当前结点的表示,
W
\mathbf{W}
W 是可学习的参数,
σ
\sigma
σ 是一个激活函数,这里选择了
Re
L
U
(
⋅
)
=
max
(
0
,
⋅
)
\operatorname{Re} L U(\cdot)= \max (0, \cdot)
ReLU(⋅)=max(0,⋅) 。受多视角注意力的启发,本文利用上述提到的策略来计算邻接矩阵以从不同方面来传播信息。最后用池化方程对它们进行聚合,本文的多通道GNN编码器,通过堆叠多个GNN编码器来构建。
MultiGNN
(
H
l
;
A
1
,
⋯
,
A
c
)
=
Pooling
(
H
1
l
+
1
,
⋯
,
H
c
l
+
1
)
(5)
\operatorname{MultiGNN}\left(H^{l} ; A_{1}, \cdots, A_{c}\right)= \operatorname{Pooling}\left(H_{1}^{l+1}, \cdots, H_{c}^{l+1}\right) \tag {5}
MultiGNN(Hl;A1,⋯,Ac)=Pooling(H1l+1,⋯,Hcl+1)(5)
其中
c
c
c 是指通道数目,
A
i
A_{i}
Ai 是第
i
t
h
i_{t h}
ith 个通道的邻接矩阵, 而
H
i
l
+
1
H_{i}^{l+1}
Hil+1 第
(
l
+
1
)
t
h
(l+1)_{t h}
(l+1)th 隐藏层的状态,其计算公式如下:
H
i
l
+
1
=
GNN
(
A
i
,
H
l
,
W
i
)
(6)
\mathbf{H}_{i}^{l+1}=\operatorname{GNN}\left(A_{i}, H^{l}, W_{i}\right) \tag {6}
Hil+1=GNN(Ai,Hl,Wi)(6)
其中
W
i
W_i
Wi是第 i 个通道的加权参数。这里
i
=
1
,
2
i = 1,2
i=1,2指的是上面提到的两个注意力模式,令
H
0
H^0
H0表示随机初始化的实体嵌入。这里的池化选用平均池化。
5.3 Align Model
通过将种子对中的实体嵌入到一起,从而将两个KG嵌入到一个统一的向量空间中。通过实体(或关系)间的距离来度量其相似度。对齐模型的目标函数是:
L
a
=
∑
(
e
,
e
′
)
∈
A
e
g
(
e
−
,
e
−
′
)
∈
A
e
g
−
[
d
(
e
,
e
′
)
+
γ
1
−
d
(
e
−
,
e
−
′
)
]
+
+
∑
(
r
,
r
′
)
∈
A
r
s
(
r
−
,
r
−
′
)
∈
A
r
s
−
[
d
(
r
,
r
)
+
γ
2
−
d
(
r
−
,
r
−
′
)
]
+
(7)
\begin{array}{c} \mathcal{L}_{a}=\sum_{\left(e, e^{\prime}\right) \in \mathcal{A}_{e}^{g}\left(e_{-}, e_{-}^{\prime}\right) \in \mathcal{A}_{e}^{g}-}\left[d\left(e, e^{\prime}\right)+\gamma_{1}-d\left(e_{-}, e_{-}^{\prime}\right)\right]_{+}+ \\ \sum_{\left(r, r^{\prime}\right) \in \mathcal{A}_{r}^{s}\left(r_{-}, r_{-}^{\prime}\right) \in \mathcal{A}_{r}^{s}-}\left[d(r, r)+\gamma_{2}-d\left(r_{-}, r_{-}^{\prime}\right)\right]_{+} \end{array} \tag {7}
La=∑(e,e′)∈Aeg(e−,e−′)∈Aeg−[d(e,e′)+γ1−d(e−,e−′)]++∑(r,r′)∈Ars(r−,r−′)∈Ars−[d(r,r)+γ2−d(r−,r−′)]+(7)
其中的
[
⋅
]
+
=
m
a
x
{
0
,
⋅
}
[\cdot]_{+}=max\{0,\cdot\}
[⋅]+=max{0,⋅} ,而
d
(
⋅
)
=
∣
∣
⋅
∣
∣
2
d(\cdot)=||\cdot||_{2}
d(⋅)=∣∣⋅∣∣2是距离测量函数,
A
e
s
−
/
A
r
s
−
A^{s-}_{e}/A^{s-}_{r}
Aes−/Ars−分别是实体/关系的负样本,而超参数
γ
1
>
0
,
γ
2
>
0
\gamma_{1}>0,\gamma_{2}>0
γ1>0,γ2>0,作者通过距离计算列出25个负样本,而样本每5个周期计算一次。
- Rule Knowledge Constraints
由于通过添加了由规则得到的新三元组,这样改变了KG的结构,但为了保证在嵌入空间中规则的有效性,还引入了三元组损失,定义如下的损失函数:
L
r
=
∑
g
+
∈
G
(
K
)
g
−
∈
G
−
(
K
)
[
γ
r
−
I
(
g
+
)
+
I
(
g
−
)
]
+
+
∑
t
+
∈
T
t
−
∈
T
−
[
γ
r
−
I
(
t
+
)
+
I
(
t
−
)
]
+
(8)
\begin{aligned} \mathcal{L}_{r} &=\sum_{g^{+} \in \mathcal{G}(\mathcal{K}) g^{-} \in \mathcal{G}^{-}(\mathcal{K})}\left[\gamma_{r}-I\left(g^{+}\right)+I\left(g^{-}\right)\right]_{+} \\ &+\sum_{t+\in T t^{-} \in T^{-}}\left[\gamma_{r}-I\left(t^{+}\right)+I\left(t^{-}\right)\right]_{+} \end{aligned} \tag {8}
Lr=g+∈G(K)g−∈G−(K)∑[γr−I(g+)+I(g−)]++t+∈Tt−∈T−∑[γr−I(t+)+I(t−)]+(8)
其中g是规则转移
g
(
k
)
g(k)
g(k) 的缩写,
g
(
K
)
g(K)
g(K)和
T
T
T 指所有的规则证据以及所有的三元组,
g
−
(
K
)
g^-(K)
g−(K)和
T
−
T^-
T− 是负样本集合。
I
(
⋅
)
I(\cdot)
I(⋅) 对于三元组来说是三元组
t
t
t 的真值,计算方法为:
I
(
t
)
=
1
−
1
3
d
∥
e
i
+
r
i
j
−
e
j
∥
2
(9)
I(t)=1-\frac{1}{3 \sqrt{d}}\left\|\mathbf{e}_{i}+\mathbf{r}_{i j}-\mathbf{e}_{j}\right\|_{2} \tag {9}
I(t)=1−3d1∥ei+rij−ej∥2(9)
而对于
g
=
(
t
c
∣
t
s
1
,
⋯
,
t
s
p
)
g=\left(t_{c} \mid t_{s 1}, \cdots, t_{s p}\right)
g=(tc∣ts1,⋯,tsp)的计算式如下:
I
(
t
s
)
=
I
(
t
s
1
∧
t
s
2
)
=
I
(
t
s
1
)
⋅
I
(
t
s
2
)
I
(
t
s
⇒
t
c
)
=
I
(
t
s
)
⋅
I
(
t
c
)
−
I
(
t
s
)
+
1
(10)
\begin{array}{c} I\left(t_{s}\right)=I\left(t_{s 1} \wedge t_{s 2}\right)=I\left(t_{s 1}\right) \cdot I\left(t_{s 2}\right) \\ I\left(t_{s} \Rightarrow t_{c}\right)=I\left(t_{s}\right) \cdot I\left(t_{c}\right)-I\left(t_{s}\right)+1 \end{array} \tag {10}
I(ts)=I(ts1∧ts2)=I(ts1)⋅I(ts2)I(ts⇒tc)=I(ts)⋅I(tc)−I(ts)+1(10)
其中
d
d
d 嵌入学习的纬度.。类似的还可以获取关系的损失函数
L
r
′
\mathcal{L}_{r}^{\prime}
Lr′ ,那么整体的损失函数如下:
L
=
L
a
+
L
r
′
+
L
r
(11)
\mathcal{L}=\mathcal{L}_{a}+\mathcal{L}_{r}^{\prime}+\mathcal{L}_{r} \tag {11}
L=La+Lr′+Lr(11)
6. Experiment
在DBP15K与DWY100K上进行实验,对于种子关系对,用DBpedia上的官方公布的数据,对于DWY-YG,由于其关系数量小,手动对齐关系。数据统计如下:
对于每个数据集,用**AMIE+**进行规则挖掘,得到的规则数量统计如下所示:
其实验结果如下所示:
原文中作者对其结果进行详细分析,通过分离实验对其提出的创新点进行分析对照,最后可以看到其提出的方法较以往的方法有较大的提升。本文提出的方法从不同方向考虑了实体嵌入学习的不足之处,然后提出相应的方法增强嵌入学习的准确性以及鲁棒性。