简介
题目:《Entity Alignment between Knowledge Graphs Using Attribute Embeddings》
来源:AAAI-2019
链接:原文地址
代码:Code和Dataset
研究背景
早期的实体对齐研究基于属性之间的相似性,依赖于用户定义的规则来确定实体之间需要比较的属性。由于不同实体之间可能需要不同的属性来进行比较,所以这种方法容易出现误差。
最近,针对实体对齐任务提出了基于嵌入的模型,它要求将两个KG嵌入到同一个向量空间中,以适应KG嵌入在两个KG之间的实体对齐。但该方法需要大量的种子实体,这在现实使用中难以获取。
本文针对上述的局限性,提出了一种新的嵌入模型,本文的主要贡献如下:
- 提出两个KG之间的实体对齐框架,由谓词对齐模块(predicate alignment module)、嵌入学习模块(embedding learning module)、实体对齐模块(entity alignment module)组成
- 提出一种新的嵌入模型,将实体嵌入和属性嵌入集成在一起,用来学习对于两个KGs的统一嵌入空间
- 在三对KGs上对模型进行评估,就hits@1指数而言,模型优于现有模型50%以上
模型
一个知识图谱 $G$ 由三元组$<h,r,t>$组成,对于 $G_1和G_2$,实体对齐的任务是寻找实体对,其中$<h_1,h_2>$,其中$h_1\in G_1,h_2 \in G_2$ 。其模型主要由三个部分组成:
谓词对齐(predicate alignment)
谓词对齐模块通过使用统一的命名方案重命名两个KG的谓词来合并两个KG,以便为关系嵌入提供统一的向量空间。除了符合命名规范的谓词,如:rdfs:label、geo:wgs84 pos#lat等;还有一些相互匹配的谓词,例如:dbp:bornIn 和yago:wasBornIn 我们就需要统一命名,比如将dbp:bornIn和yago:wasBornIn统一为 :bornIn。
为了找到部分匹配的谓词,作者计算谓词URI的最后部分的编辑距离(例如,bornIn与wasBornIn)并将0.95设置为相似性阈值。
嵌入学习(Embedding Learning)
结构嵌入(Structure Embedding)
作者采用TransE来学习对于实体的结构嵌入。与TransE不同的是,模型希望更关注已对齐的三元组,也就是包含对齐谓词的三元组。模型通过添加权重来实现这一目的。Structure embedding的目标函数 $J_{SE}$ 如下:
$$
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|}
$$
其中$t_r$是有效关系的三元组集合,而$t_r^\prime$是通过随机替换三元组$<h,r,t>$中实体$h$或者$r$形成的损坏样本,即负样本。$T$为合并后的$G_{1_2}$中三元组总数目,$count(r)$为关系$r$出现的次数,$\alpha$为权重,对于对齐的谓词关系,正常情况下,由于在两个KGs中都包含,其占的比例高一些,也就是更希望模型学习对齐的关系。
属性字符嵌入(Attribute Character Embedding)
对于属性字符嵌入,也参考TransE的思想,将谓词 $r$ 解释为从头部实体 $h$ 到属性 $a$ 的转换。但是,相同的属性$a$可以在两个KG中以不同的形式出现,例如50.9989对50.9988888889作为实体的纬度;“Barack Obama”与“Barack Hussein Obama”作为人名等。因此,本文提出使用组合函数对属性值进行编码,并将属性三元组中每个元素的关系定义为$h+r=f_a(a)$。 其中$f_a(a)$是组合函数,$a$是属性值$a={c_1,c_2,\cdots,c_t}$的字符序列。 组合函数将属性值编码为单个向量,并将类似的属性值映射到类似的向量表示。 作者定义了三个组成函数如下:
Sum compositional function (SUM)
思路:简单的求属性值的所有字符的嵌入总和
函数:$f_a(a)\ = c_1+c_2+ \dots +c_t$
问题:包含相同字符不同顺序的属性值会有相同的向量表示,如50.15和15.05将具有相同的向量表示
LSTM-based compositional function (LSTM)
思路:使用LSTM模型将一个字符序列编码为一个向量,将最终隐藏状态作为属性值的向量表示
函数:$f_a(a)\ = f_{lstm}(c_1,c_2,\dots,c_t)$
N-gram-based compositional function (N-gram)
思路:备选方案,使用属性值的n-gram组合的总和
函数:$f_a(a)\ = \ \sum^N_{n=1}(\frac{\sum^t_{i=1}\sum^n_{j=1}c_j}{t-i-1})$
其中N表示n-gram组合中使用的N的最大值N=10,t为属性值的长度,其最小化目标函数$J_{CE}$为:
$$
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 \ }
$$
结构嵌入和属性特征嵌入的联合学习(Joint Learning of Structure Embedding and Attribute Character Embedding)
通过属性字符嵌入 $h_{ce}$ 来帮助结构嵌入 $h_{se}$ 在同一向量空间进行训练,最小目标函数$J_{SIM}$为:
$$
J_{SIM} \ = \ \sum_{h \in G_1 \cup G_2}[1-\cos(h_{ce},h_{se})]
$$
结构嵌入基于实体关系获取实体之间的相似度,属性字符嵌入基于属性值获取实体之间的相似度。结构嵌入和属性特征嵌入联合学习的总体目标函数$J$为:
$$
J = J_{SE}+J_{CE}+J_{SIM}
$$
实体对齐(Entity Alignment)
在经过上述训练过程之后,来自不同KG的相似的实体将会有相似的向量表示,因此可通过下面公式确定潜在的需要对齐的实体:
$$
h_{map}= \arg\max \limits_{h_2 \in G_2} \cos(h_1,h_2)
$$
给定实体$h_1$,计算它与$G_2$中的每个实体时间的相似性,最后$<h_1,h_{maxp}>$就是对齐的实体对,同时其使用了$\beta$来过滤不对齐的实体。
Triple Enrichment via Transitivity Rule
这里使用了一个小 $trick$ ,通过传递关系来丰富三元组。
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补全任务上验证了模型的有效性。模型主要测试了链接预测和三元组分类两个标准任务,在这两个任务中,模型也取得了不错的效果。具体结果如下:
Summary
作者的模型设计很巧妙,将大量的属性三元组充分利用起来,辅助去将不同KG的实体构建到统一向量空间。作者在其中设计很多技巧来优化结果,而且整体来说其将一个比较难的问题充分化解为几个小问题,并在每个小问题上提出创新思路,并最后能够将其完美的整合起来达到显著的性能提升。