Rui Zhang, Bayu Distiawan Trisedya ,Miao Li, Yong Jiang Jianzhong Qi
VLDB Journal ( 2022 )
过去几年里,由于知识库在人工智能应用中的重要作用,学术界和工业界对知识库的兴趣呈指数级增长。实体对齐是丰富知识库的一项重要任务。本文提供了使用表示学习新方法的代表性实体对齐技术的综合教程式综述。我们提出了一个框架来捕获这些技术的关键特点,提出一个解决了现有基准数据集局限性的基准,并使用我们的基准进行广泛的实验。该框架清晰地展示了各种技术的工作原理。实验产生了关于技术的实验性能以及各种因素如何影响性能的重要结果。以前的工作没有强调的一个重要观察是,充分利用属性三元组和关系谓词作为特征的技术作为赢家脱颖而出。我们也是第一个研究如何在完整的 Wikidata 和 Freebase 等大规模知识图谱上执行实体对齐的问题(在实验 5 中)。
关键词 知识图谱 · 实体对齐 · 知识图谱对齐 · 知识库 · 表示学习 · 深度学习 · 嵌入 · 图神经网络 · 图卷积网络
知 识 库 知识库 知识库是一种用于存储复杂的结构化和非结构化信息(通常是事实或知识)的技术。 知 识 图 谱 知识图谱 知识图谱(KG)是一种以图结构或拓扑为模型的知识库,是目前最流行的知识库形式,目前几乎成为知识库的同义词。由于其在涉及基于知识和事实的推理的系统中的重要性,KG经历了几十年的持续研究和发展。举例来说,KG 有开源的,例如 DBpedia [1]、Freebase [3]、YAGO [19],也有专有的,例如由 Google [11]和 Microsoft [13]开发的。过去几年里,由于 KG 在自然语言处理(包括对话系统/聊天机器人、问答句子生成等)[61 , 71 , 74 , 75],搜索引擎[23],推荐系统[79]和信息抽取[12 , 52]等 AI 应用中的重要作用,学术界和工业界对 KG 的兴趣呈爆炸式增长。
KGs 最重要的任务之一是 实 体 对 齐 实体对齐 实体对齐(EA),其目的是从不同 KGs 中识别代表相同现实世界实体的多个实体。EA 使得用另一个互补的 KG 来丰富现有KG成为可能,从而提高 KG 的质量和覆盖范围,这对于下游应用至关重要。不同的 KG 可能通过不同的来源和方法创建,因此,即使是代表相同现实世界实体的多个实体,在不同的 KG 中也可能有不同的表示,准确识别所有这些 对 齐 的 实 体 对齐的实体 对齐的实体很有挑战性。图 1显示了对两个 KG G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2 (每个都在一个虚线矩形中)进行EA 的小型示例,它们分别是两个真实的公开 KG Wikidata 和 DBpedia 的微小子集。圆角矩形代表实体,矩形代表属性值。圆角矩形之间的箭头表示关系谓词,它构成 关 系 三 元 组 关系三元组 关系三元组,例如 (dbp:Victoria, country, dbp:Australia) \verb+(dbp:Victoria, country, dbp:Australia)+ (dbp:Victoria, country, dbp:Australia)。圆角矩形和矩形之间的箭头表示属性谓词,它形成 属 性 三 元 组 属性三元组 属性三元组,例如KaTeX parse error: Undefined control sequence: \hbox at position 44: …rea, “237,659 +\̲h̲b̲o̲x̲ ̲{km}^2 ”)。我们可以看到,同一个真实世界的实体在两个 KG 中可能有不同的表面形式,例如 Q36687 \verb+Q36687+ Q36687和 dbp:Victoria \verb+dbp:Victoria+ dbp:Victoria。两个 KG 包含关于这个实体的互补信息: G 1 \mathcal {G}_1 G1有关于其省长(premier)的信息, G 2 \mathcal {G}_2 G2有关于其首府(capital)的信息。如果我们可以确定 G 1 \mathcal {G}_1 G1中的 Q36687 \verb+Q36687+ Q36687与 G 2 \mathcal {G}_2 G2中的 dbp:Victoria \verb+dbp:Victoria+ dbp:Victoria指向相同的真实世界实体,即 Q36687 \verb+Q36687+ Q36687和 dbp:Victoria \verb+dbp:Victoria+ dbp:Victoria是 对 齐 的 实 体 对齐的实体 对齐的实体,则可以丰富有关该实体的信息。 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2之间的EA是从两个 KG 中找到所有对齐的实体对。在这个例子中,有两对对齐的实体 ⟨ Q36687 , dbp:Victoria ⟩ \langle \texttt {Q36687}, \texttt {dbp:Victoria}\rangle ⟨Q36687,dbp:Victoria⟩和 ⟨ Q408 , dbp:Australia ⟩ \langle \texttt {Q408}, \texttt {dbp:Australia} \rangle ⟨Q408,dbp:Australia⟩。
图1 EA的一个例子
传统的 EA 技术使用数据挖掘或数据库方法(通常是启发式方法)来识别相似的实体。这种方法的准确率是有限的,并且启发式方法难以推广。在过去的几年中,大量的 EA 研究采用深度学习的新方法来学习 KG 的有效向量表示(即嵌入),然后基于学到的表示执行 EA,从而获得了更好的准确率。它们还具有更好的泛化性,因为它们很少依赖特定的启发式算法。在本文的其余部分,除非另有明确说明, 基 于 嵌 入 的 E A 技 术 基于嵌入的 EA 技术 基于嵌入的EA技术或简称为 E A 技 术 EA 技术 EA技术,我们指的都是采用这种新的表示学习方法而不是传统方法。最近有一些旨在对 EA 技术进行基准测试的实验研究 [49 , 81 , 82]。他们对基于嵌入的技术的框架进行了高水平的讨论,并总结了很多 EA 论文,但他们的重点是实验比较,没有对每种技术进行自包含的解释。此外,这些论文中讨论的框架缺少重要的机制,例如KG语义信息(例如,关系谓词、属性谓词和属性值的字符串)的使用 ,使得这些框架不适用于许多 EA 技术,尤其是最新的技术。与上述研究相比,本文填补了这些空白,做出了以下贡献:
我们提供了一个全面的 教 程 式 教程式 教程式综述,以帮助读者了解每种技术的工作原理,而无需参考每篇完整论文。
我们提供了一个全面的框架,可以容纳几乎所有基于嵌入的 EA 技术,捕获它们的关键组件、策略和特点。我们还根据该框架对不同的技术进行了比较分析。
我们识别出现有基准数据集的显著局限性,例如双射、缺乏名称多样性和小规模(详见第 7.1 节)。为了解决这些局限,我们设计了一个基准1补充了现有的基准数据集。此外,我们进行了广泛的实验研究,在我们的数据集上比较了最先进技术的性能。
本文的其余部分安排如下。第2节提供了预备知识,包括问题表述和对传统 EA 技术的总结。第3节介绍我们的 EA 技术框架。第4节介绍 KG 结构嵌入模型,主要是 基 于 平 移 基于平移 基于平移和 基 于 图 神 经 网 络 基于图神经网络 基于图神经网络的嵌入,它们是基于嵌入的 EA 技术的基础。第5节和第6节分别综述了基于两种主要 KG 结构嵌入的最具代表性的 EA 技术。第7节讨论现有数据集的局限性,介绍我们提出的新数据集,并报告使用该数据集进行的广泛实验研究。第8节总结了论文并讨论了未来的方向。
符号和术语 不同文献中使用了不同的符号和术语约定。在本文中,我们在标准符号和术语约定方面做出了巨大努力,以提供清晰性并与尽可能与现有论文保持一致。随着各个术语的引入,这些术语将贯穿整篇论文,我们的符号约定中常用的符号总结在表1中。
我们使用粗体小写(例如 e \boldsymbol{e} e)、粗体大写(例如 M \boldsymbol{M} M)和数学书法字体(例如 E \mathcal {E} E)分别表示向量、矩阵和集合。
在文献中,一篇论文提出的方法可能用不同的术语引用,例如模型(model)、方法(approach)、技术(technique)、算法(algorithm)、方法(method)等;我们在本文中主要使用术语 技 术 技术 技术,而当语义清晰时可能会使用其他术语。
我们首先引入一些符号。一个KG表示为 G = ( E , R , A , V , T ) \mathcal {G}=(\mathcal {E}, \mathcal {R}, \mathcal {A}, \mathcal {V}, \mathcal {T}) G=(E,R,A,V,T),由一个实体集合 E \mathcal {E} E、一个关系谓词集合 R \mathcal {R} R、一个属性谓词集合 A \mathcal {A} A和一个属性值集合 V \mathcal {V} V组成,以一个三元组集合 T \mathcal {T} T的形式表示知识。三元组有两种类型,形式为 ( h , r , t ) ( h , r , t ) (h,r,t)的 关 系 三 元 组 关系三元组 关系三元组(用 T r \mathcal {T}_{r} Tr表示)和形式为 ( e , a , v ) ( e , a , v ) (e,a,v)的 属 性 三 元 组 属性三元组 属性三元组(用 T a \mathcal {T}_{a} Ta表示); T = T r ∪ T a \mathcal {T} = \mathcal {T}_{r} \cup \mathcal {T}_{a} T=Tr∪Ta。关系三元组 ( h , r , t ) ( h , r , t ) (h,r,t)表示头实体 h h h和尾实体 t t t之间存在关系谓词 r r r,其中 h , t ∈ E h,t \in \mathcal {E} h,t∈E, r ∈ R r \in \mathcal {R} r∈R。以图 1中的三元组 (dbp:Victoria, country, dbp:Australia) \verb+(dbp:Victoria, country, dbp:Australia)+ (dbp:Victoria, country, dbp:Australia)为例。这里, dbp:Victoria \texttt {dbp:Victoria} dbp:Victoria和 dbp:Australia \texttt {dbp:Australia} dbp:Australia分别是头实体和尾实体, country \texttt {country} country是关系谓词。属性三元组 ( e , a , v ) ( e , a , v ) (e,a,v)表示实体 e ∈ E e \in \mathcal {E} e∈E的属性(谓词) a ∈ A a \in \mathcal {A} a∈A的属性值为 v ∈ V v \in \mathcal {V} v∈V。例如,在KaTeX parse error: Undefined control sequence: \hbox at position 43: …area, “237,659+\̲h̲b̲o̲x̲ ̲{km}^2”)中,KaTeX parse error: Expected '}', got '_' at position 15: \texttt {total_̲area}是属性谓词,KaTeX parse error: Undefined control sequence: \hbox at position 20: …ttt {“237,659 }\̲h̲b̲o̲x̲ ̲{km}^{2}”是属性值。
EA 问题表述如下。
定义 1 ( 实 体 对 齐 ( E A ) 实体对齐 (EA) 实体对齐(EA)) 给定两个 KG G 1 = ( E 1 , R 1 , A 1 , V 1 , T 1 ) \mathcal {G}_1=(\mathcal {E}_1, \mathcal {R}_1, \mathcal {A}_1, \mathcal {V}_1, \mathcal {T}_1) G1=(E1,R1,A1,V1,T1)和 G 2 = ( E 2 , R 2 , A 2 , V 2 , T 2 ) \mathcal {G}_2=(\mathcal {E}_2, \mathcal {R}_2, \mathcal {A}_2, \mathcal {V}_2, \mathcal {T }_2) G2=(E2,R2,A2,V2,T2),EA 旨在识别每一对实体 ( e 1 , e 2 ) , e 1 ∈ E 1 , e 2 ∈ E 2 (e_1, e_2), e_1 \in \mathcal {E}_1, e_2 \in \mathcal {E}_2 (e1,e2),e1∈E1,e2∈E2,其中 e 1 e_1 e1和 e 2 e_2 e2表示相同的现实世界实体(即, e 1 e_1 e1和 e 2 e_2 e2是对齐的实体)。 □ \square □
相关问题 已经有类似于 KGs 上 EA 的各种问题的研究。
两个源都是结构化的。 实 体 匹 配 实体匹配 实体匹配[39 , 55]、 对 象 识 别 对象识别 对象识别[50]和 记 录 链 接 记录链接 记录链接[14]旨在对齐来自两个不同关系数据库的实体,其中两个数据源都是结构化的。这些问题的解决方案大多是寻找内容相似的数据库记录。
一个源是半结构化的,另一个是非结构化的。 实 体 消 解 实体消解 实体消解[2]和 实 体 链 接 实体链接 实体链接[26]旨在将来自非结构化自然句子的实体提及(mention)与半结构化 KG 中的相应实体进行匹配。KG 是半结构化的,因为它由图(结构化)、属性和谓词组成,这些属性和谓词采用自然语言或其他非预定义类型(非结构化)的形式。这些问题的解决方案主要是找到与自然句子中识别出的命名实体内容相似的KG实体。
相比之下,KG 上的 EA 将来自两个不同 KG 的实体对齐,这两个 KG 都是半结构化的。
EA的传统技术 KG上的EA的传统技术中,一些专注于通过不同实体相似性度量来提高实体匹配的 有 效 性 有效性 有效性。例如,RDF-AI [15]使用基于序列对齐、词关系和分类相似度的模糊字符串匹配。SILK [22]提供了链接规范语言,它允许用户指定相似性度量方法来比较某些属性。LD-Mapper [41]结合了字符串相似度和实体最近邻。PARIS [44]包括模式匹配(例如,实体的类和子类)以计算实体相似度。其他一些传统的 EA 技术侧重于实体匹配的 效 率 效率 效率,例如,LIMES [34]使用聚类来减少相似度计算量。
如上所述,传统的 EA 技术通常使用数据挖掘或数据库方法(通常是启发式方法)来识别相似实体。它们很难实现高准确率和泛化。
在图2中,我们为基于嵌入的EA技术给出了一个通用框架,以捕获关键组件和策略。用虚线绘制的组件是可选的。基于嵌入的 EA 方法通常由三个组件组成, 嵌 入 模 块 嵌入模块 嵌入模块、 对 齐 模 块 对齐模块 对齐模块和 推 理 模 块 推理模块 推理模块。
嵌入模块和对齐模块可以交替或联合训练,这两者共同构成了EA的 训 练 模 块 训练模块 训练模块。
嵌入模块 嵌入模块旨在学习(通常是低维)向量表示,即实体的 嵌 入 嵌入 嵌入。有四种类型的原始信息可以作为嵌入模块的输入特征: K G 结 构 KG 结构 KG结构(在原始 KG 数据中以关系三元组的形式存在)、 关 系 谓 词 关系谓词 关系谓词、 属 性 谓 词 属性谓词 属性谓词和 属 性 值 属性值 属性值(属性谓词和属性值在图 2中合并为一个组件“属性”,在表2中是第 5 列 )。嵌入模块可以生成实体、实体对、关系谓词、属性等的嵌入作为输出;我们将输入特征“编码”到目标嵌入的过程称为 K G 嵌 入 KG 嵌入 KG嵌入。在所有可能的输入特征中,KG 结构是最关键的一个。嵌入KG结构的机器学习模型,我们简称为 K G 结 构 嵌 入 模 型 KG结构嵌入模型 KG结构嵌入模型,是 EA 技术的骨架。可以选择将其他类型的信息添加到 KG 结构嵌入模型中,以创建更复杂的 KG 嵌入。请注意,其他类型的信息(即关系谓词、属性谓词和属性值)通常采用字符串的形式,因此包含丰富的语义信息,正如我们将看到的,这可能极大地有利于 EA。
KG 结构嵌入模型主要遵循基于平移和基于 GNN 的两种范式之一。基于平移的模型主要利用关系三元组,而基于 GNN 的模型主要利用实体的邻域。如何在基于平移的模型中使用关系三元组,以及如何在基于 GNN 的模型中使用实体邻域,将分别在4.1和4.2节详细说明。
关系谓词和属性谓词可以编码为分类值或字符串。属性值通常编码为字符串。
对齐模块 嵌入模块分别计算每个KG的嵌入,使得 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2的嵌入落入不同的向量空间。对齐模块旨在将两个 KG 的嵌入统一到同一个向量空间中,以便可以识别出对齐的实体,这是EA的一个重大挑战。EA 技术通常使用一组手动对齐的实体、关系谓词或属性,称为 种 子 对 齐 种子对齐 种子对齐。种子对齐作为输入特征来训练对齐模块。最常见的方法是使用一组种子 实 体 实体 实体对齐$\mathcal {S} = \left{ (e_1,e_2)|e_1 \in \mathcal {E}_1, e_2 \in \mathcal {E}_2, e_1 \equiv e_2\right} 。 这 些 种 子 由 实 体 对 。这些种子由实体对 。这些种子由实体对(e_1, e_2) 组 成 , 其 中 组成,其中 组成,其中e_1 是 是 是\mathcal {E}_1 中 的 实 体 , 而 中的实体,而 中的实体,而e_2 是 是 是\mathcal {E}_2$中的实体。种子用于计算嵌入模块的损失函数,以学习统一的向量空间。损失函数定义的典型示例如下:
L = ∑ ( e 1 , e 2 ) ∈ S ∑ ( e 1 ′ , e 2 ′ ) ∈ S ′ max ( 0 , [ γ + f align ( e 1 , e 2 ) − f align ( e 1 ′ , e 2 ′ ) ] ) \mathcal {L}= \sum_{\left( e_1, e_2\right) \in \mathcal {S}} \sum \limits _{(e_1^\prime , e_2^\prime )\in \mathcal {S}^\prime } \max \Big (0, \big [\gamma + f_\text {align}(\boldsymbol{e}_1 ,\boldsymbol{e}_2)-f_\text {align}(\boldsymbol{e}_1^\prime ,\boldsymbol{e}_2^\prime )\big ]\Big) L=(e1,e2)∈S∑(e1′,e2′)∈S′∑max(0,[γ+falign(e1,e2)−falign(e1′,e2′)])
其中 γ > 0 \gamma >0 γ>0是边界(margin)超参数。上述损失函数旨在最小化种子实体对齐 S \mathcal {S} S中的实体对之间的距离,并最大化破坏的种子对齐 S ′ \mathcal {S}^\prime S′中实体对之间的距离 ( e 1 ′ , e 2 ′ ) (e_1^\prime, e_2^\prime) (e1′,e2′)。破坏的种子对齐是通过用随机实体替换种子对齐中的实体而获得的负样本。这里,一对实体之间的距离由 f align f_\text {align} falign计算,我们称之为 对 齐 评 分 函 数 对齐评分函数 对齐评分函数。它表明两个实体的(不)相似程度;两个实体越对齐(即彼此相似), f align f_\text {align} falign越小。最常用的对齐评分函数是余弦相似度、 L 1 L_1 L1范数(即曼哈顿距离)和 L 2 L_2 L2范数(即欧几里得距离)。交换这些指标,我们并没有在实验中观察到性能上有多大差异(还要注意 L 2 L_2 L2范数和余弦相似度是等价的)。一些技术自定义对齐评分函数以服务于更复杂的优化目标,例如 Wang 等人[59]。函数 max ( 0 , ) \max (0,) max(0,)确保不会将任何负边界损失值添加到总损失中。一些技术可能会利用其他类型的种子对齐,包括 种 子 关 系 谓 词 对 齐 种子关系谓词对齐 种子关系谓词对齐、 种 子 属 性 谓 词 对 齐 种子属性谓词对齐 种子属性谓词对齐和 种 子 属 性 值 对 齐 种子属性值对齐 种子属性值对齐(种子属性谓词对齐和种子属性值对齐在图 2中被合并为一个组件“种子属性对齐” )。需要关系谓词和属性谓词对齐的原因是,相同的谓词可能以不同的表面形式存储,例如,一个 KG 有属性谓词 birth_date \verb+birth_date+ birth_date,而另一个 KG 有属性谓词 date_of_birth \verb+date_of_birth+ date_of_birth。属性值对齐的需求是类似的。
请注意,与嵌入模块一样,对齐模块也可以使用除了种子对齐之外的四种原始信息(KG 结构、关系谓词、属性谓词和属性值)作为特征。一些 EA 技术可能使用无监督的方法来训练对齐模块,例如,AttrE [51]利用属性三元组来学习统一的属性向量空间,不需要手动标记种子关系谓词/属性对齐,因此我们给图 2中关系谓词对齐和属性对齐的“种子”加上括号 。不过,至少需要一个输入特征来训练对齐模块。
总之,对齐模块的输入特征可以是原始信息,例如 KG 结构、关系谓词和属性,以及手动或自动创建的实体/关系/属性对齐。
当有限的种子对齐可用时,引导(bootstrapping)是一种常见的策略。想法是,EA推理模块产生的那些对齐的实体/属性/关系作为训练数据反馈给对齐模块,这个过程可能会迭代多次。请注意,创建种子需要人力,这很昂贵。引导可能有助于减少人力,但代价是更多的计算,因为它会多次迭代训练。从表 2 的总结中,我们可以看到引导在基于平移的技术中非常流行,但在基于 GNN 的技术中并不流行。15 种基于平移的技术中有 8 种利用了引导,但 17 种基于 GNN 的技术中只有一种利用了引导。原因是与基于平移的技术相比,基于 GNN 的技术更擅长捕获图中实体之间的关系。因此,基于平移的技术使用引导来提高它们捕获实体关系的能力。然而,我们相信引导也有助于基于 GNN 的技术,这可能会在未来的工作中进行研究。
EA 推理模块 该模块旨在预测来自 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2的一对实体是否对齐。在实践中,几乎所有技术都使用以下替代目标:给定来自 G 1 \mathcal {G}_1 G1的目标实体 e 1 e_1 e1,EA 推理模块旨在预测来自 G 2 \mathcal {G}_2 G2与 e 1 e_1 e1对齐的实体 e 2 e_2 e2;我们可以称 e 1 e_1 e1(或 e 2 e_2 e2) 为 e 2 e_2 e2(或 e 1 e_1 e1) 的对齐实体或对应实体。如果应用了相似性阈值,则对齐实体可能不存在。
推理模块最常用的方法是 最 近 邻 搜 索 最近邻搜索 最近邻搜索(NNS),它根据从 EA 训练模块获得的嵌入从 G 2 \mathcal {G}_2 G2中找到与 e 1 e_1 e1最相似的实体。常用的相似度度量包括余弦相似度、欧几里得距离和曼哈顿距离。稍后在描述某个技术时,如果推理模块使用这种最常见的 NNS 方法,我们可能会省略它。
NNS 推理方法可能会导致 多 对 一 对 齐 多对一对齐 多对一对齐,即来自一个 KG 的两个不同实体与来自另一个 KG 的相同实体对齐。为了避免这种情况,一些研究施加了一对一约束。
讨论 表 2 根据六个关键特征(第一行)总结了代表性 EA 技术:KG 结构嵌入、KG 结构、关系谓词用作输入特征的方式、属性用作输入特征的方式、对齐模块的输入特征和是否使用引导。第 2 列记录了嵌入模块的范式。第 3 到 5 列描述了所有原始输入特征。第 6 列描述了对齐模块的输入特征。早期技术使用较少种类的信息。例如,MTransE [7]仅使用 KG 结构作为嵌入模块的特征,种子关系三元组对齐作为对齐模块特征。较新的技术,例如 AttrE [51]和 MultiKE [80]使用所有四种类型的原始信息作为训练模块的输入特征,在对齐模块中也使用了各种类型的特征。正如我们的实验研究所示(参见表 5),使用更多类型输入特征的技术往往具有更好的性能。
一些研究,尤其是早期的研究,将一项技术是否可以在多语言 KG 上或仅在单语 KG 上执行 EA 视为重要的区别。我们认为这不是 EA 技术的基本特点。原因是,最近提出的技术利用了 KG 的语义信息,例如关系谓词、属性谓词和属性值的字符串(参见表 2),我们可以将语义信息自动翻译成目标语言,以便两个 KG 使用相同的语言,然后对单语 KG 进行 EA,例如 JarKA [6]。我们的实验研究(表 7)证实了这一点。
我们回顾 KG 结构嵌入的两种范式,它们是基于嵌入的 EA 技术的基础。
基于平移的嵌入模型的本质是将 KG 中的关系视为头尾实体之间在向量空间中的“平移”运算。
TransE [4]是第一个基于平移的嵌入模型,它将实体和关系都嵌入到一个统一的(通常是低维的)向量空间中。主要思想是,如果我们能找到一套完美的向量表示,即实体和关系谓词的 嵌 入 嵌入 嵌入,那么对于任何关系三元组 ( h , r , t ) ( h , r , t ) (h,r,t),对应的嵌入 h \boldsymbol{h} h, r \boldsymbol{r} r和 t \boldsymbol{t} t应该满足 h + r = t \boldsymbol{h}+\boldsymbol{r} = \boldsymbol{t} h+r=t的向量平移运算。例如, Victoria \verb+Victoria+ Victoria的嵌入加上 capital \verb+capital+ capital应该等于 Melbourne \verb+Melbourne+ Melbourne的嵌入。换句话说,如果我们定义以下函数
f triple ( h , r , t ) = ∣ ∣ h + r − t ∣ ∣ f_\text {triple}(h,r,t)=||\boldsymbol{h}+\boldsymbol{r}-\boldsymbol{t}|| ftriple(h,r,t)=∣∣h+r−t∣∣
那么理想情况下,对于所有真实关系三元组的嵌入,该函数的值应该为 0。公式2被称为 三 元 组 评 分 函 数 三元组评分函数 三元组评分函数,它衡量关系三元组的合理性(函数值越小, ( h , r , t ) ( h , r , t ) (h,r,t)越有可能是真实关系三元组)。实际上,所有实体和关系谓词的嵌入都是未知的,需要学习。此外,很可能不存在一套嵌入,使得所有关系的 f triple = 0 f_\text {triple}=0 ftriple=0。因此,学习的目的变成了找到一套嵌入来最小化 f triple f_\text {triple} ftriple对于 KG 中所有关系的和。为了有效地学习,Bordes 等人[4]使用负采样的策略,即对于任何不构成真正关系三元组的 ( h ′ , r ′ , t ′ ) (h^\prime , r^\prime , t^\prime ) (h′,r′,t′), f triple ( h ′ , r ′ , t ′ ) f_\text {triple }(h^\prime , r^\prime , t^\prime ) ftriple (h′,r′,t′)应该是一个很大的值,例如 ( Victoria , capital , dog ) (\texttt {Victoria}, \texttt {capital}, \texttt {dog}) (Victoria,capital,dog);这些负样本被称为 破 坏 的 关 系 三 元 组 破坏的关系三元组 破坏的关系三元组,它们是将真实三元组的头或尾实体用随机实体替换得到的。学习过程通常随机初始化所有嵌入,然后通过梯度下降最小化以下基于边界损失的目标函数:
L = ∑ ( h , r , t ) ∈ T r ∑ ( h ′ , r , t ′ ) ∈ T r ′ max ( 0 , [ γ + f triple ( h , r , t ) − f triple ( h ′ , r ′ , t ′ ) ] ) \mathcal {L}= \sum \limits _{(h,r,t)\in \mathcal {T}_r} \sum \limits _{(h^\prime , r,t^\prime )\in \mathcal {T}_r^\prime }\max \Big (0, \big [\gamma + f_\text {triple}(h,r, t)-f_\text {triple}(h^\prime , r^\prime , t^\prime )\big ]\Big ) L=(h,r,t)∈Tr∑(h′,r,t′)∈Tr′∑max(0,[γ+ftriple(h,r,t)−ftriple(h′,r′,t′)])
其中 γ > 0 \gamma >0 γ>0是边界超参数, T r \mathcal {T}_r Tr是真实关系三元组集合,$\mathcal {T}_r^\prime $是破坏的关系三元组集合。
在TransE的开创性工作之后,又提出了几种基于平移的 KG 结构嵌入模型的变体,对嵌入空间 [20, 58, 66, 67]或三元组评分函数 [68]进行了改进。
有兴趣的读者可以参考 Wang等人[57]和 Ji 等人[21]KG 嵌入模型的综述。
图神经网络(GNN) 在图数据分析方面表现出强大的性能,并获得了极大的普及 [65]。有两个代表性模型,即图卷积网络(GCNs)[24]和图注意力网络(GAT)[54],后面会详细介绍。这两个模型在最近的 KG 嵌入和 EA 研究中经常使用,因为 KG 本质上是图结构。与单独处理每个三元组的基于平移的嵌入模型不同,基于 GNN 的嵌入模型专注于聚合来自实体邻域的信息,并结合图结构,以计算实体嵌入。基于 GNN 的嵌入模型的本质是根据 消 息 传 递 消息传递 消息传递规则将邻域信息聚合到目标节点中[17],即嵌入信息通过边从相邻实体传播到目标实体。基于 GNN 的嵌入的优化目标是将具有相似邻域的实体映射为嵌入空间中彼此靠近的嵌入。
图卷积网络 (GCN) [24]遵循图中消息传递的规则,通过聚合邻居和自身的特征,将目标节点的嵌入计算为低维向量(即嵌入)。具体来说,GCN 是由函数 f ( X , A ) f(\boldsymbol{X},\boldsymbol{A}) f(X,A)表示的多层 GNN ,其中输入是由矩阵 X \boldsymbol{X} X表示的图节点特征向量以及图的邻接矩阵 A \boldsymbol{A} A。元素 a i j ∈ A a_{ij} \in A aij∈A表示节点 i i i和 j j j之间的连通性并且可以看作是两个节点之间的边的权重。编码为嵌入的邻居特征按照边权重加权传递到目标节点中。这个消息传递过程被表述为:
Q ( l + 1 ) = σ ( D ~ − 1 2 A ~ D ~ − 1 2 Q ( l ) W ( l ) ) \boldsymbol{Q}^{(l+1)}=\sigma \left( \tilde{\boldsymbol{D}}^{-\frac{1}{2}} \tilde{ \boldsymbol{A}} \tilde{\boldsymbol{D}}^{-\frac{1}{2}} \boldsymbol{Q}^{(l)} \boldsymbol{W}^{(l)}\right) Q(l+1)=σ(D~−21A~D~−21Q(l)W(l))
其中 W ( l ) \boldsymbol{W}^{(l)} W(l)是第 l l l层的可学习权重矩阵, A ~ = A + I \tilde{\boldsymbol{A}}=\boldsymbol{A}+\boldsymbol{I} A~=A+I是具有自连接的邻接矩阵, D ~ \tilde{\boldsymbol{D}} D~是节点度数的对角矩阵( D ~ i i = ∑ j A ~ i j \tilde{\boldsymbol{D}}_{ii}=\sum _j \tilde{\boldsymbol{A}}_{ij} D~ii=∑jA~ij), D ~ − 1 2 A ~ D ~ − 1 2 \tilde{\boldsymbol{D}}^{-\frac{1}{2}} \tilde{\boldsymbol{A}} \tilde{\boldsymbol{D}}^{-\frac{1}{2}} D~−21A~D~−21是 A ~ \tilde{\boldsymbol{A}} A~经过节点度数的归一化,而 Q ( l + 1 ) \boldsymbol{ Q}^{(l+1)} Q(l+1)是第 l l l层的输出,由GCN在 l l l次迭代之后计算得到的节点嵌入组成。第 l l l层的输入是 Q ( l ) \boldsymbol{Q}^{(l)} Q(l),它又是前一层的输出。节点嵌入通常由输入矩阵初始化,即 Q ( 0 ) = X \boldsymbol{Q}^{(0)} = \boldsymbol{X} Q(0)=X,最后一层产生 GCN 学习的最终节点嵌入。通常 A \boldsymbol{A} A由图的连通性决定,其中 1 表示连通,0 表示不连通; A \boldsymbol{A} A也可以通过启发式方法确定,例如节点之间的相似性,其值可能在 0 和 1 之间。一旦确定了 A \boldsymbol{A} A,它在训练期间保持不变,也就是说它没有被学习。
图注意力网络 (GAT) [54]使用 注 意 力 机 制 注意力机制 注意力机制[53]聚合来自邻域的信息,使得可以关注最相关的邻居。从概念上讲,GAT 类似于 GCN,因为它们都执行消息传递来计算节点嵌入。主要区别在于 GCN 的边权重(即邻接矩阵)不是学习的,但 GAT 的边权重(即注意力)是学习的。具体来说,GAT 也是一个多层 GNN,用函数 f ( X ) f(\boldsymbol{X}) f(X)表示,输入 X \boldsymbol{X} X是节点的特征向量。第 l l l层的输出基于注意力机制计算如下:
q i ( l + 1 ) = σ ( ∑ j ∈ N i α i j W q ( j ) l ) \boldsymbol{q}_{i}^{(l+1)}=\sigma \left( \sum _{j \in \mathcal {N}_{i}} \alpha _ {ij} \boldsymbol{W} \boldsymbol{q}^l_{(j)}\right) qi(l+1)=σ⎝⎛j∈Ni∑αijWq(j)l⎠⎞
其中 W \boldsymbol{W} W是一个可学习的权重矩阵; Q ( l + 1 ) = ( q 1 ( l + 1 ) , q 2 ( l + 1 ) , … , q n ( l + 1 ) ) \boldsymbol{Q}^{(l+1)}=(\boldsymbol{q}_1^{(l+1)},\boldsymbol{q}_2^{(l+1)},\ldots,\boldsymbol{q}_n^{(l+1)}) Q(l+1)=(q1(l+1),q2(l+1),…,qn(l+1))是第 l l l层的输出; n n n为节点数; q i ( l + 1 ) \boldsymbol{q}_i^{(l+1)} qi(l+1)是GAT在 l l l次迭代后计算得到的节点 i i i的节点嵌入。第 l l l层的输入是 Q ( l ) \boldsymbol{Q}^{(l)} Q(l),它又是前一层的输出,而前一层以 Q ( l − 1 ) \boldsymbol{Q}^{(l-1)} Q(l−1)作为输入。节点嵌入通常初始化为输入矩阵,即 Q ( 0 ) = X \boldsymbol{Q}^{(0)} = \boldsymbol{X} Q(0)=X,最后一层产生 GAT 学习到的最终节点嵌入。注意力权重 α i j \alpha _{ij} αij是通过对注意力系数进行 softmax 归一化计算的:
α i j = exp ( c i j ) ∑ k ∈ N i exp ( c i k ) \alpha _{ij}=\frac{\exp (c_{ij})}{\sum _{k \in \mathcal {N}_{i}} \exp (c_{ik })} αij=∑k∈Niexp(cik)exp(cij)
其中 N i \mathcal {N}_{i} Ni表示节点 i i i的邻居节点集。注意力系数 c i j c_{ij} cij是节点之间的相关性,学习如下:
c i j = LeakyReLU ( w T [ W q i ( l ) ∥ W q j ( l ) ] ) c_{ij}= \text{LeakyReLU}\big (\boldsymbol{w}^{T}[\boldsymbol{W} \boldsymbol{q}_{i}^{(l)} \Vert \boldsymbol{W} \boldsymbol{q}_{j}^{(l)}]\big ) cij=LeakyReLU(wT[Wqi(l)∥Wqj(l)])
其中参数向量 w \boldsymbol{w} w用于将两个节点嵌入的连接转换为标量。
GAT 应用多头注意力如下:
q i ( l + 1 ) = ∥ k = 1 K σ ( ∑ j ∈ N i α i j k W k q j ( l ) ) \boldsymbol{q}_{i}^{(l+1)}=\big \Vert _{k=1}^{K} \sigma \Big (\sum _{j \in \mathcal {N}_{i}} \alpha _{ij}^{k} \boldsymbol{W}^{k} \boldsymbol{q}_{j}^{(l)}\Big ) qi(l+1)=∥∥k=1Kσ(j∈Ni∑αijkWkqj(l))
其中输出是具有不同归一化注意力权重 α i j k \alpha _{ij}^{k} αijk和权重矩阵 W k \boldsymbol{W}^{k} Wk的 K K K个独立自注意力的连接。
变体 两个具有代表性的 GNN 模型 GCN 和 GAT 已成为为各种应用设计的更复杂模型的基础。已经提出了用其他对称矩阵来代替 GCN 的邻接矩阵(例如,AGCN [77]和 DGCN [87]),也为 GAT 提出了各种计算注意力的不同方法。Wu 等人对 GNN 进行了全面的讨论[65]。
本节回顾了具有代表性的基于平移的 EA 技术。我们关注两个关键组件,由 f triple f_\text {triple} ftriple确定的嵌入模块和由 f align f_\text {align} falign确定的对齐模块。基于平移的 EA 技术中的 KG 嵌入要么直接使用 TransE [4],要么直接使用其变体,利用关系三元组、路径或邻域对 KG 结构进行编码。我们在5.1节和5.2节分别回顾了仅使用 KG 结构进行 KG 嵌入的技术,以及利用其他类型信息,即关系谓词和属性,进行 KG 嵌入的技术。
MTransE [7]是基于嵌入的 EA 技术中第一个基于平移的模型。它的嵌入模块使用 TransE 将来自每个 KG 的实体和关系谓词嵌入到不同的嵌入空间中,部分损失函数与公式3相同。为了使这些嵌入都落入一个统一的空间,对齐模块通过最小化所有种子关系三元组对齐的对齐评分函数的和来学习跨 KG 变换,如下所示:
L = ∑ ( t r 1 , t r 2 ) ∈ S t f align ( t r 1 , t r 2 ) \mathcal {L}=\sum \limits _{(tr_1, tr_2)\in \mathcal {S}_t}{f_\text {align}(tr_1, tr_2)} L=(tr1,tr2)∈St∑falign(tr1,tr2)
其中 S t \mathcal {S}_t St是一组来自 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2的种子关系三元组对齐(本质上是种子实体对齐和种子关系谓词对齐的组合),而 f align ( t r 1 , t r 2 ) f_\text {align}(tr_1,tr_2) falign(tr1,tr2)是对齐评分函数。第3节中描述的对齐评分函数计算两个实体的(不)相似度 ,这里的对齐评分函数不同,计算两个关系三元组的(不)相似度 , t r 1 = ( h 1 , r 1 , t 1 ) ∈ G 1 tr_1=(h_1, r_1, t_1) \in \mathcal {G}_1 tr1=(h1,r1,t1)∈G1, t r 2 = ( h 2 , r 2 , t 2 ) ∈ G 2 tr_2=(h_2, r_2, t_2) \in \mathcal {G}_2 tr2=(h2,r2,t2)∈G2。为了计算对齐分数,MTransE 使用三种策略来构建跨 KG 变换,包括 基 于 距 离 的 轴 校 准 基于距离的轴校准 基于距离的轴校准、 变 换 向 量 变换向量 变换向量和 线 性 变 换 线性变换 线性变换。根据他们的实验研究,采用线性变换策略的 MTransE 性能最好。该策略使用以下对齐评分函数学习 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2的实体嵌入之间的线性变换:
f align ( t r 1 , t r 2 ) = ∣ ∣ M i j e h 1 − h 2 ∣ ∣ + ∣ ∣ M i j r r 1 − r 2 ∣ ∣ + ∣ ∣ M i j e t 1 − t 2 ∣ ∣ f_\text {align}(tr_1, tr_2)=||\boldsymbol{M}_{ij}^e\boldsymbol{h}_1-\boldsymbol{h}_2||+ | |\boldsymbol{M}_{ij}^r\boldsymbol{r}_1-\boldsymbol{r}_2|| +||\boldsymbol{M}_{ij}^e\boldsymbol {t}_1-\boldsymbol{t}_2|| falign(tr1,tr2)=∣∣Mijeh1−h2∣∣+∣∣Mijrr1−r2∣∣+∣∣Mijet1−t2∣∣
其中 M i j e \boldsymbol{M}_{ij}^e Mije和 M i j r \boldsymbol{M}_{ij}^r Mijr分别是实体嵌入和关系谓词嵌入的线性变换。最小化 f align f_\text {align} falign将最小化经过变换的来自 G 1 \mathcal {G}_1 G1的实体/关系谓词和来自 G 2 \mathcal {G}_2 G2的实体/关系谓词之间的距离,使两个 KG 的嵌入属于同一个向量空间。
MTransE 的推理模块使用 NNS。
IPTransE [84]首先,在嵌入模块中利用名为PTransE [29]的 TransE 扩展分别学习 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2的嵌入。与 TransE 不同,PTransE 通过考虑实体之间的路径来对间接连接的实体进行建模,路径由实体之间的关系谓词组成,在实体之间构成平移运算。IPTransE 的对齐模块使用基于种子实体对齐的三种不同策略学习 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2之间的变换: 基 于 平 移 基于平移 基于平移、 线 性 变 换 线性变换 线性变换和 参 数 共 享 参数共享 参数共享。
基于平移的策略将“平移”的思想应用于跨 KG场景,并将对齐视为两组实体间的特殊关系谓词 r ( E 1 → E 2 ) \boldsymbol{r}^{(\mathcal {E}_1 \rightarrow \mathcal {E}_2 )} r(E1→E2),这两组实体分别来自 G 1 \mathcal {G}_1 G1的 E 1 \mathcal {E}_1 E1和 G 2 \mathcal {G} _2 G2的 E 2 \mathcal {E}_2 E2。对齐评分函数定义为:
f align ( e 1 , e 2 ) = ∣ ∣ e 1 + r ( E 1 → E 2 ) − e 2 ∣ ∣ f_\text {align}(e_1,e_2)=||\boldsymbol{e}_1+\boldsymbol{r}^{(\mathcal {E}_1 \rightarrow \mathcal {E}_2) }-\boldsymbol{e}_2|| falign(e1,e2)=∣∣e1+r(E1→E2)−e2∣∣
其中 e 1 \boldsymbol{e}_1 e1和 e 2 \boldsymbol{e}_2 e2是两个实体 e 1 ∈ E 1 e_1\in \mathcal {E}_1 e1∈E1和 e 2 ∈ E 2 e_2\in \mathcal { E}_2 e2∈E2的嵌入。目标函数是 PTranE 的损失函数与种子实体对齐上的 f align f_\text {align} falign的加权和。
线性变换策略学习一个变换矩阵 M ( E 1 → E 2 ) \boldsymbol{M}^{(\mathcal {E}_1 \rightarrow \mathcal {E}_2)} M(E1→E2),它使两个对齐的实体彼此靠近,对齐评分函数如下:
f align ( e 1 , e 2 ) = ∣ ∣ M ( E 1 → E 2 ) e 1 − e 2 ∣ ∣ f_\text {align}(e_1,e_2)=||\boldsymbol{M}^{(\mathcal {E}_1 \rightarrow \mathcal {E}_2)}\boldsymbol{e} _1-\boldsymbol{e}_2|| falign(e1,e2)=∣∣M(E1→E2)e1−e2∣∣
目标函数是 PTranE 的损失函数与种子实体对齐上的 f align f_\text {align} falign的加权和。
参数共享策略强制 e 1 = e 2 \boldsymbol{e}_1=\boldsymbol{e}_2 e1=e2,表明一对对齐的实体共享相同的嵌入,因此将 f align f_\text {align} falign应用于两个对齐的种子实体总是给出 0。目标函数简化为 PTranE 的损失函数。参数共享策略显示了三种策略中最好的联合嵌入学习性能。
在训练过程中,IPTransE 采用引导并有两种策略将新对齐的实体添加到种子中:硬策略和软策略。其他技术通常应用硬策略,将新对齐的实体直接附加到种子对齐集合中,这可能会导致错误传播。在软策略中,可靠性分数被分配给新对齐的实体以减轻错误传播,这对应于对齐实体之间的嵌入距离。这可以通过向目标函数中添加一个损失项来实现。
BootEA [46]将 EA 建模为一对一的分类问题,将一个实体的对齐实体视为该实体的标签。它通过既从标记数据(种子实体对齐)中,又从未标记数据(预测对齐实体)中引导,迭代地学习分类器。嵌入模块改编了公式2中定义的 TransE的三元组评分函数 f triple ( ⋅ ) f_\text {triple}(\cdot ) ftriple(⋅),不仅将 f triple ( ⋅ ) f_\text {triple}(\cdot ) ftriple(⋅)应用到来自 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2的真实三元组上,而且应用到按如下方式获得的所有“生成的三元组”:当一个真实三元组中的实体,无论是头还是尾,存在于当前对齐的实体集 S \mathcal {S} S中 ,用 S \mathcal {S} S中的对齐实体替换该实体,生成一个新的三元组。请注意, S \mathcal {S} S随着引导的迭代逐渐增长。具体来说,嵌入模块的损失函数为:
L e = ∑ ( h , r , t ) ∈ T r max ( 0 , [ f triple ( h , r , t ) − γ 1 ] ) + β 1 ∑ ( h ′ , r ′ , t ′ ) ∈ T r ′ max ( 0 , [ γ 2 − f triple ( h ′ , r ′ , t ′ ) ] ) \mathcal {L}_{e}=\sum \limits _{(h,r,t)\in \mathcal {T}_r}\max \left( 0, \left[ f_\text {triple}(h,r,t)-\gamma _{1}\right] \right) \\\quad +\beta _{1} \sum \limits _{(h^\prime ,r^\prime ,t^\prime )\in \mathcal {T}_r^\prime}\max \left( 0, \left[ \gamma _{2}-f_\text {triple}\left( h^{\prime},r^\prime ,t^{\prime}\right) \right] \right) Le=(h,r,t)∈Tr∑max(0,[ftriple(h,r,t)−γ1])+β1(h′,r′,t′)∈Tr′∑max(0,[γ2−ftriple(h′,r′,t′)])
其中 T r \mathcal {T}_r Tr包括 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2中的所有真实三元组,以及上述所有生成的三元组; T r ′ \mathcal {T}^\prime _r Tr′包含由均匀负采样 [4]生成的所有破坏的三元组。请注意,与公式3相比,此损失函数是两部分的总和,称为基于极限(limit)的损失函数,由 Zhou 等人提出[83];它最小化 f triple ( h , r , t ) f_\text {triple}(h,r,t) ftriple(h,r,t)和 f triple ( h ′ , r ′ , t ′ ) f_\text {triple}(h^\prime ,r^\prime ,t^\prime ) ftriple(h′,r′,t′),并使用两个超参数 γ 1 \gamma _{1} γ1和 γ 2 \gamma _{2} γ2直接控制它们。
BootEA 的对齐模块是一对一的分类器,与公式1中的对齐方式不同,它使用 G 1 \mathcal {G}_1 G1中的实体分布与 G 2 \mathcal {G}_2 G2中预测类(即对齐实体)的分布之间的交叉熵损失。将两个KG中所有实体对插入以下公式以计算交叉熵损失:
L a = − ∑ e 1 ∈ E 1 ∑ e 2 ∈ E 2 ϕ e 1 ( e 2 ) log π ( e 2 ∣ e 1 ) \mathcal{L}_{a}=-\sum_{e_1\in\mathcal{E}_1}\sum_{e_2\in\mathcal{E}_2}\phi_{ e_1}( e_2) \log \pi(e_2\mid e_1) La=−e1∈E1∑e2∈E2∑ϕe1(e2)logπ(e2∣e1)
其中 ϕ e 1 ( e 2 ) \phi _{e_1}(e_2) ϕe1(e2)是一个计算 e 1 e_1 e1的标记概率的函数。如果 e 1 e_1 e1被标记为 e 2 e_2 e2,则标记分布 ϕ e 1 \phi _{e_1} ϕe1的所有质量(mass)都集中在 e 2 e_2 e2上,即 ϕ e 1 ( e 2 ) = 1 \phi _{e_1 }(e_2)=1 ϕe1(e2)=1。如果 e 1 e_1 e1是未标记的,则 ϕ e 1 \phi _{e_1} ϕe1是均匀分布;$\pi 是 根 据 给 定 是根据给定 是根据给定e_1\in \mathcal {E}_1 在 在 在\mathcal {E}_2$中预测对齐实体的分类器。
BootEA 的整体目标函数 L = L e + β 2 L a \mathcal {L}=\mathcal {L}_e+\beta _2 \mathcal {L}_a L=Le+β2La,其中 β 2 \beta _2 β2是一个平衡超参数。
NAEA [85]也将 EA 表述为一对一的分类问题,但结合了基于平移和基于 GAT 的范式。具体来说,NAEA除了 关 系 级 信 息 关系级信息 关系级信息外,还嵌入了 邻 居 级 信 息 邻居级信息 邻居级信息。邻居级信息是通过使用4.2节 GAT 部分描述的注意力机制聚合邻居的嵌入来得到的。将实体 e e e的邻居级表示和关系谓词 r r r的邻居级表示分别表示为 Ne ( e ) {\text {Ne}}(e) Ne(e)和 Nr ( r ) {\text {Nr}}(r) Nr(r)。然后,基于“平移”的思想,邻居级嵌入的三元组评分函数为$f_\text {triple}(h,r,t) = \Vert {\text {Ne}}(h) + {\text {Nr}}® - {\text {Ne}}(t)\Vert $。NAEA 还使用基于极限的损失技巧 [83],得到邻居级嵌入的损失函数如下。
L 1 = ∑ ( h , r , t ) ∈ T r ∑ ( h ′ , r ′ , t ′ ) ∈ T r ′ max ( [ f triple ( h , r , t ) + γ 1 − f triple ( h ′ , r ′ , t ′ ) ] , 0 ) + β 1 ∑ ( h , r , t ) ∈ T r max ( [ f triple ( h , r , t ) − γ 2 ] , 0 ) \mathcal {L}_{1}=\sum _{(h,r,t) \in \mathcal {T}_r} \sum _{(h^{\prime }, r^\prime , t^\prime ) \in \mathcal {T}_r^{\prime }} \max ([f_\text {triple}(h,r,t) +\gamma _{1}-f_\text {triple}\left( h^{\prime },r^\prime , t^\prime \right) ], 0) \\\quad +\beta _1 \sum _{(h,r,t) \in \mathcal {T}_r}\max \left( \left[ f_\text {triple}(h,r,t)-\gamma _{2}\right ] , 0\right) L1=(h,r,t)∈Tr∑(h′,r′,t′)∈Tr′∑max([ftriple(h,r,t)+γ1−ftriple(h′,r′,t′)],0)+β1(h,r,t)∈Tr∑max([ftriple(h,r,t)−γ2],0)
使用 TransE 嵌入关系级信息。嵌入模块的整体损失函数为 L e = β 2 L 1 + ( 1 − β 2 ) L 2 \mathcal {L}_e=\beta _2 \mathcal {L}_1 + (1-\beta _2)\mathcal {L}_2 Le=β2L1+(1−β2)L2,其中 L 2 \mathcal { L}_2 L2与公式3相同, β 2 \beta _2 β2是一个超参数。
NAEA的对齐模块类似于BootEA,它使用 G 1 \mathcal {G}_1 G1中实体的分布与$\mathcal {G}_2 $中预测类的分布之间的交叉熵损失如下。
L a = − ∑ e i ∈ E 1 ∑ e j ∈ E 2 ϕ e i ( e j ) log π ( e j ∣ e i ) \mathcal{L}_a=-\sum_{e_{i}\in\mathcal{E}_1}\sum_{e_{j}\in\mathcal{E}_2}\phi_ {e_i}(e_j) \log \pi \left( e_{j} \mid e_{i}\right) La=−ei∈E1∑ej∈E2∑ϕei(ej)logπ(ej∣ei)
其中 ϕ e i ( e j ) \phi _{e_i}(e_j) ϕei(ej)与 BootEA 中的相同。分类器$\pi \left( e_{j} \mid e_{i}\right) $定义如下:
π ( e j ∣ e i ) = β 3 σ ( sim ( Ne ( e i ) , Ne ( e j ) ) ) + ( 1 − β 3 ) σ ( sim ( e i , e j ) ) \pi \left( e_{j} \mid e_{i}\right)= \beta _3 \sigma {\left( {\text {sim}}\left( {\text {Ne}}\left( e_{i}\right) , {\text {Ne}}\left( e_{j}\right) \right) \right) } \\\quad +(1 -\beta _3)\sigma {\left( {\text {sim}}\left( \boldsymbol {e}_{i}, \boldsymbol {e}_{j}\right) \right) } π(ej∣ei)=β3σ(sim(Ne(ei),Ne(ej)))+(1−β3)σ(sim(ei,ej))
其中 sim ( ⋅ ) {\text {sim}}(\cdot ) sim(⋅)是余弦相似度, β 3 \beta _3 β3是平衡超参数。
TransEdge [47]解决了 TransE 的缺陷,即其关系谓词嵌入与实体无关,但实际上关系谓词嵌入应该取决于其上下文,即头实体和尾实体。例如,关系谓词 director \verb+director+ director在两个不同的关系三元组 (Steve Jobs,director,Apple) \verb+(Steve Jobs,director,Apple)+ (Steve Jobs,director,Apple)和 (James Cameron,director,Avatar) \verb+(James Cameron,director,Avatar)+ (James Cameron,director,Avatar)中具有不同的含义。
为了解决这个问题,TransEdge 提出了一种 以 边 为 中 心 的 平 移 嵌 入 模 型 以边为中心的平移嵌入模型 以边为中心的平移嵌入模型,该模型将关系谓词的上下文化(contextualized)嵌入视为从头实体到尾实体的平移。它将关系谓词上下文化为不同的边嵌入,其中关系谓词的上下文由其头和尾实体指定。这是通过三元组评分函数实现的,如下所示:
f triple ( h , r , t ) = ∥ h + ψ ( h c , t c , r ) − t ∥ f_\text {triple}(h,r,t)=\left\| \boldsymbol{h} + \psi (\boldsymbol{h}_c, \boldsymbol{t}_c, \boldsymbol{r})-\boldsymbol{t} \right\| ftriple(h,r,t)=∥h+ψ(hc,tc,r)−t∥
其中 ψ ( h c , t c , r ) \psi (\boldsymbol{h}_c, \boldsymbol{t}_c, \boldsymbol{r}) ψ(hc,tc,r)是关系谓词的上下文化嵌入,称为 边 嵌 入 边嵌入 边嵌入。
这篇文章引入了两个 交 互 嵌 入 交互嵌入 交互嵌入 h c \boldsymbol{h}_c hc和 t c \boldsymbol{t}_c tc,分别用于编码头和尾实体对边嵌入计算的参与。边嵌入可以通过两种策略计算, 上 下 文 压 缩 上下文压缩 上下文压缩和 上 下 文 投 影 上下文投影 上下文投影。第一种策略,上下文压缩,采用多层感知器 (MLP) 来压缩头实体、尾实体和关系谓词的嵌入,如下所示:
ψ ( h c , t c , r ) = MLP ( MLP ( [ h c ∥ r ] ) + MLP ( [ t c ∥ r ] ) ) \psi (\boldsymbol{h}_c, \boldsymbol{t}_c, \boldsymbol{r}) = \text {MLP}\left( \text {MLP}([\boldsymbol{h }_c\Vert \boldsymbol{r}]) + \text {MLP}([\boldsymbol{t}_c\Vert \boldsymbol{r}])\right) ψ(hc,tc,r)=MLP(MLP([hc∥r])+MLP([tc∥r]))
另一种策略,上下文投影,将关系嵌入投影到头和尾实体的超平面上,并将边嵌入计算为:
ψ ( h c , t c , r ) = r − w ( h , t ) ⊤ r w ( h , t ) \psi (\boldsymbol{h}_c, \boldsymbol{t}_c, \boldsymbol{r}) = \boldsymbol{r} - \boldsymbol{w}^\top _{(h, t)} \boldsymbol{r} \boldsymbol{w}_{(h,t)} ψ(hc,tc,r)=r−w(h,t)⊤rw(h,t)
其中 w = MLP ( [ h c ∥ t c ] ) \boldsymbol{w}=\text {MLP}([\boldsymbol{h}_c\Vert \boldsymbol{t}_c]) w=MLP([hc∥tc])是超平面的法向量。
TransEdge的对齐模块使用参数共享策略来统一两个不同的KG,即它强制种子实体对齐中的一对对齐实体具有相同的嵌入。TransEdge 使用引导,但每次迭代中新对齐的实体不使用参数共享进行处理。为了使这些新对齐的实体在嵌入空间中接近,根据新对齐实体的集合 D \mathcal {D} D上的嵌入距离添加损失:
L = ∑ ( e 1 , e 2 ) ∈ D ∥ e 1 − e 2 ∥ \mathcal {L} = \sum _{(e_1, e_2)\in \mathcal {D}} \Vert \boldsymbol{e}_1-\boldsymbol{e}_2\Vert L=(e1,e2)∈D∑∥e1−e2∥
仅使用 KG 结构的其他技术 OTEA [38]采用了 EA 的最佳传输理论。SEA [37]通过在损失函数中采用循环一致性限制来利用未标记的数据(未对齐的实体)。SX19 [43]使用基于乘法和复向量空间的新设计的评分函数对多映射(即多对多、一对多或多对一)关系进行建模。AKE [28]首先通过 TransE 学习实体嵌入,然后在对抗性学习框架中学习 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2的统一向量空间。
除了关系三元组之外, JAPE [45]还使用属性三元组,尽管仅限于属性值的数据类型(例如,整数或字符串)。
JAPE的嵌入模块有两个组件: 结 构 嵌 入 结构嵌入 结构嵌入和 属 性 嵌 入 属性嵌入 属性嵌入。结构嵌入是分别在 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2上使用 TransE 获得的,分别产生两个基于结构的实体嵌入矩阵 E s 1 \boldsymbol{E}_{s} ^1 Es1和 E s 2 \boldsymbol{E}_{s}^2 Es2。属性嵌入是通过建模同一实体内或一对对齐种子实体间的属性共现得到的。具体来说,基于上述属性共现计算属性值的每种数据类型的词嵌入(在他们的论文中是Skip-gram [33] )。然后将得到的数据类型的词嵌入视为属性本身的嵌入。然后我们可以形成一个基于属性的实体嵌入矩阵,由所有实体的平均属性嵌入组成,对于每个 KG,分别表示为 E a i \boldsymbol{E}_{a}^i Eai,其中 i = 1 , 2 i= 1,2 i=1,2。
在获得基于结构和基于属性的实体嵌入矩阵之后,JAPE 首先利用基于属性的实体嵌入矩阵,计算跨 KG 相似度 S 1 , 2 \boldsymbol{S}^{1,2} S1,2和每个 KG 的KG内相似度(即 S 1 \boldsymbol {S}^1 S1和 S 2 \boldsymbol{S}^2 S2):
S 1 , 2 = E a 1 E a 2 ⊤ ; S 1 = E a 1 E a 1 ⊤ ; S 2 = E a 2 E a 2 ⊤ \boldsymbol{S}^{1,2} = \boldsymbol{E}_{a}^1 {\boldsymbol{E}_{a}^2}^\top ;\quad \boldsymbol{S}^1 = \boldsymbol{E}_{a}^1 {\boldsymbol{E}_{a}^1}^\top ;\quad \boldsymbol{S}^2 = \boldsymbol{E} _{a}^2 {\boldsymbol{E}_{a}^2}^\top S1,2=Ea1Ea2⊤;S1=Ea1Ea1⊤;S2=Ea2Ea2⊤
然后,它通过将结构信息与以下损失函数集成来细化嵌入。
L = ∥ E s 1 − S 1 , 2 E s 2 ∥ F 2 + β ( ∥ E s 1 − S 1 E s 1 ∥ F 2 + ∥ E s 2 − S 2 E s 2 ∥ F 2 ) \mathcal {L}=\left\| \boldsymbol{E}_{s}^{1}-\boldsymbol{S}^{1,2} \boldsymbol{E}_{s}^{2}\right\| _{F}^{2} \\\quad +\beta \left( \left\| \boldsymbol{E}_{s}^{1} - \boldsymbol{S}^{1}\boldsymbol {E}_{s}^{1}\right\| _{F}^{2} +\left\| \boldsymbol{E}_{s}^{2}-\boldsymbol{S}^{2 } \boldsymbol{E}_{s}^{2}\right\| _{F}^{2}\right) L=∥∥Es1−S1,2Es2∥∥F2+β(∥∥Es1−S1Es1∥∥F2+∥∥Es2−S2Es2∥∥F2)
其中$\beta $是一个平衡跨 KG 相似度和KG 内相似度重要性的超参数。
KDCoE [8]建立在 MTransE 之上,通过实体描述(即 KG 中实体的文字描述)的嵌入来移动(shift)实体嵌入,实体描述被视为一种特殊属性三元组,其中属性值是对实体的文字描述。
AttrE [51]是第一个利用属性值的技术。此外,它是唯一不需要种子对齐的 EA 技术。
AttrE 的嵌入模块使用 TransE 来学习来自 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2的实体的 KG 结构嵌入。AttrE 的主要新颖之处在于对属性值的语义进行编码,并提出了三种编码方法: 平 均 字 符 嵌 入 平均字符嵌入 平均字符嵌入、 L S T M 聚 合 字 符 嵌 入 LSTM 聚合字符嵌入 LSTM聚合字符嵌入和 聚 合 n 聚合n 聚合n- g r a m 字 符 嵌 入 gram 字符嵌入 gram字符嵌入。聚合的 n-gram 字符嵌入在他们的论文中具有最佳性能,该论文使用不同长度的 n-gram 的和来编码属性值。
AttrE 中提出的另一个有趣的想法,灵感来自公式2中的“平移”想法,(除了关系三元组)将属性三元组也解释为平移运算来学习属性嵌入,如下所示:
f triple ( e , a , v ) = ∥ e + a − τ ( v ) ∥ f_\text {triple}(e,a,v)=\left\| \boldsymbol{e}+\boldsymbol{a}-\tau (v)\right\| ftriple(e,a,v)=∥e+a−τ(v)∥
其中 τ ( v ) \tau (v) τ(v)是实现了上述编码方法之一的属性值 v v v上的函数。因此,可以使用相同的三元组评分函数来统一计算关系三元组和属性三元组的合理性。通过最小化以下损失函数,它有助于将 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2的 KG 结构嵌入移动到相同的向量空间中:
L s = ∑ e ∈ E 1 ∪ E 2 [ 1 − sim ( e s , e c ) ] \mathcal {L}_{s}=\sum _{e \in \mathcal {E}_{1} \cup \mathcal {E}_{2}}\left[ 1- {\text {sim}}\left( \boldsymbol{e}_{s}, \boldsymbol{e}_{c}\right) \right] Ls=e∈E1∪E2∑[1−sim(es,ec)]
其中 sim ( e s , e c ) {\text {sim}}\left( \boldsymbol{e}_{s}, \boldsymbol{e}_{c}\right) sim(es,ec)是实体 e e e的结构嵌入 e s \boldsymbol{ e}_{s} es和属性嵌入 e c \boldsymbol{e}_{c} ec之间的余弦相似度。
除了利用关系三元组和属性值外,AttrE 还通过利用谓词命名约定中的字符串相似性来对齐谓词(包括关系谓词和属性谓词)。
最后,AttrE 的推理模块通过计算移动后的(shifted)结构嵌入之间的余弦相似度来预测对齐的实体。
MultiKE [80]在各种特征上使用多视图学习。MultiKE的嵌入模块将知识图谱的特征分为三个子集,称为 视 图 视图 视图: 名 称 视 图 名称视图 名称视图、 关 系 视 图 关系视图 关系视图和 属 性 视 图 属性视图 属性视图。为每个视图学习实体嵌入,然后进行组合。
在名称视图中,实体嵌入是通过连接实体名中符号(token)的预训练词/字符嵌入来获得的。
在关系视图中,采用 TransE 来生成嵌入,但使用logistic损失函数:
KaTeX parse error: Undefined control sequence: \ at position 178: …\big )\Big ) \ \̲ ̲
其中,如果 ( h , r , t ) ( h , r , t ) (h,r,t)是一个真实三元组,则 ζ ( h , r , t ) \zeta (h,r,t) ζ(h,r,t)为 1,否则为 -1; f triple ( h , r , t ) f_\text {triple}\left( h,r,t\right) ftriple(h,r,t)与 TransE 中的相同。
在属性视图中,首先用属性谓词及其值的嵌入连接形成属性-值矩阵 [ a ∥ v ] [\boldsymbol{a}\Vert \boldsymbol{v}] [a∥v],然后将三元组评分函数定义为头实体减去卷积神经网络(CNN)作用于属性-值矩阵的结果,形式上为:
f triple ( e , a , v ) = ∥ e − CNN ( [ a ∥ v ] ) ∥ f_\text {triple}(e,a,v)=\left\| \boldsymbol{e}-\text {CNN}([\boldsymbol{a} \Vert \boldsymbol{v}])\right\| ftriple(e,a,v)=∥e−CNN([a∥v])∥
然后使用这个三元组评分函数,通过最小化以下目标函数来获得属性视图中的嵌入:
L a = ∑ ( e , a , v ) ∈ T a log ( 1 + exp ( f triple ( e , a , v ) ) ) \mathcal {L}_a=\sum _{(e, a, v) \in \mathcal {T}_{a}} \log (1+\exp (f_\text {triple }(e,a,v))) La=(e,a,v)∈Ta∑log(1+exp(ftriple (e,a,v)))
其中 T a \mathcal {T}_{a} Ta是一组真实属性三元组。
接下来,在每个视图中,对齐模块将两个 KG 的嵌入空间统一到相同向量空间中。在名称视图中,两个KG都使用了相同的嵌入模式,即预训练词嵌入,所以它们的嵌入空间已经统一了。在关系视图和属性视图中,MultiKE 执行所谓的 跨 K G 实 体 / 关 系 / 属 性 一 致 推 理 跨 KG 实体/关系/属性一致推理 跨KG实体/关系/属性一致推理以统一嵌入空间,如下所示。
在关系视图和属性视图中都需要执行实体一致推理。首先,采用类似于 BootEA [46]的策略来生成三元组,如下所示:当一个真实三元组中的实体,无论是头还是尾,存在于当前对齐实体集合 S \mathcal {S} S中,用其在 S \mathcal {S} S中的对齐实体替换该实体,生成一个新的三元组。然后,在关系视图和属性视图中都要最小化所有生成三元组的合理性( f triple f_\text {triple} ftriple)的和,这将更新所有嵌入。然后将更新的嵌入输入到下面的关系和属性一致推理中。
在关系和属性一致性推理中,首先采用与 AttrE [51]类似的策略,通过字符串相似度推导软性(soft)关系谓词和属性谓词对齐。然后关系(或属性)一致推理在关系视图(或属性视图)中生成三元组如下:当一个真实三元组中的关系(或属性)谓词存在于导出的软性关系(或属性)对齐中,用其对齐关系(或属性)谓词替换该关系(或属性)谓词。然后,在关系视图和属性视图中都要最小化所有生成三元组的合理性( f triple f_\text {triple} ftriple)的和,这将更新所有嵌入。
通过平均每个视图或最小化组合损失函数,将上面获得的三个视图的实体嵌入组合成一个嵌入。最后,推理模块基于组合的实体嵌入之间的相似性使用 NNS。
COTSAE [73]交替训练结构和属性嵌入,然后组合通过两种嵌入获得的对齐结果。
GNN 适合 KG 的固有图结构,因此最近有越来越多的基于 GNN 的 EA 技术。基于 GNN 的 EA 技术分为基于 GCN 和基于 GAT 的技术。它们通常通过实体的邻域对 KG 结构进行编码,其中许多将属性作为嵌入模块的输入特征,因为对齐的实体往往具有相似的邻域和属性。大多数基于 GNN 的技术在训练中仅使用种子实体对齐而不是其他类型的种子对齐。
GCN-Align [59]是第一项基于 GNN 的 EA 研究工作。与许多基于 GNN 的 EA 技术一样,GCN-Align 从实体的结构信息中学习实体嵌入。GCN-Align 还通过将属性三元组视为关系三元组来利用它们。具体来说,GCN-Align 使用两个共享权重矩阵的 GCN 将 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2(每个 KG 一个 GCN)的实体嵌入到统一空间中,由以下公式描述:
[ H s ( l + 1 ) ∥ H a ( l + 1 ) ] = σ ( D ^ − 1 2 A ^ D ^ − 1 2 [ H s ( l ) W s ( l ) ∥ H a ( l ) W a ( l ) ] ) {[}\boldsymbol{H}_s^{(l+1)}\Vert \boldsymbol{H}_a^{(l+1)}]=\sigma (\hat{\boldsymbol {D}}^{-\frac{1}{2}}\hat{\boldsymbol{A}}\hat{\boldsymbol{D}}^{-\frac{1}{2}}[\boldsymbol{ H}_s^{(l)} \boldsymbol{W}_s^{(l)}\Vert \boldsymbol{H}_a^{(l)} \boldsymbol{W}_a^{(l)}]) [Hs(l+1)∥Ha(l+1)]=σ(D^−21A^D^−21[Hs(l)Ws(l)∥Ha(l)Wa(l)])
其中 H s ( l ) \boldsymbol{H}_s^{(l)} Hs(l)和 H a ( l ) \boldsymbol{H}_a^{(l)} Ha(l)分别是结构和属性嵌入矩阵; W s ( l ) \boldsymbol{W}_s^{(l)} Ws(l)和 W a ( l ) \boldsymbol{W}_a^{(l)} Wa(l)是这两种嵌入的权重矩阵,为两个GCN所共享。普通(vanilla)GCN [24](公式4)中的矩阵 H ( l ) \boldsymbol{H}^{(l)} H(l)替换为结构和属性嵌入矩阵的连接。与 GCN 不同,GCN-Align 在计算元素 a i j ∈ A a_{ij} \in \boldsymbol{A} aij∈A时考虑了 KG中的各种类型的关系谓词。新的邻接矩阵 A \boldsymbol{A} A设计如下:
a i j ∈ A = ∑ ( e i , r , e j ) ∈ T r g h ( r ) + ∑ ( e j , r , e i ) ∈ T r g t ( r ) a_{ij}\in \boldsymbol{A}=\sum \limits _{(e_i,r,e_j)\in \mathcal {T}_{r}}g_h(r) + \sum \limits _{(e_j,r,e_i)\in \mathcal {T}_{r}}g_t(r) aij∈A=(ei,r,ej)∈Tr∑gh(r)+(ej,r,ei)∈Tr∑gt(r)
其中 a i j a_{ij} aij是从第 i i i个实体到第 j j j个实体的边权重。 ( e j , r , e i ) ( e_j ,r,e_i) (ej,r,ei)和 ( e i , r , e j ) (e_i,r,e_j) (ei,r,ej)都是 KG 中的三元组。函数 g h ( r ) g_h(r) gh(r)和 g t ( r ) g_t(r) gt(r)分别计算由关系 r r r连接的头实体的数量和尾实体的数量除以包含关系 r r r的三元组的数量。通过这种方式,邻接矩阵 A \boldsymbol{A} A有助于对嵌入信息如何跨实体传播进行建模。
GCN-Align 是通过最小化一个类似公式1的基于边界的损失函数来训练的。考虑到结构和属性嵌入,GCN-Align 定义其对齐评分函数如下:
f align ( e 1 , e 2 ) = β ∥ h s ( e 1 ) − h s ( e 2 ) ) ∥ L 1 d s + ( 1 − β ) ∥ h a ( e 1 ) − h a ( e 2 ) ∥ L 1 d a f_\text {align}(e_1,e_2)=\beta \frac{\Vert \boldsymbol{h}_s(e_1)-\boldsymbol{h}_s(e_2))\Vert _ {L_1}}{d_s} \\\quad + (1-\beta )\frac{\Vert \boldsymbol{h}_a(e_1)-\boldsymbol{h}_a(e_2)\Vert _{L_1 }}{d_a} falign(e1,e2)=βds∥hs(e1)−hs(e2))∥L1+(1−β)da∥ha(e1)−ha(e2)∥L1
其中 h s ( ⋅ ) \boldsymbol{h}_s(\cdot ) hs(⋅)和 h a ( ⋅ ) \boldsymbol{h}_a(\cdot ) ha(⋅)分别是具有维度 d s d_s ds的结构嵌入和具有维度 d a d_a da的属性嵌入; β \beta β用于平衡这两个嵌入的重要性。
HGCN [63]明确利用关系表示来改进 EA 中的对齐过程。为了合并关系信息,HGCN 在以下三个阶段联合学习实体和关系谓词嵌入。
第 1 阶 段 第1阶段 第1阶段通过名为Highway-GCN [40]的 GCN 变体计算实体嵌入,它将实体嵌入到统一的向量空间中。普通GCN 层之上的逐层高速门控制前向传播,写作以下函数 T T T:
T ( H ( l ) ) = σ ( H ( l ) W ( l ) + b ( l ) ) T(\boldsymbol{H}^{(l)})=\sigma \big (\boldsymbol{H}^{(l)} \boldsymbol{W}^{(l)}+ \boldsymbol{b}^{(l)}\big ) T(H(l))=σ(H(l)W(l)+b(l))
H ( l + 1 ) = T ( H ( l ) ) ⊙ H ( l + 1 ) + ( 1 − T ( H ( l ) ) ) ⊙ H ( l ) \boldsymbol{H}^{(l+1)}=T\left( \boldsymbol{H}^{(l)}\right) \odot \boldsymbol{H}^{( l+1)}+\left( \boldsymbol{1}-T\left( \boldsymbol{H}^{(l)}\right) \right) \odot \boldsymbol{H}^{(l)} H(l+1)=T(H(l))⊙H(l+1)+(1−T(H(l)))⊙H(l)
其中 H ( l ) \boldsymbol{H}^{(l)} H(l)是 l l l层的输出和 ( l + 1 ) (l+1) (l+1)层的输入, W ( l ) \boldsymbol{W}^{(l)} W(l)和 b ( l ) \boldsymbol{b}^{(l)} b(l)分别是权重矩阵和偏置向量; ⊙ \odot ⊙是逐元素乘法。HGCN 分别计算两个 KG 的实体嵌入,然后使用公式1将嵌入映射到统一的向量空间。
第 2 阶 段 第 2 阶段 第2阶段基于其头和尾实体表示获得关系谓词嵌入。该阶段首先分别计算连接到一个关系谓词的所有头实体和尾实体的平均嵌入。然后,两个平均嵌入的连接经过线性变换后得到关系谓词的嵌入。
第 3 阶 段 第 3 阶段 第3阶段再次使用 Highway-GCN,输入是第 1 阶段计算的实体嵌入以及与实体相关的所有关系谓词嵌入的和的连接。对齐模块将两个 KG 的 Highway-GCN 的输出映射到一个统一的向量空间,其损失函数类似于公式1。
GMNN [69]将 EA 问题表述为两个 主 题 实 体 图 主题实体图 主题实体图之间的图匹配。KG 中的每个实体都对应一个主题实体图,该图由实体的单跳邻居和对应的关系谓词(即边)组成。这样的图表示实体的局部上下文信息。GMNN 使用图匹配模型对两个主题实体图的相似度进行建模,用以表示两个对应实体对齐的概率。
图匹配模型由四层组成,包括输入表示层、节点级匹配层、图级匹配层和预测层。输入表示层使用 GCN 对两个主题实体图进行编码并获得实体嵌入。节点级匹配层计算来自两个主题实体图的每对实体的嵌入之间的余弦相似度。该层进一步计算实体嵌入的注意力和,如下所示:
e ‾ i = ∑ j = 1 ∣ E 2 ∣ α i , j ⋅ e j ∑ j = 1 ∣ E 2 ∣ α i , j \overline{\boldsymbol{e}}_{i}=\frac{\sum _{j=1}^{\left| \mathcal {E}_{2}\right| } \alpha _{i, j} \cdot \boldsymbol{e}_{j}}{\sum _{j=1}^{\left| \mathcal {E}_{2}\right| } \alpha _{i, j}} ei=∑j=1∣E2∣αi,j∑j=1∣E2∣αi,j⋅ej
其中 α i , j \alpha _{i, j} αi,j是一个主题图中实体 e i e_i ei与另一个主题图中实体 e j e_j ej之间的余弦相似度。此计算是针对来自两个主题实体图的每对实体。得到的嵌入加权和作为图级匹配层的输入。图级匹配层在每个主题实体图上运行 GCN,以进一步在整个主题实体图中传播局部信息。然后将 GCN 的输出嵌入送入一个全连接神经网络,接一个逐元素的最大或均值池化方法,以获得每个主题实体图的图匹配表示。最后,预测层将图匹配表示作为输入,并使用 softmax 回归函数来预测实体对齐。
MuGNN [5]解决了 KG 之间的结构异质性,这种异质性可能导致应该对齐的实体的嵌入不相似。为了调和 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2的结构之间的异质性(即差异),MuGNN 在嵌入模块中使用多通道 GNN,在面向 K G 补 全 KG补全 KG补全和 修 剪 专 有 实 体 修剪专有实体 修剪专有实体的多个通道中编码KG。
MuGNN 的一个通道,通过对每个 KG使用Horn 规则来添加 KG 中缺失的关系谓词,以进行 KG 补全,例如,AMIE+ [16]提取出规则$marriedTo(x; y) \wedge liveIn(x; z) \Rightarrow liveIn(y; z) $。然后通过参数共享将生成的两组规则相互传递。MuGNN 的另一个通道修剪“专有实体”,即仅出现在两个 KG 之一的那些实体。
具体来说,多通道 GNN 的公式如下,假设一个双通道 MuGNN:
MultiGNN ( H l ; A 1 , A 2 ) = Pooling ( H 1 l + 1 , H 2 l + 1 ) \text {MultiGNN}(\boldsymbol{H}^l;\boldsymbol{A}_1,\boldsymbol{A}_2)=\text {Pooling}(\boldsymbol{H}_1^ {l+1},\boldsymbol{H}_2^{l+1}) MultiGNN(Hl;A1,A2)=Pooling(H1l+1,H2l+1)
H i l + 1 = GCN ( A i , H l , W i ) , i = 1 , 2 \boldsymbol{H}_i^{l+1}=\text {GCN}(\boldsymbol{A}_i,\boldsymbol{H}^l,\boldsymbol{W}_i), i=1,2 Hil+1=GCN(Ai,Hl,Wi),i=1,2
其中,与公式4类似, H l \boldsymbol{H}^l Hl是当前层的输入实体嵌入,而 H i l + 1 \boldsymbol{H}_i^{l+1} Hil+1是第 i i i个通道的当前层的输出实体嵌入; A i \boldsymbol{A}_i Ai和 W i \boldsymbol{W}_i Wi分别是第 i i i个通道中的邻接矩阵和可学习的权重矩阵。在层的最后,使用池化来组合两个通道。邻接矩阵 A i \boldsymbol{A}_i Ai由具有自注意力和跨 KG 注意力的不同加权方案确定,如下所示。
A 1 \boldsymbol{A}_1 A1是基于自注意力确定的,其中元素 a i j a_{ij} aij是从 e i e_i ei到 e j e_j ej的连通性,如下所示:
a i j = softmax ( c i j ) = exp ( c i j ) ∑ e k ∈ N e i ∪ { e i } exp ( c i k ) a_{ij} = {\text {softmax}}(c_{ij})=\frac{\exp (c_{ij})}{\sum _{e_k \in N_{e_i} \cup \{e_i\}} \exp (c_{ik})} aij=softmax(cij)=∑ek∈Nei∪{ei}exp(cik)exp(cij)
这里, N e i N_{e_i} Nei是 e i e_i ei的邻居, c i j c_{ij} cij是与公式7中定义相同的注意力系数。
如果其中一个实体是专有实体, A 2 \boldsymbol{A}_2 A2通过降低这些实体间的连通性 a i j a_{ij} aij的权重来修剪专有实体,形式为:
a i j ∈ A 2 = max r 1 ∈ R 1 , r 2 ∈ R 2 1 ( ( e i , r 1 , e j ) ∈ T 1 ) sim ( r 1 , r 2 ) a_{ij}\in \boldsymbol{A}_2 = \max \limits _{r_1\in \mathcal {R}_1, r_2\in \mathcal {R}_2}\boldsymbol{1 }((e_i,r_1,e_j)\in \mathcal {T}_1){\text {sim}}(r_1,r_2) \\ aij∈A2=r1∈R1,r2∈R2max1((ei,r1,ej)∈T1)sim(r1,r2)
其中 R 1 \mathcal {R}_1 R1和 R 2 \mathcal {R}_2 R2分别是 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2的关系谓词集。函数 1 ( ⋅ ) = 1 \boldsymbol{1}(\cdot ) = 1 1(⋅)=1如果 ( e i , r 1 , e j ) ∈ T 1 (e_i,r_1,e_j) \in \mathcal {T}_1 (ei,r1,ej)∈T1,否则为 0。函数 sim ( r 1 , r 2 ) {\text {sim}}(r_1,r_2) sim(r1,r2)是两个关系谓词 r 1 r_1 r1和 r 2 r_2 r2之间的内积相似度。
为了将来自多通道 GNN 的 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2的嵌入统一到相同的向量空间中,MuGNN 的对齐模块利用了公式1的变体,它是种子实体对齐损失和种子关系谓词对齐损失的加权和。
NMN [64]旨在解决 KG 之间的结构异质性。为了解决这个问题,该技术同时学习 KG 结构信息和邻域差异,以便在存在结构异质性的情况下更好地捕获实体之间的相似性。
为了学习 KG 结构信息,NMN 的嵌入模块使用带有高速门的 GCN 对 KG 结构信息进行建模,输入为要对齐的 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2。该模块使用种子实体对齐和基于边界的损失函数(参见公式1 )进行了预训练 。
NMN 然后使用跨图匹配来捕获邻域差异。首先使用邻域采样策略选择信息量更大的单跳邻居,基于观察到实体及其邻居出现在同一上下文中的频率越高,该邻居对该实体的代表性和信息量就越大。然后,跨图匹配将源 KG 中实体的采样邻域子图与目标 KG 中每个候选实体的子图进行比较,以选择最佳对齐实体。计算一个跨图向量以指示实体是否相似。跨图匹配由注意力机制完成。
NMN 连接实体嵌入及其邻域表示以获得用于 EA 的最终嵌入。EA 通过测量最终嵌入之间的欧几里德距离来实现。
CEA [78]考虑实体之间对齐决策的依赖性,例如,如果一个实体已经与某个实体对齐,则它不太可能成为对齐目标。论文提出了一个 集 体 集体 集体EA框架。它使用结构、语义和字符串信号来捕获源和目标 KG 中实体之间相似性的不同方面,由三个独立的相似性矩阵表示。具体来说,结构相似度矩阵是基于GCN 输出的嵌入矩阵并利用余弦相似度计算得到的,语义相似度矩阵是根据词嵌入计算的,字符串相似度矩阵是通过实体名称之间的 Levenshtein 距离计算的。这三个矩阵进一步组合成一个融合矩阵。然后,CEA 将 EA 表示为融合矩阵上经典的稳定匹配问题,以捕获相互依赖的 EA 决策,该决策由 延 迟 接 受 延迟接受 延迟接受算法 [42]解决。
其他基于 GCN 的 EA 技术 RDGCN [62],类似于 HGCN,利用关系信息并使用高速门扩展 GCN 来捕获邻域结构信息。RDGCN 与 HGCN 的不同之处在于它通过注意力交互来结合关系信息。AVR-GCN [76]考虑 GCN 范式下的多重映射,并同时学习KG 的实体和关系谓词嵌入。具体来说,它首先通过一个名为 向 量 化 关 系 G C N 向量化关系 GCN 向量化关系GCN的嵌入模型来学习这些嵌入,然后使用权重共享机制将这些嵌入合并(例如,通过连接或向量变换)到一个统一的向量空间中。HMAN [72] 除了结构信息之外,还考虑了更多其他类型的信息,例如关系谓词、属性值和实体描述。具体来说,HMAN 采用预训练的 BERT 模型 [10]来捕获无法直接测量的两个实体描述的语义相关性。SSP [35]同时使用基于平移和基于 GNN 的范式。它通过结构和语义保持网络捕获(关系谓词中的)局部语义和全局结构信息。CG-MuAlign [86]通过注意力机制集体对齐实体来解决结构异质性问题。XS20 [70] 是另一种在其推理模块中解决多对一对齐问题的 EA 技术。它将 EA 建模为一个任务分配问题,并通过匈牙利算法[25]来解决它。
KECG [27]旨在通过联合训练基于 GAT 的 跨 图 模 型 跨图模型 跨图模型和基于 TransE 的 知 识 嵌 入 模 型 知识嵌入模型 知识嵌入模型来协调 KG 之间的结构异质性问题。
KECG 中的跨图模型使用两个 KG 上的两个 GAT来嵌入实体,对图结构信息进行编码。GAT 中的注意力机制有助于忽略不重要的邻居并减轻结构异质性问题。GAT的投影矩阵 W \boldsymbol{W} W(参见公式 5)设置为对角矩阵,这减少了要学习的参数数量并增加了模型的泛化性。
像往常一样,KECG 使用第 3 节描述的注意力机制和4.2节描述的跨图模型的基于边界的损失。
KECG 中的知识嵌入模型使用 TransE 对每个 KG 中的结构信息进行单独编码。KECG 的总体目标函数是来自跨图模型和知识嵌入模型的损失函数的加权和。
AliNet [48]是基于观察到来自 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2的一些对齐实体不共享相似的邻域结构。这些本该对齐的实体可能会被其他基于 GNN 的 EA 技术遗漏,因为这些技术依赖于相似邻域结构执行EA。AliNet 通过既考虑直接邻居也考虑远邻来解决这个问题。
AliNet 通过实体邻域信息的受控聚合来学习实体嵌入。不失一般性,我们在下面描述了两跳邻域的过程,但方法适用于任意跳邻域。首先,使用 GCN 聚合直接(即单跳)邻居的信息。令实体 e i e_i ei在第 l l l层单跳邻居聚合后的嵌入为 e i , 1 ( l ) \boldsymbol{e}^{(l)}_{i,1} ei,1(l)。然后,对于两跳邻居,使用注意力机制来指示它们对 e i e_i ei的嵌入的贡献,如下所示:
e i , 2 ( l ) = σ ( ∑ j ∈ N 2 ( i ) ∪ { i } α i j ( l ) W 2 ( l ) e j ( l − 1 ) ) \boldsymbol{e}_{i, 2}^{(l)}=\sigma \Big (\sum _{j \in \mathcal {N}_{2}(i) \cup \{i\}} \alpha _{ij}^{(l)} \boldsymbol{W}_{2}^{(l)} \boldsymbol{e}_{j}^{(l-1) }\Big ) ei,2(l)=σ(j∈N2(i)∪{i}∑αij(l)W2(l)ej(l−1))
其中 e j ( l − 1 ) \boldsymbol{e}_{j}^{(l-1)} ej(l−1)是 e j e_j ej在 ( l − 1 ) (l-1) (l−1)层的嵌入; N 2 ( ⋅ ) \mathcal {N}_{2}(\cdot ) N2(⋅)是 e i e_i ei的两跳邻居集合; W 2 ( l ) \boldsymbol{W}_{2}^{(l)} W2(l)是一个可学习的权重矩阵。为了保留 e i e_i ei与其邻居之间的差异,使用两个不同的、分别针对 e i ( l ) e^{(l)}_i ei(l)和 e j ( l ) e^{(l)}_j ej(l)的变换矩阵 M 1 ( l ) \boldsymbol{M}^{(l) }_1 M1(l)和 M 2 ( l ) \boldsymbol{M}^{(l)}_2 M2(l) 来计算注意力系数 c i j ( l ) c_{ij}^{(l)} cij(l):
c i j ( l ) = LeakyReLU [ ( M 1 ( l ) e i ( l ) ) ⊤ ( M 2 ( l ) e j ( l ) ) ] c_{ij}^{(l)}=\text {LeakyReLU }\big [\big (\boldsymbol{M}_{1}^{(l)} \boldsymbol{e}_ {i}^{(l)}\big )^{\top }\big (\boldsymbol{M}_{2}^{(l)} \boldsymbol{e}_{j}^{(l)} \big )\big ] cij(l)=LeakyReLU [(M1(l)ei(l))⊤(M2(l)ej(l))]
在 AliNet 每一层的最后,利用门控机制结合来自一跳和两跳邻居的信息,即实体 e i e_i ei在第 l l l层的嵌入计算如下:
e i ( l ) = g ( e i , 2 ( l ) ) ⋅ e i , 1 ( l ) + ( 1 − g ( e i , 2 ( l ) ) ) ⋅ e i , 2 ( l ) \boldsymbol{e}_{i}^{(l)}=g\left( \boldsymbol{e}_{i, 2}^{(l)}\right) \cdot \boldsymbol{e}_{i, 1}^{(l)}+\left( 1-g\left( \boldsymbol{e}_{i, 2}^{(l)}\right) \right) \cdot \boldsymbol{e}_{i, 2}^{(l)} ei(l)=g(ei,2(l))⋅ei,1(l)+(1−g(ei,2(l)))⋅ei,2(l)
其中 g ( ⋅ ) g(\cdot ) g(⋅)是门, g ( e i , 2 ( l ) ) = σ ( M e i , 2 ( l ) + b ) g(\boldsymbol{e}_{i, 2}^{(l)})=\sigma \big (\boldsymbol{M e }_{i, 2}^{(l)}+\boldsymbol{b}\big ) g(ei,2(l))=σ(Mei,2(l)+b), M \boldsymbol{M} M和 b \boldsymbol{b} b是权重矩阵和偏置。
MRAEA [32]除了考虑从关系三元组结构中学习的结构信息外,还考虑元关系语义,包括关系谓词、关系方向和逆关系谓词。元关系语义通过 结 合 元 关 系 的 嵌 入 结合元关系的嵌入 结合元关系的嵌入(meta-relation-aware embedding)和 结 合 关 系 的 G A T 结合关系的GAT 结合关系的GAT(relation-aware GAT)集成到结构嵌入中。
为了计算结合元关系的嵌入(实体和关系谓词嵌入的连接),我们首先用“逆关系谓词”替换原始关系谓词,来为每个三元组创建一个“逆三元组”以扩展关系三元组集合,同时保持相同的头和尾实体不变。其次,目标实体的结合元关系的嵌入的实体和关系嵌入分量分别通过对相邻实体的分量进行平均来计算。
通过加入目标实体邻居的结合元关系的嵌入,结合关系的GAT生成每个实体的结合结构和关系的嵌入。具体来说,GAT 的注意力系数 c i j c_{ij} cij表示相邻实体 e j e_j ej和相连的关系谓词 r k r_k rk对目标实体 e i e_i ei的重要性,计算为:
c i j = w T [ e i ∥ e j ∥ 1 ∣ M i j ∣ ∑ r k ∈ M i j r k ] c_{ij}=\boldsymbol{w}^{T}\Big [{\boldsymbol{e}_{i}}\Vert \boldsymbol{e}_{j}\Vert \frac {1}{\left| \mathcal {M}_{ij}\right| } \sum _{r_{k} \in \mathcal {M}_{ij}} \boldsymbol{r}_{k}\Big ] cij=wT[ei∥ej∥∣Mij∣1rk∈Mij∑rk]
其中嵌入 e i \boldsymbol{e}_{i} ei、 e j \boldsymbol{e}_{j} ej和 r k \boldsymbol{r}_{k} rk是结合元关系的嵌入; w \boldsymbol{w} w是一个可学习的权重向量; M i j = { r k ∣ ( e i , r k , e j ) ∈ T } \mathcal {M}_{ij}=\left\{ r_{k} \mid \left( e_{i}, r_{k}, e_{j}\right) \in \mathcal {T}\right\} Mij={rk∣(ei,rk,ej)∈T}是从 e i e_i ei到 e j e_j ej的关系谓词的集合,它将关系特征结合到注意力机制中。
像往常一样,MRAEA 如公式1一样使用基于边界的损失函数进行训练。
EPEA [60]通过 成 对 连 接 图 成对连接图 成对连接图(pairwise connectivity graph,PCG)学习实体对的嵌入,而不是单个实体的嵌入。EPEA 首先生成 PCG,其节点是来自 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2的实体对。给定 PCG 中的两个实体对 ( e 1 , i , e 2 , i ) (e_{1, i}, e_{2, i}) (e1,i,e2,i)和 ( e 1 , j , e 2 , j ) (e_{1, j}, e_{2, j}) (e1,j,e2,j),如果在 G 1 \mathcal {G}_1 G1中存在连接 e 1 , i e_{1, i} e1,i到 e 1 , j e_{1, j} e1,j的关系谓词 r 1 r_1 r1,在 G 2 \mathcal {G}_2 G2中存在连接 e 2 , i e_{2, i} e2,i到 e 2 , j e_{2, j} e2,j的关系谓词 r 2 r_2 r2,则在两个实体对之间添加一条边。在生成所有实体对作为 PCG 的节点后,基于属性相似性,EPEA 使用 CNN 将实体对的属性编码为嵌入。然后将这些属性嵌入输入到 GAT 中,该 GAT 进一步结合结构信息并产生分数,该分数表示实体对是对齐实体对的概率。然后将该评分函数用作公式1中的 f align f_\text {align} falign来训练整个模型。推理模块以实体对嵌入作为输入,通过对评分函数值执行二分类来预测对齐实体对。
AttrGNN [31]利用一个统一网络从关系三元组和属性三元组中学习嵌入。它将每个 KG 划分为四个子图,分别是实体名称的属性三元组、文字值的属性三元组、数字值的属性三元组和剩余三元组(即关系三元组)。对于每个子图,使用 GAT并基于属性以及KG 结构计算实体嵌入;然后,根据实体嵌入计算 G 1 \mathcal {G}_1 G1和 G 2 \mathcal {G}_2 G2之间的相似度矩阵。最后,对四个相似度矩阵进行平均,得到推理模块的最终相似度矩阵。
我们讨论了现有数据集和实验研究的局限性,展示了我们提出的解决这些局限性的数据集,并报告了使用我们的数据集对代表性 EA 技术进行的综合实验研究。
现有数据集有几个显著的局限性,即 双 射 双射 双射、 缺 乏 名 称 多 样 性 缺乏名称多样性 缺乏名称多样性和 小 规 模 小规模 小规模,这些将在下面详述。
双射 许多现有论文,包括一些基准测试论文,都使用了由两个 KG 组成的数据集,其中一个 KG 中的几乎每个实体在另一个 KG 中都有且只有一个对齐的实体,即两个 KG 之间存在双射。此类数据集是从 Wikipedia 的不同语言版本生成的(例如,DBP15K [45]和KaTeX parse error: Undefined control sequence: \hbox at position 1: \̲h̲b̲o̲x̲ ̲{SRPRS}_\text {…[18]),支持此类数据集的应用对齐两个不同语言的 KG,即 多 语 言 E A 多语言EA 多语言EA。然而,这样的应用实例在现实生活中并不常见。
我们认为以下情况更为常见:两个 KG 来自不同的来源,例如,一个从 Wikipedia 构建的通用 KG,另一个来自特定领域的来源,如医学、位置、航班和音乐。来源的差异通常不是语言,而是知识的覆盖范围,因此两个 KG 相互补充,将它们对齐有助于丰富它们。因此,需要 KG 之间的 非 双 射 非双射 非双射。最近的一篇论文 [82]也指出双射是一种不符合实际的设置,并创建了 D B P DBP DBP- F B FB FB,一个由两个不同来源 KG (DBpedia 和 Freebase)组成的数据集。这是向非双射数据集迈出的一大步,然而,DBP-FB 的一个很大缺陷是它不包含任何除实体名称外的通用属性(例如,年份、地址等)三元组,因此不足以满足最新 EA 技术的需要,这些技术大量使用通用属性作为特征。从我们的实验(表 5)中,我们看到最新的 EA 技术使用通用属性作为输入特征,这对有效性至关重要。创建来自不同来源的数据集具有挑战性。最近的工业基准数据集 MED-BBK-9K [81] 是从不同来源构建的。然而,这个数据集也存在双射问题,而且规模很小:这个数据集中涵盖的唯一实体数量少于 10,000。
缺乏名称多样性 与最近提出的数据集 MED-BBK-9K 和 DBP-FB 不同,以前的大多数 EA 数据集都是由具有相同来源的 KG 构建的。例如,DWY100K [46]及其重采样版本 SRPRS mono \text {SRPRS}_\text {mono} SRPRSmono[18]包含的 KG 对(DBpedia-Yago 和 DBpedia-Wikidata)具有相同的主要来源Wikipedia。因此,来自两个 KG 的实体名称可能具有相同的表面标签;这样的名称成为“狡猾的特征”,可以用来轻松实现 100% 准确的 EA(我们称之为 缺 乏 名 称 多 样 性 缺乏名称多样性 缺乏名称多样性问题)。为了解决这个问题,Sun 等人[49] 从 DWY100K 中删除所有实体名称。然而,这是一种矫枉过正的做法,因为在现实世界的设置中,KG 确实包含实体名称作为属性,但同一现实世界实体的名称却有不同。最近提出的数据集 DBP-FB 有很大一部分实体 ( 42 % 42\% 42%) 具有不同的实体名称,因此由于 DBpedia 和 Freebase 不同的数据源而具有良好的名称多样性,但它缺乏通用属性三元组,如前所述限制了它的使用。我们需要具有大量通用属性三元组且名称多样化的数据集。我们提出的数据集解决了这些问题。
小规模 大多数现有数据集都是小规模(例如,MED-BBK-9K 包含 9,162 个唯一实体)到中等(例如,DBP-FB 包含 29,861 个唯一实体)大小。我们提出的数据集包含来自两个 KG 组合的多达 600,000 个唯一实体。
表 3 总结了各种数据集的关键属性。我们提出的基准 DWY-NB 具有所有三个理想属性:非双射、名称多样性和大尺寸。一些研究考虑了数据集是多语言还是单语言的属性。我们不认为它是影响数据集效用的基本属性,因为利用 KG 语义信息(如属性)的 EA 技术可以首先将其翻译成目标语言。请注意,当前所有的多语言数据集都存在前面讨论的双射问题。
表 3 数据集/基准比较
最近的几项研究旨在对 EA 技术进行基准测试。Sun等人[49]重新实现了 12 种具有代表性的 EA 技术,但重新实现遗漏了某些技术中的重要组件,例如 AttrE [51]和 MuGNN [5]中的谓词对齐。为避免此类问题,对于每种我们比较的技术,都使用他们的原始代码。Sun 等人[49]的另一个局限是他们只使用双射数据集。Zhao等人的研究[82]不包括使用属性三元组的技术的实验,例如 AttrE [51]和 MultiKE [80],但正如我们的实验所示,大部分最近的技术都使用属性三元组,且性能更好。Zhang等人[81]提出了一个新的数据集MED-BBK-9K,它的局限性在于双射和小尺寸,使得研究不够全面。
为了解决现有数据集的局限性,我们提出了一个名为DWY-NB的新基准,其中 NB 代表非双射。该基准由两个常规规模的数据集和本小节末尾描述的大规模数据集组成;每个常规规模的数据集都由一对可用于评估 EA 技术的 KG 组成。我们将这两个数据集称为DW-NB和DY-NB。DW-NB 的两个 KG 分别是 DBpedia 和 Wikidata [56]的子集。DY-NB 的两个 KG 分别是 DBpedia [1]和 Yago [19]的子集。我们选择这些来源作为起点,因为它们包含丰富的关系和属性三元组。
现在我们解释如何生成数据集。为了便于说明,我们接下来以 DW-NB 为例,而 DY-NB 的过程类似。我们从来自 [49]的数据集 DWY100K 的两个 KG( DBpedia 和 Wikidata )之间的对齐实体列表开始,我们将此列表称为 种 子 实 体 对 齐 种子实体对齐 种子实体对齐。此种子实体对齐包含 DBpedia 和 Wikidata 中的实体间的 100,000 个对齐的列表,最初由 DBpedia 网站提供。2我们从 DBpedia(或 Wikidata)中提取所有包含种子实体对齐中列出的实体的三元组,以形成 DBpedia(或 Wikidata)的子图,DBpedia 的子图和 Wikidata 的子图成为我们 DW-NB 数据集中的一对 KG。
为了解决双射问题,我们从两个 KG 的每一个中都随机删除一定百分比(默认为 25 % 25\% 25%)的实体;我们确保从一个 KG 中删除的实体与从另一个 KG 中删除的实体不同,因此不是一个 KG 中的每个实体都会在另一个 KG 中具有对齐的实体。结果,默认情况下,两个 KG 总的实体中有 50 % 50\% 50%没有对齐的实体。我们还改变了基准中对齐实体的比例。
为了解决名称多样性不足的问题,我们为实体名称属性添加多样性,如下所示。在每一个 KG 源(DBpedia、Wikidata 或 Yago)中,往往有多个属性对应于实体的名称,我们称之为 名 称 属 性 名称属性 名称属性。由于不同人对 KG 的管理过程,多个名称属性具有不同的属性值(即实体名称)。对于具有多个名称属性的实体,我们选择与其他 KG 中对应实体不同的名称属性(如果有)。因此,上述过程在我们的数据集中的 KG 之间提供了多种实体名称。经过这个过程, 36 % 36\% 36%的对齐实体具有不同的实体名称。DWY-NB的统计数据如表 4所示。为了在第 7.4 节的实验 5 中进行伸缩性实验,我们以与上述相同的方式进一步生成数据集 DW-NB 的更大版本(KG 对中每个 KG 中的 100K、300K 和 600K 实体)。所有数据集的详细信息可以在(https://github.com/ruizhang-ai/EA_for_KG)找到。
表 4 我们提出的基准 DWY-NB 的统计数据
我们进行了五组实验。 实 验 1 实验 1 实验1:根据文献 [7 , 46 , 64],EA 技术有效性的主要评估指标是 hits@1(或 hits@k),它表示在 top-k 预测的对齐实体中正确对齐实体的百分比。 实 验 2 实验 2 实验2:我们评估属性三元组对 EA 技术有效性的影响,因为使用属性三元组已成为最近提出的 EA 技术的趋势。 实 验 3 实验 3 实验3:除了实验 1,我们还通过直接下游应用评估 EA 技术的有效性。 实 验 4 实验4 实验4:在第3节,我们认为一项技术是否旨在进行多语言 EA 并非一个基本特征,因为我们可以将语义信息自动翻译成目标语言,从而使两个 KG 都使用相同的语言。这个实验证明了这个论点。 实 验 5 实验 5 实验5:我们研究了各种技术如何随着数据集大小而伸缩。
比较的技术 我们比较公开了代码的代表性技术。我们不对代码进行任何更改。我们为每种技术使用原始论文中建议的参数设置。每种技术的详细参数设置,读者可以参考相应的论文。
数据集 我们使用 DWY-NB 中的两个数据集(参见 第7.3节)进行实验。请注意,许多 EA 技术,例如 Cao 等人[5];Ye等人[76] 使用手动创建的种子属性/关系谓词对齐对性能产生积极影响,而其他一些技术则没有。为了能够在我们的实验研究中分离出被评估因素对某个实验的影响(例如,种子实体对齐比例的影响、属性三元组的影响等),我们在这些实验中预先对齐了 KG 之间的谓词,使得谓词对齐对所有技术的性能具有相同的影响,无论它们是否采取措施来对齐谓词。如果我们没有对齐数据中的谓词,那么不采取措施对齐谓词的技术可能由于未对齐的谓词而不是由于正在评估的因素的影响而导致性能较差。
环境 我们使用 Intel® Xeon® CPU E5-2650 v4 @ 2.20GHz 处理器、128GB 主内存、32GB 内存的 Nvidia Tesla GPU 和 Ubuntu 20.4 运行实验。编程语言和库包括 Python、TensorFlow、Torch 等,具体取决于用于原始代码的语言。
实验 1:种子实体对齐的影响 本实验根据 Hits@k 评估 EA 的准确率,将用于训练的种子实体对齐的数量占总的可用种子实体对齐集合(DW-NB 为 50,000,DY-NB 为 7500)从10% 变到 50 % 50\% 50%。更高的 hits@k 意味着更好的准确率。表 5显示了结果。种子越多,所有技术的准确率就会越高,这是意料之中的,因为更多的种子提供了更多的监督。
总体而言,AttrE 和 MultiKE 的性能比其他的要好得多,尤其是在可用的种子实体对齐较少的情况下。这是因为它们充分利用了各种类型的特征,例如属性和关系谓词,而其他技术则没有。AttrE 的性能在改变种子数量时不会改变,因为它不使用种子对齐,所以当种子对齐几乎不可用时,AttrE 是明显的赢家。只有当种子实体对齐的数量达到 50% 时,NMN 的 Hits@1 才略高于 AttrE。一般来说,为了获得良好的对齐结果,监督模型要求种子对齐的比例至少为 30%。
在基于 GNN 的技术中,RDGCN 和 NMN 在 Hits@1 上排名前 2。值得注意力的是,基于平移和基于 GNN 的技术的前 2 名都利用了属性三元组,我们可以看到,平均而言,利用属性三元组的技术比不用的性能更好。与使用属性的其他技术相比,JAPE 的性能较差,因为它使用的属性信息非常有限,仅使用属性值的数据类型。
表 5 实验 1:种子实体对齐数量对 EA 准确率的影响,以 Hits@k (%) 表示
实验 2:属性三元组的效果 这个实验评估了利用属性三元组可以获得多少收益。对于每种 EA 技术,我们将“使用属性”版本与“不使用属性”版本的性能进行如下比较。对于原本利用属性三元组的技术,我们仅使用关系三元组(而不使用属性三元组)来计算实体嵌入来获得其“不使用属性”版本的性能。对于原本只使用关系三元组的技术,我们用一种利用属性三元组的朴素方式来获得其“使用属性”版本的性能,即将属性三元组视为关系三元组,这意味着将属性值视为图中节点。图 3显示了结果。本实验使用的种子实体对齐比例为 30 % 30\% 30%,其他比例的结果类似。对于每一种技术,“使用属性”版本都优于“不使用属性”版本,特别是对于那些原本使用属性三元组的技术。这些表明,充分利用属性三元组可以显著提高准确率。其中,两个版本的 AttrE 差距很大,因为 AttrE 没有使用种子对齐,并且严重依赖属性来训练对齐模块。MultiKE 同时使用种子对齐和属性三元组来产生统一的嵌入空间,因此两个版本之间的差距相对较小,但使用属性仍然提供了可观的收益。当 KG 不包含属性三元组但种子对齐可用时,MultiKE 是赢家。相比下,当“不使用属性”时,基于GNN的技术的性能(例如,HGCN、RDGCN、NMN)下降显著(最多 50 % 50\% 50%),因为它们严重依赖实体名称来初始化嵌入模块中的节点嵌入。在没有实体名称的情况下,节点嵌入是随机初始化的,这会导致性能不佳。有趣的是,原本不使用属性三元组的技术在“使用属性”版本中也获得了更好的性能,即使是采用将属性三元组视为关系三元组的朴素方式。
图 3 实验 2:使用属性与不使用属性(按“使用属性”版本的性能排序)
作为一个直观地理解属性三元组的益处的案例研究,我们来看以下示例: dbp:Ali_Lohan \verb+dbp:Ali_Lohan+ dbp:Ali_Lohan和 dbp:Lindsay_Lohan \verb+dbp:Lindsay_Lohan+ dbp:Lindsay_Lohan是具有相同邻居的兄弟姐妹: dbp:Michael_Lohan \verb+dbp:Michael_Lohan+ dbp:Michael_Lohan和 dbp:Dina_lohan \verb+dbp:Dina_lohan+ dbp:Dina_lohan,分别代表父亲和母亲。仅使用图结构信息的 EA 技术无法区分 dbp:Ali_Lohan \verb+dbp:Ali_Lohan+ dbp:Ali_Lohan和 dbp:Lindsay_Lohan \verb+dbp:Lindsay_Lohan+ dbp:Lindsay_Lohan,这可能会导致错误对齐。利用属性三元组的 EA 技术可以使用属性三元组,例如( dbp:Lindsay_Lohan,birth_date,1986-07-02) \verb+dbp:Lindsay_Lohan,birth_date,1986-07-02)+ dbp:Lindsay_Lohan,birth_date,1986-07-02)和( dbp:Ali_Lohan,birth_date,1993-12-22) \verb+dbp:Ali_Lohan,birth_date,1993-12-22)+ dbp:Ali_Lohan,birth_date,1993-12-22)来区分它们。这种情况在两个KG中都很常见。
实验 3:对齐模块对 KG 嵌入的影响 EA 技术的训练优化两个目标,即 K G 嵌 入 KG 嵌入 KG嵌入和 两 个 K G 的 对 齐 两个 KG 的对齐 两个KG的对齐(联合或交替优化),而不仅仅是 KG 嵌入,因此它可能不会产生最好的 KG 嵌入。本实验通过 KG 的下游应用评估从 EA 技术获得的 KG 嵌入与从纯 KG 嵌入技术(TransE 用于基于平移的技术, GCN 用于基于 GNN 的技术)获得的 KG 嵌入相比质量如何受到影响。根据之前对 EA 技术的研究 [49 , 82],我们为此目的使用了两个常见的下游任务:基于平移的技术的 链 接 预 测 链接预测 链接预测和基于GNN 的技术的 节 点 分 类 节点分类 节点分类,详细如下。链接预测任务旨在根据给定关系三元组的 h h h和 r r r来预测 t t t 。具体来说,首先通过用数据集中的所有实体替换其尾实体来破坏关系三元组。然后,破坏的三元组按合理性分数升序排列,分数计算公式为 h + r − t \boldsymbol{h} + \boldsymbol{r} - \boldsymbol{t} h+r−t。由于真实三元组(即 KG 中的三元组)预计比破坏的三元组具有更小的合理性分数并且在列表中的排名更高,因此使用 hits@10(真实三元组是否在前 10 位)作为衡量标准用于链接预测任务。节点分类任务旨在对节点进行分类并确定它们的标签。给定一个节点的嵌入,一个带有两折交叉验证的简单分类器 SVM [9]被训练来预测节点的实体类型(例如, person \verb+person+ person, organization \verb+organization+ organization 等)。表 6显示了下游应用程序在包含 10 % 10\% 10%、 30 % 30\% 30%和 50 % 50\% 50%种子实体对齐的DWY-NB 上的准确率。准确率随着种子对齐的数量而增加,但并不显著。
表 6 实验三:对下游任务的影响
将基于平移的 EA 技术与纯 KG 嵌入技术 TransE 进行了比较。MultiKE 和 AttrE 的链接预测准确率超过了TransE,而其他的则没有。这是因为 MultiKE 和 AttrE 充分利用了包括属性三元组在内的各种类型的信息作为输入特征,从而提高了 KG 嵌入的质量。
基于 GNN 的 EA 技术与 纯 KG 嵌入技术 GCN 进行了比较。所有基于 GNN 的技术的节点分类准确率都低于 GCN;最好的是 NMN(比 GCN 低 2% 左右)。使用属性三元组的技术比不使用的技术获得更好的准确率。
总之,从 EA 技术获得的 KG 嵌入在下游任务中的性能可能稍好或稍差,具体取决于 KG 结构嵌入的范式,细节见前面的段落。
实验 4:多语言 本实验评估各种技术在多语言 KG 上的表现,采用先翻译成同一种语言的方法。根据之前的研究 [82],我们使用多语言数据集KaTeX parse error: Undefined control sequence: \hbox at position 1: \̲h̲b̲o̲x̲ ̲{SRPRS}_\text {…[18],其中包含两个 KG 对 EN-DE 和 EN-FR。为了将属性三元组翻译成英文,我们使用了流行的开源翻译工具 F a i r s e q Fairseq Fairseq [36]。对于每种技术,我们运行一个“不使用属性”的版本(原始技术)和一个“使用属性”的版本(翻译方法)。结果如表 7所示。通过翻译方法使用属性,所有技术都有显著改进,包括原本就执行多语言 EA 的技术(主要是所有基于 GNN 的技术)。AttrE 和 MultiKE 不是为多语言 EA 设计的,但通过翻译方法,两者都具有与为多语言 EA 设计的技术相当的性能。这些验证了我们的论点,即为单语 EA 设计的技术可以通过利用语义信息(例如属性)和自动翻译来很好地执行多语言 EA。
表 7 多语种 KG 的效果
实验 5:可伸缩性 本实验评估各种技术随数据大小增长的表现。我们使用7.3节中描述的相同方式创建 EA 数据集,在 KG 对的每个 KG 中具有不同数量的实体 100K、300K 和 600K。这对 KG 的来源是 DBpedia 和 Wikidata,因此我们分别称它们为DW-NB-100K、DW-NB-300K和DW-NB-600K。我们已经解决了它们的双射和名称多样性问题,使得种子实体对齐的数量分别约为 50K、150K 和 300K。对于每个数据集,我们使用 30 % 30\% 30%的对齐实体进行训练。我们将实验重点放在四种代表性技术上,AttrE、MultiKE、NMN 和 MRAEA,它们分别是 DW-NB 数据集上基于平移和基于GNN技术的前 2 名。
理 论 分 析 ‾ \underline{理论分析} 理论分析。为简单起见,假设两个 KG 具有相似数量的实体 N N N。令 M M M表示两个KG中三元组的总数(即边数);那么 M M M在最坏的情况下是 N 2 N^2 N2,但实际上 M ≪ N 2 M\ll N^2 M≪N2,因为图是稀疏的。
推理模块通常通过 NNS 或类似操作,对于每个实体其时间/空间成本为 O ( N ) \mathcal {O}(N) O(N);为了对齐所有实体,时间成本为 O ( N 2 ) \mathcal {O}(N^2) O(N2),空间成本为 O ( N ) \mathcal {O}(N) O(N)。
训练模块包括嵌入模块和对齐模块。嵌入模块的时间/空间成本是 O ( M ) \mathcal {O}(M) O(M),因为它遍历两个 KG 中的所有三元组以及每个正样本(即每个三元组)的固定数量的负样本。对齐模块的时间/空间成本取决于算法。大多数技术在种子实体对齐以及可选的每个种子实体对齐的固定数量的负对齐样本上迭代,因此成本为 O ( ∣ S ∣ ) \mathcal {O}(|\mathcal {S}|) O(∣S∣),其中 ∣ S ∣ |\mathcal {S}| ∣S∣是种子实体对齐的数量。AttrE 是一个特例,因为它不使用种子;根据 5.2节,它的成本是 O ( N ) O ( N ) O(N)。对齐的空间成本是 O ( N ) O ( N ) O(N)。训练的空间成本是 O ( N ) \mathcal {O}(N) O(N)。
批 注 ‾ \underline{批注} 批注。尽管基于平移和基于 GNN 的技术具有相同的渐近训练成本,但由于训练机制不同,它们的实际 GPU 内存使用量差异很大。基于平移的技术的每次训练迭代通常需要计算平移函数(公式 3) 或其变体,仅涉及几个三元组。两个 KG 和嵌入存储在 CPU 内存中。TensorFlow 等机器学习框架仅将每次训练迭代所需的三元组(即小批量mini-batch)从 CPU 内存加载到 GPU 内存。我们可以将小批量的大小控制为只有几个三元组,因此基于平移的技术所需的 GPU 内存非常小。相比之下,基于 GNN 的技术通常使用消息传递来计算图节点和边的嵌入,TensorFlow 中的消息传递过程将整个图加载到 GPU 内存中,即 O ( M ) \mathcal {O}(M) O(M),很大的数目。GPU 内存是运行机器学习算法的瓶颈。这使得基于平移的技术在 GPU 内存需求方面比基于 GNN 的技术更具可扩展性。
实 验 结 果 ‾ \underline{实验结果} 实验结果。表 8显示了随着数据量的增长,四种代表性技术的训练模块的运行时间和 GPU 内存使用情况。
对于相同的数据集大小,所有测试技术的运行时间相似。基于平移的技术 AttrE 和 MultiKE 具有恒定的 GPU 内存使用量,因为它由小批量的大小决定。MultiKE 使用比 AttrE 更多的 GPU 内存,因为 MultiKE 更复杂并且计算的东西更多。随着数据大小从 100K 增长到 300K,基于 GNN 的技术的 GPU 内存使用量比基于平移的技术增长更多,因为它是 O ( M ) \mathcal {O}(M) O(M)的。我们无法在 600K 数据集上运行这两种基于 GNN 的技术,因为我们服务器上的 GPU 内存(32GB)不够。总之,在实践中,基于平移的技术比基于 GNN 的技术更具伸缩性。我们观察到基于 GNN 的技术的运行时间和 GPU 内存使用量的增长是次线性的,这是由于图非常稀疏。所有技术的推理模块都需要两到三个小时,比训练要少得多。
表 8 运行时间和 GPU 内存与数据集大小
表 9显示了随着数据集大小增长这些技术的准确率。随着实体数量的增加,所有技术的准确率都会有所下降。这是因为对于一个 KG 中的相同实体,在更大的数据集的情况下,另一个 KG 中有更多与其相似的实体,这使得正确预测对齐的实体变得更加困难。
表 9 准确率与数据集大小
在 大 型 K G 上 对 齐 ‾ \underline{在大型 KG 上对齐} 在大型KG上对齐。一个有趣的问题是,这些算法是否可以扩展到大型 KG,例如完整的 Wikidata(9500 万实体)和 Freebase(8600 万实体)。有兴趣的读者可以在https://arxiv.org/abs/2103.15059上参考本文的较长版本。
我们提供了关于使用新的表示学习方法的代表性 EA 技术的综合教程式综述。我们提出了一个框架来捕获这些技术的关键特征,提出了一个基准 DWY-NB 来解决现有基准数据集的局限性,并使用所提出的数据集进行了广泛的实验。实验研究显示了这些技术的比较性能,以及各种因素如何影响性能。从实验中得出的一个结论是,充分利用诸如属性三元组之类的语义信息可以显著提高准确率。AttrE 和 MultiKE 在我们实验的各种设置中始终表现最佳。
未来方向 在基准方面,可能会进一步探索更多的实验设置,例如改变具有相同名称的实体的比例(即“狡猾”特征的比例),以及关系三元组和属性三元组之间的比例。
在 EA 技术的准确率方面,我们可以通过预训练来提高。预训练在 NLP 中非常成功,但它在知识库中的使用仅限于使用预训练的词嵌入来初始化实体名称特征。预训练的创新方式仍有巨大潜力。例如,可以根据谓词描述计算预训练的谓词嵌入,以捕获来自不同 KG 的谓词的语义和相似性。为了训练这样的嵌入,我们可以使用Transformer从关系描述中进行关系预测,即,给定一个关系描述,训练模型来预测相应的关系。它可以进一步扩展为两个实体之间的关系预测,其中输入模型两个实体的描述并预测两个实体之间的关系。
根据基于我们的框架的分析和讨论,可以改进 EA 技术使用的各种组件和策略。首先,许多基于平移的 EA 技术使用 TransE 作为 KG 结构嵌入(参见表 2)。我们可能会探索用 TransD [20]和 TransR [30]等 TransE 的改进版本来替换这个组件。其次,许多基于平移的技术使用与 TransE(公式3)相同的损失函数 。我们可以尝试基于极限的损失函数(公式13),据报道它具有更好的性能[83]。第三,大多数现有的 EA 技术在对齐模块中使用种子对齐(参见图 2),但种子对齐成本高且难以获得,因此无监督 EA 技术将是一个有吸引力的方向。
就 EA 技术的效率和可扩展性而言,现有的研究大多是在小型数据集上进行的。重要的是开发可以在非常大的 KG 上执行 EA 的技术,并在效率和内存需求方面有所提升。
我们的基准测试和我们实验的所有代码可在 https://github.com/ruizhang-ai/EA_for_KG 获得。 ↩︎
https://wiki.dbpedia.org/downloads-2016-10 ↩︎