【自然语言处理】【知识图谱】基于图匹配神经网络的跨语言知识图谱对齐

《基于图匹配神经网络的跨语言知识图谱对齐》Cross-lingual Knowledge Graph Alignment via Graph Matching Neural Network

相关博客:
【自然语言处理】【知识图谱】利用属性、值、结构来实现实体对齐
【自然语言处理】【知识图谱】基于图匹配神经网络的跨语言知识图谱对齐
【自然语言处理】【知识图谱】使用属性嵌入实现知识图谱间的实体对齐
【自然语言处理】【知识图谱】用于实体对齐的多视角知识图谱嵌入
【自然语言处理】【知识图谱】MTransE:用于交叉知识对齐的多语言知识图谱嵌入
【自然语言处理】【知识图谱】SEU:无监督、非神经网络实体对齐超越有监督图神经网络?

一、简介

知识图谱以结构化的形式表示人类的知识,并成功应用到了许多自然语言处理任务中。但是,知识图谱通常是单语言的。为了能够将不同语言的知识图谱链接起来,交叉语言知识图谱对齐任务被提了出来。

近些年研究者提出了许多实体对齐的方法,这些方法将三元组中的知识编码至低维向量空间中。但是,不同语言知识图谱中的实体,其所属的三元组可能并不相同,这将进一步提高对齐的难度。

【自然语言处理】【知识图谱】基于图匹配神经网络的跨语言知识图谱对齐

图1中的两个实体e 0 e_0 e 0 ​和e 0 ′ e’_0 e 0 ′​为对齐的实体,但是其邻居中仅有一对是对齐的实体,其他均不对齐。由于先前的嵌入方法不能将描述实体的文本信息(例如实体的name)进行编码,而结构又无法提供充分的信息用于对齐。

为了解决上面的问题,论文提出了topic entity graph \text{topic entity graph}topic entity graph来表示一个实体的上下文。并且不同于先前使用实体嵌入进行对齐的方法,论文将实体对齐问题转换为topic entity graph \text{topic entity graph}topic entity graph的图匹配问题。具体来说,首先利用GCN \text{GCN}GCN将两个图G 1 G_1 G 1 ​和G 2 G_2 G 2 ​编码为两个包含实体嵌入向量的列表。然后,通过一个注意力匹配方法将两个图中的实体进行两两匹配。最后,使用生成的两两匹配向量进行分类。

; 二、Topic Entity Graph

直觉上,知识图谱中实体的局部上下文信息对于实体对齐任务非常的重要。因此,论文提出了topic entity graph \text{topic entity graph}topic entity graph,其能够表示给定实体的上下文关系。topic entity graph \text{topic entity graph}topic entity graph的构建步骤如下:

  • 收集给定实体的1跳邻居实体,得到实体集合{ e 1 , … , e n } {e_1,\dots,e_n}{e 1 ​,…,e n ​};
  • 将集合{ e 1 , … , e n } {e_1,\dots,e_n}{e 1 ​,…,e n ​}中的实体作为topic entity graph \text{topic entity graph}topic entity graph中的节点,若实体对( e i , e j ) (e_i,e_j)(e i ​,e j ​)在原始知识图谱中存在关系r r r,那么在topic entity graph \text{topic entity graph}topic entity graph中添加一条连接这两个实体的有向边;
  • topic entity graph \text{topic entity graph}topic entity graph中的边并不保留原始边的类型,只保留方向。

三、图匹配方法

本方法会为每对待对齐的实体创建对应的topic entity graph \text{topic entity graph}topic entity graph,即G 1 G_1 G 1 ​和G 2 G_2 G 2 ​。

1. 输入表示层

该层的目标是通过GCN \text{GCN}GCN来学习出现在topic entity graph \text{topic entity graph}topic entity graph中实体的嵌入向量。下面以实体v v v为例子展示嵌入向量的生成过程:

  • (1) 利用单词级别的LSTM \text{LSTM}LSTM将实体v v v的名称转换为初始特征向量a v \textbf{a}_v a v ​;
  • (2) 根据边的方向,将实体v v v的邻居分类为输入邻居N ⊢ ( v ) \mathcal{N}{\vdash}(v)N ⊢​(v )和输入层邻居N ⊣ ( v ) \mathcal{N}{\dashv}(v)N ⊣​(v );
  • (3) 利用多层GCN \text{GCN}GCN将实体v v v的输入邻居的向量{ h u ⊢ k − 1 , ∀ u ∈ N ⊢ ( v ) } {\textbf{h}{u\vdash}^{k-1},\forall u\in\mathcal{N}{\vdash}(v)}{h u ⊢k −1 ​,∀u ∈N ⊢​(v )}聚合为单一向量h N ⊢ ( v ) k \textbf{h}{\mathcal{N}{\vdash}(v)}^k h N ⊢​(v )k ​,其中k k k是迭代聚合的当前索引;
  • (4) 将实体v v v当前的输入表示h v ⊢ k − 1 \textbf{h}{v\vdash}^{k-1}h v ⊢k −1 ​与新生产的邻居聚合向量h N ⊢ ( v ) k \textbf{h}{\mathcal{N}{\vdash}(v)}^k h N ⊢​(v )k ​进行合并,并将合并的向量输入至全连接层,从而获得实体v v v的新输入表示h v ⊢ k \textbf{h}{v\vdash}^{k}h v ⊢k ​;
  • (5) 采用类似的方式获得实体v v v的输出表示h v ⊣ k \textbf{h}_{v\dashv}^k h v ⊣k ​;
  • 重复(3)-(5) K次,并将最终的输入表示和输出表示进行拼接,获得实体v v v的最终向量表示。
  • 通过该层最终能得到两个实体嵌入向量的集合{ e 1 1 , … , e ∣ G 1 ∣ 1 } {\textbf{e}1^1,\dots,\textbf{e}{|G_1|}^1}{e 1 1 ​,…,e ∣G 1 ​∣1 ​}和{ e 1 2 , … , e ∣ G 2 ∣ 2 } {\textbf{e}1^2,\dots,\textbf{e}{|G_2|}^2}{e 1 2 ​,…,e ∣G 2 ​∣2 ​}。

2. 节点级别(局部)匹配层

本层会对两个topic entity graph \text{topic entity graph}topic entity graph中所有实体嵌入向量进行两两匹配。具体来说,这里使用了一种基于注意力的匹配方式。首先,计算图G 1 G_1 G 1 ​中实体e i 1 e_i^1 e i 1 ​与G 2 G_2 G 2 ​中所有实体{ e j 2 } {e_j^2}{e j 2 ​}在表示空间中的cosine \text{cosine}cosine相似度,
α i , j = c o s i n e ( e i 1 , e j 2 ) j ∈ { 1 , … , ∣ G 2 ∣ } \alpha_{i,j}=cosine(\textbf{e}i^1,\textbf{e}_j^2)\quad j\in{1,\dots,|G_2|}αi ,j ​=c o s i n e (e i 1 ​,e j 2 ​)j ∈{1 ,…,∣G 2 ​∣}
将得到的相似度作为图G 2 G_2 G 2 ​中每个实体的权重进行加权求和
e ˉ i 1 = ∑ j = 1 ∣ G 2 ∣ α i , j ⋅ e j 2 ∑ j = 1 ∣ G 2 ∣ α i , j \bar{\textbf{e}}_i^1=\frac{\sum
{j=1}^{|G_2|}\alpha_{i,j}\cdot\textbf{e}j^2}{\sum{j=1}^{|G_2|}\alpha_{i,j}}e ˉi 1 ​=∑j =1 ∣G 2 ​∣​αi ,j ​∑j =1 ∣G 2 ​∣​αi ,j ​⋅e j 2 ​​
这里的操作类似文本匹配模型ESIM \text{ESIM}ESIM的操作,e ˉ i 1 \bar{\textbf{e}}_i^1 e ˉi 1 ​是e i 1 \textbf{e}_i^1 e i 1 ​与G 2 G_2 G 2 ​中所有实体的相似性加权向量。

在为图G 1 G_1 G 1 ​和G 2 G_2 G 2 ​中所有实体计算出相似加权向量后,通过一种多视角cosine \text{cosine}cosine匹配函数f m f_m f m ​来计算最终的匹配向量
m i a t t = f m ( e i 1 , e ˉ i 1 ) m j a t t = f m ( e j 2 , e ˉ j 2 ) \begin{aligned} &\textbf{m}_i^{att}=f_m(\textbf{e}_i^1,\bar{\textbf{e}}_i^1)\ &\textbf{m}_j^{att}=f_m(\textbf{e}_j^2,\bar{\textbf{e}}_j^2) \end{aligned}​m i a t t ​=f m ​(e i 1 ​,e ˉi 1 ​)m j a t t ​=f m ​(e j 2 ​,e ˉj 2 ​)​
其中,函数f m f_m f m ​形式较为简单,详见原始论文附录。

3. 图级别(全局)匹配层

直觉上,匹配向量m a t t \textbf{m}^{att}m a t t捕获了图G 1 ( G 2 ) G_1(G_2)G 1 ​(G 2 ​)中每个实体如何匹配另一个图中所有实体的信息。然而,这样的匹配仅保留局部匹配信息,并没有充分利用全局信息。例如,在在G 1 G_1 G 1 ​和G 2 G_2 G 2 ​共现的实体中有许多实体仅有很少的邻居。对于这些实体,利用局部匹配信息会有很高概率的不正确。为了克服这个问题,论文利用另一个GCN \text{GCN}GCN来将局部匹配信息传播至全图。

直觉上,局部匹配向量中保存了两个topic entity graph \text{topic entity graph}topic entity graph如何匹配的信息,那么在整个知识图谱上使用GCN \text{GCN}GCN将能够编码两个图的全局匹配信息。最后,论文将匹配向量表示输入全连接层中,并利用max pooling和mean pooling来生成固定长度的图匹配向量表示。

4. 预测层

将最终的匹配向量表示输入两层全连接层网络,并使用softmax \text{softmax}softmax来输出匹配结果。

四、训练及推理

为了模型训练,为每个正样本⟨ e i 1 , e j 2 ⟩ \langle e_i^1,e_j^2\rangle ⟨e i 1 ​,e j 2 ​⟩随机的构造20个负样本:

  • 使用将实体名称的预训练词向量求和的方式为G 1 G_1 G 1 ​和G 2 G_2 G 2 ​中的每个实体生成一个初始的嵌入向量;
  • 然后找出与实体e i 1 e_i^1 e i 1 ​(或e j 2 e_j^2 e j 2 ​)在嵌入空间最近的10个实体,用于构造负样本

在推理时,给定一个G 1 G_1 G 1 ​中的实体,将G 2 G_2 G 2 ​中的实体按照模型输出的匹配概率进行降序排序;

Original: https://blog.csdn.net/bqw18744018044/article/details/115679633
Author: BQW_
Title: 【自然语言处理】【知识图谱】基于图匹配神经网络的跨语言知识图谱对齐

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/595294/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球