知识图谱实体对齐:基于平移(translation)嵌入的方法

1 导引

在知识图谱领域,最重要的任务之一就是实体对齐 [1](entity alignment, EA)。实体对齐旨在从不同的知识图谱中识别出表示同一个现实对象的实体。如下图所示,知识图谱G1G2(都被虚线框起来)是采自两个大型知识图谱Wikida和DBpedia的小子集。圆角矩形框表示实体,方角矩形表示属性值。圆角矩形之间的箭头代表一个关系谓词(relation predicate),而这就进一步形成了关系元组,如(dbp:Victoria,country,dbp:Australia), 一个圆角矩形和方角矩阵之间的箭头表示一个属性谓词,而这形成一个属性元组,比如(dbp:Victoria,total\_area,237659 km2)

我们可以看到同一个现实实体可能会在两个不同知识图谱中都有其表示(比如Q36687dbp: Victoria)。这两个知识图谱拥有关于这个现实对象互补的信息,G1知识图谱拥有关于其总理的信息,G2拥有其首都的信息。

如果我们能够确定G1中的Q36687G2中的dbp: Victoria指的是同一个现实世界的实体(也即Q36687dbp: Victoria是对齐的实体),那么我们所获取的关于该实体的信息就可以大大增加。所谓G1G2 之间的实体对齐任务即寻找这两个知识图谱中的所有对齐实体。在这个例子里,这里有两个对齐的实体Q36687, dbp: VictoriaQ408,dbp:Australia

形式化地说,我们将知识图谱表示为G=(E,R,T)(为了简单起见,本文暂不考虑属性谓词)。给定两个知识图谱G1=(E1,R1,T1)G2=(E2,R2,T2),知识图谱对齐任务的目标为识别出所有的对齐实体对(e1,e2),e1E1,e2E2,这里e1e2表示的是同一个真实世界的实体(即e1e2是对齐的实体)。

一些过于传统的知识图谱实体对齐方法(如基于相似度的方法)我们就不再叙述了,目前主流的都是基于embedding的知识图谱实体对齐方法。基于embedding的知识图谱实体对齐框架如下:

可见基于embedding的知识图谱实体对齐框架由三个部分组成:embedding模块,alignment模块,inference模块。我们常常将embedding模块alignment模块的损失加起来,然后交替或共同训练。这两个模块一起构成了知识图谱实体对齐中的training模块。

知识图谱embedding模块负责学习实体和关系的表征(常常是低维的),也即它们的embeddings,常常会利用到一下四种信息:知识图谱的结构(即原始知识图谱数据中的关系元组),关系谓词,属性谓词和数性值(属性谓词和属性值本文暂不讨论)。而其嵌入方法包括基于平移的(translation-based)和基于GNN的(GNN-based),我们这篇博客介绍都是基于平移嵌入方法的,基于GNN的我们留在下一篇博客介绍。

下面我们来看alignment模块。由于embedding模块独立地学习知识图谱的emebddings,这使得G1G2的embeddings落入到不同的向量空间中。而alignment模块旨在将两个知识图谱的embeddings统一(unify)到同样的向量空间中,这样就能够识别出对齐的实体了,而这个统一操作也是知识图谱对齐最大的挑战。这里需要注意是,有些基于GNN的方法都可能在embedding阶段中进行共享模型权重之类的操作使二者的embeddings尽可能接近,因此embeddings模块事实上也可能完成了一些对齐功能。

这类似于NLP中对跨语言词向量的对齐操作,即使用一个线性变换W将不同embedding空间中的向量映射到一个统一的embedding空间中[2]

如上图所示,(A)为两个不同的词向量分布,红色的英语单词由X表示,蓝色的意大利单词由Y表示,我们想要进行翻译/对齐(在意大利语里面,gatto意为“cat”,profondo意为“deep”,felino意为“feline”,“auto”意为“car”)。每一个点代表词向量空间中的一个单词,点的大小和单词在训练语料中出现的频率成正比。(B)意为学习一个旋转矩阵W将两个分布大致地对齐。

在知识图谱对齐的过程中经常会使用一个手工对齐好的实体或关系谓词集合做为引子,我们把这个叫做种子对齐集合(seed alignments)。种子对齐集合将会被做为输入特征来训练alignment模块,最常用的方法就是使用一个对齐好的实体集合来做种子S={(e1,e2)e1E1,e2E2,e1e2}。这个种子集合由实体对(e1,e2)组成,这里e1E1中的实体,e2E2中的实体。种子集合被用来计算alignment模块的损失函数以学习一个统一的(unfied)向量空间,然后我们就能够识别出更多潜在的对齐实体。一个典型的损失函数可以被定义如下的Hinge loss形式:

L=(e1,e2)S(e1,e2)Smax(0,[γ+falign(e1,e2)falign(e1,e2)])

这里γ是间隔超参数。上面的损失函数被设计来最小化种子对齐集合S中实体间的距离,最大化负例集合S中实体对(e1,e2,)的距离,这里的负样本生成的手段为将种子实体对中的一个实体替换为随机实体。这里,实体对间的距离由falign计算,这个函数被称为alignment score function。

当然,需要种子对齐集合(锚点)的对齐方式我们称为有监督对齐,而无监督对齐(比如采用GAN[1])则可不事先准备种子集合,我们这里先介绍需要种子对齐集合的方法。

若按照所要对齐的知识图谱的类型划分,则可包括跨语言知识图谱[3][4][5][6]、多视角实体相关信息知识图谱[7][8],和相似领域且存在信息重叠的知识图谱[9][10]

2 基于平移(translation)嵌入的方法

2.1 MTransE

论文[3]是第一个被提出的基于平移的实体对齐模型。它的embedding模块使用TransE将各个知识图谱的实体与关系谓词嵌入不同的embedding空间。为了使这些embeddings都落入到一个统一的空间,它的对齐模块会最小化alignment score function的和(对所有的种子元组集合)来进行实体与关系的对齐,如下所示:

L=(tr1,tr2)Stfalign(tr1,tr2)

这里St是来自G1G2的种子元组集合(注意不同于之前的种子实体集合,除了实体之外还包括关系谓词),falign(tr1,tr2)是alignment score function。注意,不同于我们在前面的第一部分的知识图谱对齐框架只计算实体的相似程度, 我们前面提到的alignment score function计算两个元组tr1(h1,r1,t1)G1tr2(h1,r1,t1)G2的相似程度。为了计算align score,MTranseE有三种策略来进行跨知识图谱转换(cross-KG transition),包括基于距离的轴校准(distance-based axis calibration)和线性变换等。根据作者的实验,基于线性变换的策略具有最佳的表现,该策略学习了一个从G1G2的emebdding空间的线性变换,使用下列的alignment score function:

falign(tr1,tr2)=Mijeh1h2+Mijrr1r2+Mijet1t2

这里MijeMijr分别为作用于实体和关系embeddings的线性变换。最小化falign会最小化变换之后的G1的实体/关系谓词和G2的实体/关系谓词之间的距离,使这两个知识图谱的embeddings落入到同一个向量空间。

2.2 IPTransE

在embedding模块,IPTransE[10]首先用TransE的扩展PtransE独立学习了G1G2的embeddings。PTransE不同于TransE,它能够考虑实体之间的路径,从而对间接连接的实体建模(这里的路径由在它们之间形成平移的关系谓词决定)。

在alignment模块, IPTranseE也使用了多种策略完成在G1G2的转换,包括基于平移的,基于线性变换的和基于参数共享的。
基于平移的策略将平移的思想引入跨知识图谱对齐领域,它将对齐视为一个来自G1的种子实体集合E1和来自G2的种子实体集合E2之间的特殊的关系谓词r(ε1ϵ2)。关于种子实体的alignment score function定义如下:

falign (e1,e2)=e1+r(E1E2)e2

这里e1e2是实体e1E1e2E2的emebddings。目标函数则是嵌入模块PTransE的损失函数和对齐模块的损失函数falign的加权和。

而基于线性变换的策略则学习一个变换矩阵M(E1E2),该矩阵使两个对齐实体互相接近,其采用的alignment score function如下所示:

falign (e1,e2)=M(E1E2)e1e2

而参数共享策略会迫使e1=e2,这表示对齐的实体共享相同的embeddings,因此在两个种子实体上计算falign总是得到0,此时目标函数可以规约到PTranE的损失函数。共享策略展示了在三种策略中最佳的emebdding联合学习效果。

在训练过程中,IPTransE采用了bootstraping策略并有一软一硬两种策略来将新对齐的实体添加到种子对齐集合。在硬策略中(也是通常所使用的),将最新对齐的实体被直接加入到种子对齐集合中,而这可能导致错误的传播;在软策略中,新对齐的实体会被分配一个置信分数来缓解错误传播。这里的置信分数对应对齐实体之间的embedding距离,它在具体实现中将会做为损失项添加到目标函数中。

2.3 BootEA

BootEA[9]方法将实体对齐建模为一对一的分类问题,实体所关联到的另一个实体被视为其标签。它会从有标签数据(即seed entity alignments)和无标签数据(即predicated aligned entities)进行bootstrapping采样迭代地学习分类器。它的embedding模块采用TransE中的score function,此处不再赘述。不过不同于传统的知识图谱对齐方法,它的alignment模块是一个一对一的分类器。该模块使用在G1的实体分布和G2的预测类分布(即对齐实体)之间的交叉熵损失函数。所有在种子实体集合S中的实体对e1e2会被代入到下列等式中计算交叉熵损失:

La=e1E1e2E2ϕe1(e2)logπ(e2e1)

合理ϕe1()是一个计算e1标签分布的函数。如果e1被标注为e2,标签分布ϕe1()会将其所有概率质量聚集到e2,即ϕe1(e2)=1。如果e1没有被标注,则ϕe1() 是均匀分布。π() 是一个给定e1E1,从E2中预测对齐实体的分类器。BootEA的整体损失函数E=Le+β2La,这里β2是一个平衡超参数,Le是embedding模块的损失。

2.4 NAEA

NAEA[5]也将实体对齐形式化为了一个一对一分类问题,但是将基于平移的范式和基于GAT(Graph Attention Network, 图注意力网络)的范式进行了结合。具体来说,NAEA除了关系层次的信息之外还嵌入了邻居层次的信息。其邻居信息的嵌入是通过attention机制对其邻居的emebddings进行聚合来完成的。这里将其实体w在邻居层次的表征和在关系层面的表征分别记为Ne(e)Nr(r)。其alignment模块和NAEA类似,也使用了G1实体分布和G2实体分布之间的交叉熵损失,如下图所示:

La=eiE1ejE2ϕe1(e2)logπ(ejei)

这里ϕe1(e2)和BootEA相似,不同之处在于其分类器π(ej|ei)定义如下:

π(ejei)=β3σ(sim(Ne(ei),Ne(ej)))+(1β3)σ(sim(ei,ej))

这里sim()是余弦相似度,β3是一个平衡超参数。

2.5 TransEdge

TransEdge[11]为了解决TransE的缺点,在embedding模块中提出了考虑了关系环境(关系的头节点和尾节点)的平移嵌入模型。举个例子,
director(Steve Jobs,director,Apple)(James Cameron,director,Avator) 这两个不同的关系元组中就拥有不同的含义,因此考虑关系的环境信息是值得的。这个模型将关系谓词的环境embebddings(文章中称之为edge embeddings)视为头实体到尾实体的平移。

它的alignment模块使用参数共享策略来统一两个不同的知识图谱,也即迫使在种子实体集合中的实体对拥有同样的embedding。TransEdge使用bootstrapping策略迭代地选择可能对齐的新实体加入(表示为D={(e1,e2)E1×E2cos(e1,e2)>s}, s为相似度阈值),但由于可能产生错误,故在每轮迭代中新加入的对齐实体并没有使用参数共享处理。为了使新对齐的实体在emebdding空间中更接近,论文添加了一个基于新对齐实体集合D中的emebdding距离的损失项:

L=(e1,e2)De1e2

参考

[1] Zhang R, Trisedya B D, Li M, et al. A benchmark and comprehensive survey on knowledge graph entity alignment via representation learning[J]. The VLDB Journal, 2022: 1-26.

[2] Alexis Conneau, Guillaume Lample, Marc’Aurelio Ranzato, Ludovic Denoyer, and Hervé Jégou. 2018. Word Translation Without Parallel Data. Proceedings of ICLR.

[3] Muhao Chen, Yingtao Tian, Mohan Yang, and Carlo Zaniolo. 2017. Multilingual Knowledge Graph Embeddings for Cross-lingual Knowledge Alignment. In Proceedings of IJCAI. 1511–1517.

[4] Wu Y, Liu X, Feng Y, Wang Z, Yan R, Zhao D (2019a) Relation-aware entity alignment for heterogeneous knowledge graphs. In: IJCAI 2019

[5] Zhu Q, Zhou X, Wu J, et al. Neighborhood-Aware Attentional Representation for Multilingual Knowledge Graphs[C]//IJCAI 2019: 1943-1949.

[6] Pei S, Yu L, Yu G, et al. Rea: Robust cross-lingual entity alignment between knowledge graphs[C]//Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2020: 2175-2184.

[7] Cao Y, Liu Z, Li C, Liu Z, Li J, Chua TS (2019) Multi-channel graph neural network for entity alignment. In: ACL 2019

[8] Qingheng Zhang, Zequn Sun, Wei Hu, Muhao Chen, Lingbing Guo, and Yuzhong Qu. 2019. Multi-view knowledge graph embedding for entity alignment. In Proceedings of IJCAI. AAAI Press, 5429–5435.

[9] (2018) Bootstrapping entity alignment with knowledge graph embedding. In: IJCAI 2018

[10] Zhu H, Xie R, Liu Z, et al. Iterative entity alignment via knowledge embeddings[C]//Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI). 2017.

[11] Sun Z, Huang J, Hu W, et al. Transedge: Translating relation-contextualized embeddings for knowledge graphs[C]//International Semantic Web Conference. Springer, Cham, 2019: 612-629.

posted @   orion-orion  阅读(3373)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
点击右上角即可分享
微信分享提示