《Entity Alignment between Knowledge Graphs Using Attribute Embeddings》
更多博客可以关注MyBlog,欢迎大家一起学习交流!
1. 简介
题目:《Entity Alignment between Knowledge Graphs Using Attribute Embeddings》
来源:AAAI-2019
链接:https://people.eng.unimelb.edu.au/jianzhongq/papers/AAAI2019_EntityAlignment.pdf
代码:Code和Dataset
2. 研究背景
早期的实体对齐研究基于属性之间的相似性,依赖于用户定义的规则来确定实体之间需要比较的属性。由于不同实体之间可能需要不同的属性来进行比较,所以这种方法容易出现误差。
最近,针对实体对齐任务提出了基于嵌入的模型,它要求将两个KG嵌入到同一个向量空间中,以适应KG嵌入在两个KG之间的实体对齐。但该方法需要大量的种子实体,这在现实使用中难以获取。
本文针对上述的局限性,提出了一种新的嵌入模型,本文的主要贡献如下:
- 提出两个KG之间的实体对齐框架,由谓词对齐模块(predicate alignment module)、嵌入学习模块(embedding learning module)、**实体对齐模块(entity alignment module)**组成
- 提出一种新的嵌入模型,将实体嵌入和属性嵌入集成在一起,用来学习对于两个KGs的统一嵌入空间
- 在三对KGs上对模型进行评估,就hits@1指数而言,模型优于现有模型50%以上
3. 模型
一个知识图谱
G
G
G 由三元组
<
h
,
r
,
t
>
<h,r,t>
<h,r,t>组成,对于
G
1
和
G
2
G_1和G_2
G1和G2,实体对齐的任务是寻找实体对,其中
<
h
1
,
h
2
>
<h_1,h_2>
<h1,h2>,其中
h
1
∈
G
1
,
h
2
∈
G
2
h_1\in G_1,h_2 \in G_2
h1∈G1,h2∈G2 。其模型主要由三个部分组成:
3.1. 谓词对齐(predicate alignment)
谓词对齐模块通过使用统一的命名方案重命名两个KG的谓词来合并两个KG,以便为关系嵌入提供统一的向量空间。除了符合命名规范的谓词,如:rdfs:label、geo:wgs84 pos#lat等;还有一些相互匹配的谓词,例如:dbp:bornIn 和yago:wasBornIn 我们就需要统一命名,比如将dbp:bornIn和yago:wasBornIn统一为 :bornIn。
为了找到部分匹配的谓词,作者计算谓词URI的最后部分的编辑距离(例如,bornIn与wasBornIn)并将0.95设置为相似性阈值。
3.2. 嵌入学习(Embedding Learning)
3.2.1. 结构嵌入(Structure Embedding)
作者采用TransE来学习对于实体的结构嵌入。与TransE不同的是,模型希望更关注已对齐的三元组,也就是包含对齐谓词的三元组。模型通过添加权重来实现这一目的。Structure embedding的目标函数
J
S
E
J_{SE}
JSE 如下:
J
S
E
=
∑
t
r
∈
T
r
∑
t
r
′
∈
T
r
′
m
a
x
(
0
,
γ
+
α
(
f
(
t
r
)
−
f
(
t
r
′
)
)
)
α
=
c
o
u
n
t
(
r
)
∣
T
∣
J_{SE}=\sum_{t_r \in T_r} \sum_{t_r^\prime \in T_r^\prime }max(0 \ , \ \gamma + \alpha(f(t_r)-f(t^\prime_r))) \\ \alpha = \frac{count(r)}{|T|}
JSE=tr∈Tr∑tr′∈Tr′∑max(0 , γ+α(f(tr)−f(tr′)))α=∣T∣count(r)
其中
t
r
t_r
tr是有效关系的三元组集合,而
t
r
′
t_r^\prime
tr′是通过随机替换三元组
<
h
,
r
,
t
>
<h,r,t>
<h,r,t>中实体
h
h
h或者
r
r
r形成的损坏样本,即负样本。
T
T
T为合并后的
G
1
_
2
G_{1\_2}
G1_2中三元组总数目,
c
o
u
n
t
(
r
)
count(r)
count(r)为关系
r
r
r出现的次数,
α
\alpha
α为权重,对于对齐的谓词关系,正常情况下,由于在两个KGs中都包含,其占的比例高一些,也就是更希望模型学习对齐的关系。
3.2.2. 属性字符嵌入(Attribute Character Embedding)
对于属性字符嵌入,也参考TransE的思想,将谓词 r r r 解释为从头部实体 h h h 到属性 a a a 的转换。但是,相同的属性 a a a可以在两个KG中以不同的形式出现,例如50.9989对50.9988888889作为实体的纬度;“Barack Obama”与“Barack Hussein Obama”作为人名等。因此,本文提出使用组合函数对属性值进行编码,并将属性三元组中每个元素的关系定义为 h + r = f a ( a ) h+r=f_a(a) h+r=fa(a)。 其中 f a ( a ) f_a(a) fa(a)是组合函数, a a a是属性值 a = { c 1 , c 2 , ⋯ , c t } a=\{c_1,c_2,\cdots,c_t\} a={c1,c2,⋯,ct}的字符序列。 组合函数将属性值编码为单个向量,并将类似的属性值映射到类似的向量表示。 作者定义了三个组成函数如下:
3.2.2.1. Sum compositional function (SUM)
思路:简单的求属性值的所有字符的嵌入总和
函数: f a ( a ) = c 1 + c 2 + ⋯ + c t f_a(a)\ = c_1+c_2+ \dots +c_t fa(a) =c1+c2+⋯+ct
问题:包含相同字符不同顺序的属性值会有相同的向量表示,如50.15和15.05将具有相同的向量表示
3.2.2.2. LSTM-based compositional function (LSTM)
思路:使用LSTM模型将一个字符序列编码为一个向量,将最终隐藏状态作为属性值的向量表示
函数: f a ( a ) = f l s t m ( c 1 , c 2 , … , c t ) f_a(a)\ = f_{lstm}(c_1,c_2,\dots,c_t) fa(a) =flstm(c1,c2,…,ct)
3.2.2.3. N-gram-based compositional function (N-gram)
思路:备选方案,使用属性值的n-gram组合的总和
函数: f a ( a ) = ∑ n = 1 N ( ∑ i = 1 t ∑ j = 1 n c j t − i − 1 ) f_a(a)\ = \ \sum^N_{n=1}(\frac{\sum^t_{i=1}\sum^n_{j=1}c_j}{t-i-1}) fa(a) = ∑n=1N(t−i−1∑i=1t∑j=1ncj)
其中N表示n-gram组合中使用的N的最大值N=10,t为属性值的长度,其最小化目标函数
J
C
E
J_{CE}
JCE为:
J
C
E
=
∑
t
a
∈
T
a
∑
t
a
′
∈
T
a
′
m
a
x
(
0
,
γ
+
α
(
f
(
t
a
)
−
f
(
t
a
′
)
)
)
T
a
=
{
<
h
′
,
r
,
a
>
∈
G
}
f
(
t
a
)
=
∣
∣
h
+
r
−
f
a
(
a
)
∣
∣
T
a
′
=
{
<
h
′
,
r
,
a
>
∣
h
′
∈
E
}
∪
{
<
h
,
r
,
a
′
>
∣
a
′
∈
A
}
J_{CE}=\sum_{t_a \in T_a} \sum_{t_a^\prime \in T_a^\prime }max(0 \ , \ \gamma + \alpha(f(t_a)-f(t^\prime_a))) \\ T_a \ = \ \{<h^\prime,r,a> \in G \} \\ f(t_a) \ = \ ||h \ + \ r-f_a(a)|| \\ T_a^\prime \ = \ \{<h^\prime,r,a>|h^\prime \in E \ \} \cup \ \{<h,r,a^\prime>|a^\prime \in A \ \}
JCE=ta∈Ta∑ta′∈Ta′∑max(0 , γ+α(f(ta)−f(ta′)))Ta = {<h′,r,a>∈G}f(ta) = ∣∣h + r−fa(a)∣∣Ta′ = {<h′,r,a>∣h′∈E }∪ {<h,r,a′>∣a′∈A }
3.2.3. 结构嵌入和属性特征嵌入的联合学习(Joint Learning of Structure Embedding and Attribute
Character Embedding)
通过属性字符嵌入
h
c
e
h_{ce}
hce 来帮助结构嵌入
h
s
e
h_{se}
hse 在同一向量空间进行训练,最小目标函数
J
S
I
M
J_{SIM}
JSIM为:
J
S
I
M
=
∑
h
∈
G
1
∪
G
2
[
1
−
cos
(
h
c
e
,
h
s
e
)
]
J_{SIM} \ = \ \sum_{h \in G_1 \cup G_2}[1-\cos(h_{ce},h_{se})]
JSIM = h∈G1∪G2∑[1−cos(hce,hse)]
结构嵌入基于实体关系获取实体之间的相似度,属性字符嵌入基于属性值获取实体之间的相似度。结构嵌入和属性特征嵌入联合学习的总体目标函数
J
J
J为:
J
=
J
S
E
+
J
C
E
+
J
S
I
M
J = J_{SE}+J_{CE}+J_{SIM}
J=JSE+JCE+JSIM
3.4. 实体对齐(Entity Alignment)
在经过上述训练过程之后,来自不同KG的相似的实体将会有相似的向量表示,因此可通过下面公式确定潜在的需要对齐的实体:
h
m
a
p
=
arg
max
h
2
∈
G
2
cos
(
h
1
,
h
2
)
h_{map}= \arg\max \limits_{h_2 \in G_2} \cos(h_1,h_2)
hmap=argh2∈G2maxcos(h1,h2)
给定实体
h
1
h_1
h1,计算它与
G
2
G_2
G2中的每个实体时间的相似性,最后
<
h
1
,
h
m
a
x
p
>
<h_1,h_{maxp}>
<h1,hmaxp>就是对齐的实体对,同时其使用了
β
\beta
β来过滤不对齐的实体。
3.5. Triple Enrichment via Transitivity Rule
这里使用了一个小 t r i c k trick trick ,通过传递关系来丰富三元组。
4. Experiments and Results
本文从 DBpedia (DBP)、LinkedGeoData (LGD)、Geonames (GEO) 和 YAGO 四个 KG 中抽取构建了三个数据集,分别是DBP-LGD、DBP-GEO和DBP-YAGO。具体的数据统计如下:
作者使用hits@k(k=1,10)来评估模型性能,对比了TransE、MTransE、JAPE三种模型,使用30%的对齐实体作为MTransE、JAPE的预对齐种子。在三种组合函数中,N-gram函数的优势较为明显。此外,基于传递规则的三元组丰富模型对结果也有一定的提升。具体结果如下:
为了进一步衡量 attribute character embedding 捕获实体间相似信息的能力,本文设计了基于规则的实体对齐模型。本实验对比了三种不同的模型:以label的字符串相似度作为基础模型;针对数据集特点,在基础模型的基础之上增加了坐标属性(由于只包含LOCATION的实体),以此作为第二个模型;第三个模型是把本文提出的模型作为附加模型,与基础模型相结合。具体结果如下:
本文还在KG补全任务上验证了模型的有效性。模型主要测试了链接预测和三元组分类两个标准任务,在这两个任务中,模型也取得了不错的效果。具体结果如下:
5. Summary
作者的模型设计很巧妙,将大量的属性三元组充分利用起来,辅助去将不同KG的实体构建到统一向量空间。作者在其中设计很多技巧来优化结果,而且整体来说其将一个比较难的问题充分化解为几个小问题,并在每个小问题上提出创新思路,并最后能够将其完美的整合起来达到显著的性能提升。