实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks

  • 关键词:Cross-lingual Entity AlignmentGCNEmbedding

  • 摘要

多语言知识图谱(KG)例如DBpedia和YAGO都包含几种不同语言实体中的机构性知识,并且它们对于跨语言AI和NLP应用都是有用的资源。跨语言KG对齐是一个将实体与它们在不同语言中对应部分匹配起来的任务,这是丰富多语言KG的跨语言链接的重要途径。本文中,我们提出一种基于图卷积神经网络(GCN)的跨语言实体KG对齐的新方法。给定一个预对齐实体集合,我们的方法训练GCN来将每种语言嵌入到一个统一向量空间。基于嵌入空间中实体间的距离发现实体对齐。嵌入可以从实体的结构信息和属性信息中学习到,并将结构嵌入和属性嵌入的结果结合起来进行精确的比对。在对真实多语言KG对齐的实验中,与其他基于嵌入的KG对齐方法相比,我们的方法获得了最佳的性能。

  • 介绍

问题 在本文之前的基于嵌入的方法(如MTransE,JAPE,JE,ITransE)都是试图将跨语言知识和单语言知识联合建模在一个统一的优化问题中。在优化过程中,必须仔细平衡两种知识的损失。此外,已有模型中并没有对实体的属性进行有效利用。

贡献  提出一种新的基于嵌入的方法,使用GCN来建模实体间的等价关系。其具有以下优点:

  • 该方法利用每个KG中的实体关系构建GCN的网络结构,在模型训练中只考虑实体之间的等价关系。该方法具有较小的模型复杂度,能够达到很好的对齐效果。
  • 我们的方法只需要预先对齐的实体作为训练数据,不需要KG之间预先对齐的关系或属性。
  • 该方法有效地结合了实体关系和实体属性,提高了对结果的一致性。

MTransE,JAPE,JE,ITransE都是先依靠TransE模型学习实体嵌入,然后定义对齐实体的嵌入之间的一些转换。与这些方法相比,我们的方法使用了一个完全不同的框架;它使用GCN将实体嵌入到一个统一的向量空间中,并期望对齐的实体尽可能接近。我们的方法只关注匹配两个KG中的实体,而不学习关系的嵌入。MTransE、JAPE和ITransE都需要KG中的关系对齐或共享;我们的方法不需要这种先验知识。

  • 方法

 

实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks

本文方法框架如图1.给定不同语言的两个知识图谱实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks,以及它们之间的预对齐实体集合实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks,我们的方法可以基于GCN实体嵌入自动发现新的实体对齐。方法的基本思想是用GCN将不同语言的实体嵌入到一个统一向量空间中,其中期望等价实体尽可能的接近。通过对实体的GCN表示应用一个预定义的距离函数来预测实体对齐。

 

基于GCN的实体嵌入

GCN是一种可以直接操作图数据的神经网络。GCN允许端到端学习预测管道,其输入是任意大小和形状的图形;GCN的目标是学习输入图上的特征函数,并生成节点级输出。GCN可以将节点的邻域信息编码为实值向量。当解决KG对齐问题时,我们假设(1)等价实体趋向于具有相似的属性(2)等价实体通常与某些其他等价实体相邻。GCN能够结合属性信息与结构信息,因此我们的方法使用GCN将实体投影到低维向量空间,其中等价实体彼此接近。

  一个GCN模型由多个堆叠的GCN层组成。第l层GCN模型的输入是一个顶点特征矩阵,实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks,其中n是顶点个数,实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networksl层特征数。l层的输出则是一个新的节点特征矩阵实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks,通过以下卷积计算:

实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks

其中σ是**函数;A是一个n×n连接矩阵,代表图的结构信息;实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional NetworksI是单位矩阵;实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks的对角节点度矩阵;实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks是GCN第l层的权重矩阵,实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks是新顶点特征的维数。

结构和属性嵌入  本方法为GCN层中的每个实体分配两个特征向量,结构特征向量实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks和属性特征向量实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks。在输入层,实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks被随机初始化并在训练过程中被更新;实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks是实体的属性向量,在模型训练过程中是固定的。让实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks作为所有实体的结构和属性特征矩阵,我们重定义了卷积计算如下:

实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks

其中实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks分别是第l层的结构特征与属性特征权重矩阵。

模型配置  模型使用两层GCN,每个GCN处理一个KG来生成其实体的嵌入。将两个实体记做实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks,并将它们对应的GCN模型记做实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks。对于实体的结构特征向量,我们将实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks中所有层的特征向量维度都设置为实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks;并且两个GCN模型在两层中的结构特征共享权重矩阵实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks。对于实体的属性向量,我们将输出特征向量维度设置为实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks。由于两个KG含有的属性数量不同(即实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks),因此两个GCN模型的输入属性特征向量维度也是不同的。每个GCN模型的第一层将输入属性特征向量转换成实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks维度的向量;两个GCN模型生成相同维度的属性嵌入。表1列出了方法中两个GCN的参数。最后的输出是实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks维度的实体嵌入,进一步用于发现实体对齐。

实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks

连通矩阵的计算  在GCN模型中,连通性矩阵A定义了卷积计算中实体的邻域。对于无向图,可直接使用邻接矩阵作为实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks。但知识图谱是关系多图,实体通过类型关系进行连接。因此,我们设计了一个特殊的方法来计算KG的A;我们让实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks表示从第i个实体到第j个实体的对齐信息传播的程度。考虑到两个实体如果通过不同的关系连接到已对齐实体,那么它们不等价的可能性很大(例如,有父母vs.有朋友)。因此,对于每个关系,我们计算两个测度,分别称为函数和逆函数:

实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks

为测量第i个实体对第j个实体的影响,我们设置实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks为:

实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks

对齐预测

实体对齐是基于GCN表示空间中两个KG中实体间的距离来预测的。对于实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks中的实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks中的实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks,我们计算以下距离:

实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks

其中实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks分别代表一个实体的结构嵌入和属性嵌入;实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks是结构嵌入和属性嵌入的维度;β是平衡两种嵌入重要性的超参数。

  期望等价实体间距离较小,非等价实体间距离较大。对于实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks中一个特定实体实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks,我们的方法可以计算实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks中的所有实体与实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks的距离,并返回一列有序实体作为候选实体。从实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks也可以进行对齐。在实验中,我们报告了两个方向的KG对齐结果。

模型训练

为使GCN能够将等价实体在向量空间中嵌入得尽可能接近,我们使用一个已知对齐实体集S作为训练数据来训练GCN模型。通过最小化下面的基于距离的排序损失函数进行模型训练:

实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks

实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks

其中创造负例的方法是从实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks中随机选取一个实体替换(e,v)中e或v;实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks是距离超参数,作用是将正对齐和负对齐分离开。实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks分别是结构嵌入与属性嵌入的损失函数,它们相互独立因此是分开进行优化的。我们使用SGD来最小化上述函数。

  • 实验

数据集:DBP15K

实验结果:

实体对齐4.EMNLP2018:(GCN-Align)Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks