更多博客可以关注MyBlog,欢迎大家一起学习交流!
题目:《Entity Alignment between Knowledge Graphs Using Attribute Embeddings》
来源:AAAI-2019
链接:https://people.eng.unimelb.edu.au/jianzhongq/papers/AAAI2019_EntityAlignment.pdf
代码:Code和Dataset
早期的实体对齐研究基于属性之间的相似性,依赖于用户定义的规则来确定实体之间需要比较的属性。由于不同实体之间可能需要不同的属性来进行比较,所以这种方法容易出现误差。
最近,针对实体对齐任务提出了基于嵌入的模型,它要求将两个KG嵌入到同一个向量空间中,以适应KG嵌入在两个KG之间的实体对齐。但该方法需要大量的种子实体,这在现实使用中难以获取。
本文针对上述的局限性,提出了一种新的嵌入模型,本文的主要贡献如下:
一个知识图谱 G G G 由三元组 < h , r , t >
谓词对齐模块通过使用统一的命名方案重命名两个KG的谓词来合并两个KG,以便为关系嵌入提供统一的向量空间。除了符合命名规范的谓词,如:rdfs:label、geo:wgs84 pos#lat等;还有一些相互匹配的谓词,例如:dbp:bornIn 和yago:wasBornIn 我们就需要统一命名,比如将dbp:bornIn和yago:wasBornIn统一为 :bornIn。
为了找到部分匹配的谓词,作者计算谓词URI的最后部分的编辑距离(例如,bornIn与wasBornIn)并将0.95设置为相似性阈值。
作者采用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 >
对于属性字符嵌入,也参考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}的字符序列。 组合函数将属性值编码为单个向量,并将类似的属性值映射到类似的向量表示。 作者定义了三个组成函数如下:
思路:简单的求属性值的所有字符的嵌入总和
函数: 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将具有相同的向量表示
思路:使用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)
思路:备选方案,使用属性值的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 \ = \ \{
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
在经过上述训练过程之后,来自不同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 >
这里使用了一个小 t r i c k trick trick ,通过传递关系来丰富三元组。
本文从 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补全任务上验证了模型的有效性。模型主要测试了链接预测和三元组分类两个标准任务,在这两个任务中,模型也取得了不错的效果。具体结果如下:
作者的模型设计很巧妙,将大量的属性三元组充分利用起来,辅助去将不同KG的实体构建到统一向量空间。作者在其中设计很多技巧来优化结果,而且整体来说其将一个比较难的问题充分化解为几个小问题,并在每个小问题上提出创新思路,并最后能够将其完美的整合起来达到显著的性能提升。