论文笔记005-《Multi-view Knowledge Graph Embedding for Entity Alignment》
更多博客可以关注MyBlog,欢迎大家一起学习交流!
1. 简介
题目:《Multi-view Knowledge Graph Embedding for Entity Alignment》
来源:IJCAI-2019
链接:论文链接
代码:Code和Dataset
关键字:Entity Alignment、Embedding、Multi-view
2. 摘要
原先的实体对齐工作主要关注在实体的关系结构特征,这就导致一些其他类型的特征被忽视,例如其属性(Attributes)特征,由于没有对这类特征给予一样的重要性,这会影响基于嵌入式的实体对齐工作的鲁棒性和准确性。
作者基于上述的缺点,提出了一种新颖的框架,从实体名、关系、属性三个方面来学习实体的嵌入表示,并提出了相应的整合策略,其最终结果在数据集DBP-WD和DBP-YG上相对已有的方法有显著的提升。
3.研究背景
传统的方法:主要基于symbolic freature,如名字、文本描述、属性值等来判断实体的相似度。虽然有不错的结果,但是还是有以下两点限制:
- 实体有很多的特征,但是目前只使用一种或者两种。
- MTransE [Chen et al.,2017]、 IPTransE [Zhu et al., 2017] 、BootEA [Sun et al.,2018]均只是使用图谱的关系结构进行嵌入表达;
- JAPE [Sun et al., 2017]、KDCoE[Chen et al., 2018]、AttrE [Trsedya et al., 2019]在上述基础上使用了属性值的特征;
- 实体对齐依赖于种子实体对。然而实际情况中一般不容易找到这样的实体对,但是研究发现实体的对齐会受到关系和属性值的对齐影响,而且现实中这两类特征对齐比较容易找到。
作者基于上述的两个缺点,提出了MultiKE方法,分为3个部分:不同视角的嵌入学习;不同视角的推理;不同的整合视角的方式,其方法甚至可以进行无监督学习的方式进行实体对齐。
文中的Related Work的文段有对基于嵌入式的实体对齐方法发展的总结,可以详细看一下。
4. 多视角的嵌入学习
4.1 模型的表述
作者通过分析将图谱表示为 7 7 7 元组 G = ( E , R , A , V , N , X , Y , ) \mathcal{G = ( E,R, A,V, N,X, Y,)} G=(E,R,A,V,N,X,Y,) ,其中 E , R , A , V \mathcal {E,R,A,V} E,R,A,V 分别表示的是实体、关系、属性、文本值,而 N ⊆ E × V \mathcal {N \subseteq E \times V} N⊆E×V 表示实体名视角, X ⊆ E × R × E \mathcal {X \subseteq E \times R \times E} X⊆E×R×E 表示关系视角, Y ⊆ E × A × V \mathcal {Y \subseteq E \times A \times V} Y⊆E×A×V 表示属性视角。
4.2 文本的嵌入
文本是由一段字符和标点组成的序列,即tokens,作为多视角的嵌入的基础,其中
l
=
(
o
1
,
o
2
,
⋯
,
o
n
)
l = (o_1,o_2,\cdots,o_n)
l=(o1,o2,⋯,on) 表示输入的文本的序列,我们使用
L
P
(
⋅
)
LP(\cdot)
LP(⋅) 来生成嵌入向量。其函数如下:
L
P
(
o
i
)
=
{
w
o
r
d
_
e
m
b
e
d
(
o
i
)
,
i
f
o
i
h
a
s
a
w
o
r
d
e
m
b
e
d
d
i
n
g
c
h
a
r
_
e
m
b
e
d
(
o
i
)
,
o
t
h
e
r
w
i
s
e
(1)
LP(o_i) = \begin{cases} word\_embed(o_i),if\,o_i\,has\,a\,word\,embedding\\ char\_embed(o_i), otherwise \end{cases} \tag 1
LP(oi)={word_embed(oi),ifoihasawordembeddingchar_embed(oi),otherwise(1)
作者这里使用了别人已经训练好的字嵌入模型,对于
w
o
r
d
_
e
m
b
d
e
(
⋅
)
word\_embde(\cdot)
word_embde(⋅) 采用[Mikolov et al.,2018] 的训练好的词嵌入数据,而对于
c
h
a
r
_
e
m
b
d
e
(
⋅
)
char\_embde(\cdot)
char_embde(⋅) 的采用 Skip-Gram model [Mikolov et al., 2013]。我们将使用函数
ϕ
(
⋅
)
\phi(\cdot)
ϕ(⋅) 表示,利用
A
u
t
o
−
E
n
c
o
d
e
r
Auto-Encoder
Auto−Encoder 以无监督的方式将
t
o
k
e
n
s
tokens
tokens 嵌入编码为
l
i
t
e
r
a
l
literal
literal 嵌入:
ϕ
(
l
)
=
e
n
c
o
d
e
(
[
L
P
(
o
1
)
;
L
P
(
o
2
)
;
⋯
;
L
P
(
o
n
)
]
)
(2)
\phi(l) = encode([LP(o_1);LP(o_2);\cdots;LP(o_n)]) \tag 2
ϕ(l)=encode([LP(o1);LP(o2);⋯;LP(on)])(2)
其中的“;”表示串接操作,这里作者限制输入字符数
n
n
n 为5,多的截取掉,少的补充占位符。
4.3 实体名视角嵌入
采用上面文本嵌入方法,实体名的嵌入表达如下:
h
(
1
)
=
ϕ
(
n
a
m
e
(
h
)
)
(3)
h^{(1)} = \phi(name(h)) \tag 3
h(1)=ϕ(name(h))(3)
其中
n
a
m
e
(
⋅
)
name(\cdot)
name(⋅) 表示对实体名的提取,文中规定长度为5,变量上的
(
1
)
^{(1)}
(1) 代表的是实体名视角,
Θ
(
1
)
\Theta^{(1)}
Θ(1)作为实体名视角的表示,下面的类似。
4.4 关系视角嵌入
对于关系视角,作者采用了TransE[Bordes et al., 2013]的模型
(
h
,
r
,
t
)
(h,r,t)
(h,r,t) ,把关系看成两个实体之间的转换向量。作者采用如下方式来评价关系的合理性:
f
r
e
l
(
h
(
2
)
,
r
,
t
(
2
)
)
=
−
∣
∣
h
(
2
)
+
r
−
t
(
2
)
∣
∣
(4)
f_{rel}(h^{(2)},r,t^{(2)}) = - ||h^{(2)}\,+\,r\,-t^{(2)}|| \tag 4
frel(h(2),r,t(2))=−∣∣h(2)+r−t(2)∣∣(4)
其定义了方程
5
5
5 来描述其关系的可能性:
P
r
e
l
(
ζ
(
h
,
r
,
t
)
=
1
∣
Θ
(
2
)
)
=
s
i
g
m
o
i
d
(
f
r
e
l
(
h
(
2
)
,
r
,
t
(
2
)
)
)
(5)
P_{rel}(\zeta_{(h,r,t)}=1\,|\, \Theta^{(2)})=sigmoid(f_{rel}(h^{(2)},r,t^{(2)})) \tag 5
Prel(ζ(h,r,t)=1∣Θ(2))=sigmoid(frel(h(2),r,t(2)))(5)
其中
Θ
(
2
)
\Theta^{(2)}
Θ(2) 表示关系视角下的表示,而
ζ
(
h
,
r
,
t
)
\zeta_{(h,r,t)}
ζ(h,r,t) 则是对关系组
(
h
,
r
,
t
)
(h,r,t)
(h,r,t) 的标签,取值为
1
1
1 或者
−
1
-1
−1 ,这样情况下就通过最小化下面的逻辑损失函数求解参数
Θ
(
2
)
\Theta^{(2)}
Θ(2) :
L
(
Θ
(
2
)
)
=
∑
(
h
,
r
,
t
)
∈
X
+
∪
X
−
l
o
g
(
1
+
e
x
p
(
−
ζ
(
h
,
r
,
t
)
∗
f
r
e
l
(
h
(
2
)
,
r
,
t
(
2
)
)
)
)
(6)
L(\Theta^{(2)}) = \sum_{(h,r,t)\in X^+ \cup X^-} log(1 \,+\,exp(-\zeta_{(h,r,t)}*f_{rel}(h^{(2)},r,t^{(2)}))) \tag 6
L(Θ(2))=(h,r,t)∈X+∪X−∑log(1+exp(−ζ(h,r,t)∗frel(h(2),r,t(2))))(6)
其中
X
+
=
X
a
+
X
b
X^+ = X_a + X_b
X+=Xa+Xb 表示在两个KG中的正确关系事实,而
X
−
X^-
X− 则是随机替换头实体或者尾实体的负样本。
4.5 属性视角嵌入
对于属性视角,作者将其属性和属性值整合进一个矩阵
⟨
a
;
v
⟩
∈
R
2
×
d
\left \langle a;v \right \rangle \in R^{2\times d}
⟨a;v⟩∈R2×d ,将其输入一个CNN网络去提取特征:
C
N
N
(
⟨
a
;
v
⟩
)
=
σ
(
v
e
c
(
σ
(
⟨
a
;
v
⟩
∗
Ω
)
W
)
(7)
CNN(\left \langle a;v \right \rangle) = \sigma(vec(\sigma(\left \langle a;v \right \rangle*\Omega)W) \tag 7
CNN(⟨a;v⟩)=σ(vec(σ(⟨a;v⟩∗Ω)W)(7)
其中的卷积核是
2
×
c
,
c
<
d
2 \times c, c<d
2×c,c<d 的大小,
v
e
c
(
⋅
)
vec(\cdot)
vec(⋅) 是将其变形为一个向量,然后采用全连接的矩阵
W
W
W 输出表示。对于属性的合理性判断采用如下方程:
f
a
t
t
r
(
h
(
3
)
,
a
,
v
)
=
−
∣
∣
h
(
3
)
−
C
N
N
(
⟨
a
;
v
⟩
)
∣
∣
(8)
f_{attr}(h^{(3)},a,v) = -||h^{(3)} - CNN(\left \langle a;v \right \rangle)|| \tag 8
fattr(h(3),a,v)=−∣∣h(3)−CNN(⟨a;v⟩)∣∣(8)
基于上述的分析,其头结点希望和属性和属性值尽可能接近,这个通过如下损失函数获取:
L
(
Θ
(
3
)
)
=
∑
(
h
,
r
,
t
)
∈
Y
+
l
o
g
(
1
+
e
x
p
(
−
f
a
t
t
r
(
h
(
3
)
,
a
,
v
)
)
(9)
L(\Theta^{(3)}) = \sum_{(h,r,t)\in Y^+} log(1 \,+\,exp(-f_{attr}(h^{(3)},a,v)) \tag 9
L(Θ(3))=(h,r,t)∈Y+∑log(1+exp(−fattr(h(3),a,v))(9)
5. 跨KG的实体对齐训练
本部分针对种子实体对进行训练模型,同时作者提出了对关系和属性的推理部分,进而进一步增强实体对齐的准确性。
5.1 实体推理
作者通过种子对中的实体对来增加存在的联系,比如在关系
(
h
,
r
,
t
)
(h,r,t)
(h,r,t) 中,实体对
(
h
,
h
^
)
(h,\hat{h})
(h,h^) 存在于种子中,那么我们可以增加附加的表达式:
P
r
e
l
′
(
ζ
(
h
,
r
,
t
)
=
1
∣
Θ
(
2
)
)
=
s
i
g
m
o
i
d
(
f
r
e
l
(
h
^
(
2
)
,
r
,
t
(
2
)
)
)
(10)
P_{rel}^{\prime}(\zeta_{(h,r,t)}=1\,|\, \Theta^{(2)})=sigmoid(f_{rel}(\hat{h}^{(2)},r,t^{(2)})) \tag {10}
Prel′(ζ(h,r,t)=1∣Θ(2))=sigmoid(frel(h^(2),r,t(2)))(10)
P r e l ′ ′ ( ζ ( h , r , t ) = 1 ∣ Θ ( 2 ) ) = s i g m o i d ( f r e l ( h ( 2 ) , r , t ^ ( 2 ) ) ) (11) P_{rel}^{\prime\prime}(\zeta_{(h,r,t)}=1\,|\, \Theta^{(2)})=sigmoid(f_{rel}(h^{(2)},r,\hat{t}^{(2)})) \tag {11} Prel′′(ζ(h,r,t)=1∣Θ(2))=sigmoid(frel(h(2),r,t^(2)))(11)
所以相应的损失函数变为,这个表达式和前面的式子
6
6
6 还是有点点差别,少了负样本:
L
C
E
(
Θ
(
2
)
)
=
∑
(
h
,
r
,
t
)
∈
X
′
l
o
g
(
1
+
e
x
p
(
−
f
r
e
l
(
h
^
(
2
)
,
r
,
t
(
2
)
)
)
)
+
∑
(
h
,
r
,
t
)
∈
X
′
′
l
o
g
(
1
+
e
x
p
(
−
f
r
e
l
(
h
(
2
)
,
r
,
t
^
(
2
)
)
)
)
(12)
L_{CE}(\Theta^{(2)}) = \sum_{(h,r,t)\in X^{\prime}} log(1 \,+\,exp(-f_{rel}(\hat{h}^{(2)},r,t^{(2)})))\,+\,\sum_{(h,r,t)\in X^{\prime\prime}} log(1 \,+\,exp(-f_{rel}(h^{(2)},r,\hat{t}^{(2)}))) \tag {12}
LCE(Θ(2))=(h,r,t)∈X′∑log(1+exp(−frel(h^(2),r,t(2))))+(h,r,t)∈X′′∑log(1+exp(−frel(h(2),r,t^(2))))(12)
相应的属性的里面的实体推理损失函数变为:
L
C
E
(
Θ
(
3
)
)
=
∑
(
h
,
r
,
t
)
∈
Y
′
l
o
g
(
1
+
e
x
p
(
−
f
a
t
t
r
(
h
^
(
3
)
,
a
,
v
)
)
(13)
L_{CE}(\Theta^{(3)}) = \sum_{(h,r,t)\in Y^{\prime}} log(1 \,+\,exp(-f_{attr}(\hat{h}^{(3)},a,v)) \tag {13}
LCE(Θ(3))=(h,r,t)∈Y′∑log(1+exp(−fattr(h^(3),a,v))(13)
5.2 关系和属性的推理
类似上面相似的处理原理,对于关系
(
h
,
r
,
t
)
(h,r,t)
(h,r,t) 中,关系对
(
r
,
r
^
)
(r,\hat{r})
(r,r^) ,采用如下表达式:
P
r
e
l
′
′
′
(
ζ
(
h
,
r
,
t
)
=
1
∣
Θ
(
2
)
)
=
s
i
g
m
o
i
d
(
f
r
e
l
(
h
(
2
)
,
r
^
,
t
(
2
)
)
)
(14)
P_{rel}^{\prime\prime\prime}(\zeta_{(h,r,t)}=1\,|\, \Theta^{(2)})=sigmoid(f_{rel}(h^{(2)},\hat{r},t^{(2)})) \tag {14}
Prel′′′(ζ(h,r,t)=1∣Θ(2))=sigmoid(frel(h(2),r^,t(2)))(14)
但是不和原先的论文中假设不一样,存在对齐的关系和属性的种子。作者采用了一种
s
o
f
t
\bf soft
soft 的对齐方式去自动对齐关系和属性。作者不采用严格的对齐要求,在[Cheatham and Hitzler, 2014]中说明了发现对齐的关系和属性更难,作者采用一个阈值来确定两者的对齐性:
S
r
e
l
=
{
(
r
,
r
^
,
s
i
m
(
r
,
r
^
)
)
∣
s
i
m
(
r
,
r
^
)
≥
η
}
S_{rel} = \{(r,\hat{r},sim(r,\hat{r})) \, |\,sim(r,\hat{r}) \geq \ \eta \}
Srel={(r,r^,sim(r,r^))∣sim(r,r^)≥ η} ,对于属性之间的相似度大于阈值的就认为是对齐的,这里考虑两种相似度:基于文本的相似度和基于关系嵌入的相似度
s
i
m
(
r
,
r
^
)
=
α
1
c
o
s
(
ϕ
(
n
a
m
e
(
r
)
)
,
ϕ
(
n
a
m
e
(
r
^
)
)
)
+
α
2
c
o
s
(
r
,
r
^
)
(15)
sim(r,\hat{r}) = \alpha_1\,cos(\phi(name(r)),\phi(name(\hat{r})))\,+\alpha_2\,cos(r,\hat{r}) \tag {15}
sim(r,r^)=α1cos(ϕ(name(r)),ϕ(name(r^)))+α2cos(r,r^)(15)
其中
α
1
α
2
>
0
,
α
1
+
α
2
=
1
\alpha_1\,\alpha_2 > 0 ,\alpha_1 + \alpha_2 = 1
α1α2>0,α1+α2=1 ,为了缓解其对齐的不准确性,作者采用了下列方程作为损失函数:
L
C
R
A
(
Θ
(
2
)
)
=
∑
(
h
,
r
,
t
)
∈
X
′
′
′
s
i
m
(
r
,
r
^
)
l
o
g
(
1
+
e
x
p
(
−
f
r
e
l
(
h
(
2
)
,
r
^
,
t
(
2
)
)
)
)
(16)
L_{CRA}(\Theta^{(2)}) = \sum_{(h,r,t)\in X^{\prime\prime\prime}} sim(r,\hat{r})\,log(1 \,+\,exp(-f_{rel}(h^{(2)},\hat{r},{t}^{(2)}))) \tag {16}
LCRA(Θ(2))=(h,r,t)∈X′′′∑sim(r,r^)log(1+exp(−frel(h(2),r^,t(2))))(16)
其中的关系对在训练过程中实时迭代更新,同时对于属性的推理的损失函数类似,记为
L
C
R
A
(
Θ
(
3
)
)
L_{CRA}(\Theta^{(3)} )
LCRA(Θ(3))。
6. 多视觉的整合
6.1 Weighted View Averaging
一种简单的整合方式就是计算平均值,但是这个可能会受某一个极端偏差带来影响,我们可以对其先求出平均值 h ‾ = 1 D ∑ j = 1 D h ( j ) \overline{h} = \frac{1}{D}\sum^{D}_{j=1}h^{(j)} h=D1∑j=1Dh(j) ,其中的 D D D 代表视觉的数目,然后计算各自与平均值的相似度,进而计算出各自的权重 w i = c o s ( h ( i ) , h ‾ ) ∑ j = 1 D c o s ( h ( j ) , h ‾ ) w_i=\frac{cos(h^{(i)},\overline{h})}{\sum^{D}_{j=1}cos(h^{(j)},\overline{h})} wi=∑j=1Dcos(h(j),h)cos(h(i),h) ,然后求出其表示 h ~ = ∑ i = 1 D w i h ( i ) \tilde{h}= \sum^{D}_{i=1}w_ih^{(i)} h~=∑i=1Dwih(i) 。
6.2 Shared Space Learning
作者基于一种各种视觉的嵌入表达来自一个共享的隐藏的视觉的假设,对每个视觉寻找一个正交矩阵将其变换到共享的空间中来,其中
H
~
\tilde{H}
H~ 是所有实体的嵌入表达结合的矩阵,每一行代表一个实体,
H
(
i
)
H^{(i)}
H(i) 是第
i
i
i 个视觉的嵌入表达,其求下面的最小化损失函数:
L
S
S
L
(
H
~
,
Z
)
=
∑
i
=
1
D
(
∣
∣
H
~
−
H
(
i
)
Z
(
i
)
∣
∣
F
2
+
∣
∣
I
−
Z
(
i
)
⊤
Z
(
i
)
∣
∣
F
2
)
(17)
L_{SSL}(\tilde{H},Z)=\sum_{i=1}^{D}(||\tilde{H}-H^{(i)}Z^{(i)}||^{2}_{F}+||I-Z^{(i)\top}Z^{(i)}||^{2}_{F}) \tag {17}
LSSL(H~,Z)=i=1∑D(∣∣H~−H(i)Z(i)∣∣F2+∣∣I−Z(i)⊤Z(i)∣∣F2)(17)
其中
Z
=
∪
i
=
1
D
Z
(
i
)
Z=\cup^{D}_{i=1}Z^{(i)}
Z=∪i=1DZ(i) ,
Z
(
i
)
Z^{(i)}
Z(i) 的作用是一个转换矩阵,将各自视觉的表达转换到共享的空间中,然后等式的第二部分主要是保证转换矩阵的正交化,保证转换能够保持原先实体之间的距离相对关系。
6.3 In-training Combination
作者上述的整合方式都是在周期训练完成后才整合,为了进一步使各种视角时间互相吸收特征,作者想出了一种在训练过程中就不断整合的策略,其损失函数如下:
L
I
T
C
(
H
~
,
H
)
=
∑
i
=
1
D
∣
∣
H
~
−
H
(
i
)
∣
∣
F
2
(18)
L_{ITC}(\tilde{H},H)=\sum_{i=1}^{D}||\tilde{H}-H^{(i)}||^{2}_{F} \tag {18}
LITC(H~,H)=i=1∑D∣∣H~−H(i)∣∣F2(18)
其中
H
=
∪
i
=
1
D
H
(
i
)
H=\cup^{D}_{i=1}H^{(i)}
H=∪i=1DH(i) ,其目标是最大化该损失函数。
6.4 Combined Training Process
其整合过程如下图,注意的是其姓名的嵌入表达在后续训练过程中不会更新:
7. 实验结果
- 数据集
来自**DBP-WD和DBP-YG(Sun et al., 2018)**的两个数据集,其使用30%作为种子实体对。
- 实验结果
结果如图所示:
同时作者进行了对照试验在推理上面的对比,以及在无监督上的实体对齐任务比较。
整体来说,作者提出的多视角实体对齐方案相比已有的方法有了很大的提升,而且思路的解释性很强,对相应的策略做了实验加以验证解释,后续作者研究想增加视觉角度,如实体的类别等,以及尝试跨语言进行实体对齐。