论文笔记003-《Entity Alignment between Knowledge Graphs Using Attribute Embeddings》

《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>组成,对于 G 1 和 G 2 G_1和G_2 G1G2,实体对齐的任务是寻找实体对,其中 < h 1 , h 2 > <h1,h2>,其中 h 1 ∈ G 1 , h 2 ∈ G 2 h_1\in G_1,h_2 \in G_2 h1G1,h2G2 。其模型主要由三个部分组成:论文笔记003-《Entity Alignment between Knowledge Graphs Using Attribute Embeddings》_第1张图片

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=trTrtrTrmax(0 , γ+α(f(tr)f(tr)))α=Tcount(r)
  其中 t r t_r tr是有效关系的三元组集合,而 t r ′ t_r^\prime tr是通过随机替换三元组 < 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(ti1i=1tj=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 \ = \ \{ \in G \} \\ f(t_a) \ = \ ||h \ + \ r-f_a(a)|| \\ T_a^\prime \ = \ \{|h^\prime \in E \ \} \cup \ \{|a^\prime \in A \ \} JCE=taTataTamax(0 , γ+α(f(ta)f(ta)))Ta = { <h,r,a>G}f(ta) = h + rfa(a)Ta = { <h,r,a>hE } { <h,r,a>aA }

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 = hG1G2[1cos(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=argh2G2maxcos(h1,h2)
  给定实体 h 1 h_1 h1,计算它与 G 2 G_2 G2中的每个实体时间的相似性,最后 < h 1 , h m a x p > <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。具体的数据统计如下:论文笔记003-《Entity Alignment between Knowledge Graphs Using Attribute Embeddings》_第2张图片

  作者使用hits@k(k=1,10)来评估模型性能,对比了TransE、MTransE、JAPE三种模型,使用30%的对齐实体作为MTransE、JAPE的预对齐种子。在三种组合函数中,N-gram函数的优势较为明显。此外,基于传递规则的三元组丰富模型对结果也有一定的提升。具体结果如下:

论文笔记003-《Entity Alignment between Knowledge Graphs Using Attribute Embeddings》_第3张图片

  为了进一步衡量 attribute character embedding 捕获实体间相似信息的能力,本文设计了基于规则的实体对齐模型。本实验对比了三种不同的模型:以label的字符串相似度作为基础模型;针对数据集特点,在基础模型的基础之上增加了坐标属性(由于只包含LOCATION的实体),以此作为第二个模型;第三个模型是把本文提出的模型作为附加模型,与基础模型相结合。具体结果如下:

论文笔记003-《Entity Alignment between Knowledge Graphs Using Attribute Embeddings》_第4张图片

  本文还在KG补全任务上验证了模型的有效性。模型主要测试了链接预测和三元组分类两个标准任务,在这两个任务中,模型也取得了不错的效果。具体结果如下:

论文笔记003-《Entity Alignment between Knowledge Graphs Using Attribute Embeddings》_第5张图片

5. Summary

  作者的模型设计很巧妙,将大量的属性三元组充分利用起来,辅助去将不同KG的实体构建到统一向量空间。作者在其中设计很多技巧来优化结果,而且整体来说其将一个比较难的问题充分化解为几个小问题,并在每个小问题上提出创新思路,并最后能够将其完美的整合起来达到显著的性能提升。

你可能感兴趣的:(知识图谱,NLP,Paper,nlp,知识图谱,自然语言处理)