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

本文介绍了基于图匹配神经网络的跨语言知识图谱对齐方法,通过构建topic entity graph来表示实体的上下文,并利用GCN学习实体嵌入。采用注意力匹配和多层GCN进行图级匹配,解决实体对齐中的挑战。这种方法考虑了局部和全局信息,提高了对齐准确性。
摘要由CSDN通过智能技术生成
《基于图匹配神经网络的跨语言知识图谱对齐》
Cross-lingual Knowledge Graph Alignment via Graph Matching Neural Network

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

一、简介

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

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

在这里插入图片描述

图1中的两个实体 e 0 e_0 e0 e 0 ′ e'_0 e0为对齐的实体,但是其邻居中仅有一对是对齐的实体,其他均不对齐。由于先前的嵌入方法不能将描述实体的文本信息(例如实体的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 G1 G 2 G_2 G2编码为两个包含实体嵌入向量的列表。然后,通过一个注意力匹配方法将两个图中的实体进行两两匹配。最后,使用生成的两两匹配向量进行分类。

二、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\} {e1,,en}
  • 将集合 { e 1 , … , e n } \{e_1,\dots,e_n\} {e1,,en}中的实体作为 topic entity graph \text{topic entity graph} topic entity graph中的节点,若实体对 ( e i , e j ) (e_i,e_j) (ei,ej)在原始知识图谱中存在关系 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 G1 G 2 G_2 G2

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 av
  • (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)\} {huk1,uN(v)}聚合为单一向量 h N ⊢ ( v ) k \textbf{h}_{\mathcal{N}_{\vdash}(v)}^k hN(v)k,其中 k k k是迭代聚合的当前索引;
  • (4) 将实体 v v v当前的输入表示 h v ⊢ k − 1 \textbf{h}_{v\vdash}^{k-1} hvk1与新生产的邻居聚合向量 h N ⊢ ( v ) k \textbf{h}_{\mathcal{N}_{\vdash}(v)}^k hN(v)k进行合并,并将合并的向量输入至全连接层,从而获得实体 v v v的新输入表示 h v ⊢ k \textbf{h}_{v\vdash}^{k} hvk
  • (5) 采用类似的方式获得实体 v v v的输出表示 h v ⊣ k \textbf{h}_{v\dashv}^k hvk
  • 重复(3)-(5) K次,并将最终的输入表示和输出表示进行拼接,获得实体 v v v的最终向量表示。
  • 通过该层最终能得到两个实体嵌入向量的集合 { e 1 1 , … , e ∣ G 1 ∣ 1 } \{\textbf{e}_1^1,\dots,\textbf{e}_{|G_1|}^1\} {e11,,eG11} { e 1 2 , … , e ∣ G 2 ∣ 2 } \{\textbf{e}_1^2,\dots,\textbf{e}_{|G_2|}^2\} {e12,,eG22}

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

本层会对两个 topic entity graph \text{topic entity graph} topic entity graph中所有实体嵌入向量进行两两匹配。具体来说,这里使用了一种基于注意力的匹配方式。首先,计算图 G 1 G_1 G1中实体 e i 1 e_i^1 ei1 G 2 G_2 G2中所有实体 { e j 2 } \{e_j^2\} {ej2}在表示空间中的 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=cosine(ei1,ej2)j{1,,G2}
将得到的相似度作为图 G 2 G_2 G2中每个实体的权重进行加权求和
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ˉi1=j=1G2αi,jj=1G2αi,jej2
这里的操作类似文本匹配模型 ESIM \text{ESIM} ESIM的操作, e ˉ i 1 \bar{\textbf{e}}_i^1 eˉi1 e i 1 \textbf{e}_i^1 ei1 G 2 G_2 G2中所有实体的相似性加权向量。

在为图 G 1 G_1 G1 G 2 G_2 G2中所有实体计算出相似加权向量后,通过一种多视角 cosine \text{cosine} cosine匹配函数 f m f_m fm来计算最终的匹配向量
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} miatt=fm(ei1,eˉi1)mjatt=fm(ej2,eˉj2)
其中,函数 f m f_m fm形式较为简单,详见原始论文附录。

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

直觉上,匹配向量 m a t t \textbf{m}^{att} matt捕获了图 G 1 ( G 2 ) G_1(G_2) G1(G2)中每个实体如何匹配另一个图中所有实体的信息。然而,这样的匹配仅保留局部匹配信息,并没有充分利用全局信息。例如,在在 G 1 G_1 G1 G 2 G_2 G2共现的实体中有许多实体仅有很少的邻居。对于这些实体,利用局部匹配信息会有很高概率的不正确。为了克服这个问题,论文利用另一个 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 ei1,ej2随机的构造20个负样本:

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BQW_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值