介绍

英文题目:Cross-lingual Knowledge Graph Alignment viaGraph Convolutional Networks

中文题目:基于 GCN 的跨语言知识图对齐

论文地址:https://aclanthology.org/D18-1032.pdf

领域:知识图谱,知识对齐

发表时间:2018

作者:Zhichun Wang 北京师范大学

出处:EMNLP

被引量:198

代码和数据:https://github.com/1049451037/GCN-Align

阅读时间:2022.04.15

其它介绍

文章亮点:

  • 复习了之前的对齐方法
  • 提出了邻接矩阵的计算以及属性的代入方法技巧
  • GCNAlign 和同类文件相比,引用量大,速度快,效果好,常作为默认工具
  • 文章偏重真实场景中,多种关系,属性类别,属性值的应用。

泛读

  • 针对问题:不同语言知识图中的实体对齐
  • 结果:使用比较简单的方法,超过或得到与之前的方法近似的效果
  • 核心方法:调整 GCN 层计算方法,可同时对结构和属性编码
  • 难点:无
  • 泛读后理解程度:直接精读

(看完题目、摘要、结论、图表及小标题)

精读

摘要

文中方法主要用于解决多语言知识图的实体对齐问题。文中提出 GCNs(graph convolutional networks),利用预对齐实体,通过训练,将实体表征为低维向量。实体对齐基于实体和嵌入的距离计算。嵌入基于对图结构和实体属性的学习,结合二者得到更精确的结果。

1. 介绍

很多时候,需要知识在不同语言中具有相同编码,匹配,链接。手工难以实现,因此不断寻找自动方法。

传统对齐方法依赖机器翻译或者定义跨语言的特征来发现语言之间的关系。最近,常用基于嵌入的方法对齐,包含 MTransE,JAPE 等。两个图中有一些预对齐的实体,基于嵌入的方法通过训练将实体转换到低维空间,然后基于它们在低维空间的表示进行匹配,JE 和 ITransE 也用于单语言中的知识融合和跨语言的知识对齐。上述方法无需依赖机器翻译或特征工程。

然而,上述方法都面临优化问题,比如 JE, MTransE 和 ITransE 都使用超参数均衡损失函数,JAPE 使用预对齐的实体将两个图合二为一,并给负例加权。实体嵌入既要编码结构信息,又要编码等价关系。另外,属性信息也应该被更好地利用。MTransE 和 ITransE 未利用属性信息,JAPE 只利用了属性类型。

文中提出基于图卷积的方法 GCNs 直接对实体的等价关系建模。卷积网络抽取图结构,利用节点的邻居编码:两个对等实体的邻居也常常是对等的实体。另外,还对属性进行了简单有效的利用。

文中模型主要优势如下:

  • 使用图中的实体关系构建 GCNs,只使用实体在图中的对等关系(没像 JAPE 使用词嵌入),模型复杂度低。
  • 只需要预测对齐的实体作为训练数据,不需要预对齐的关系或属性。
  • 结合关系结构和属性有效地提升了对齐效果。

2. 相关工作

2.1 图嵌入

图嵌入:将图中实体和关系映射到低维空间。学习图嵌入一般通过最小化全局损失函数。常用于关系预测,信息抽取等任务。

TransE

  • 简单而有效的方法
  • 时间:2013 年
  • 原理:\(h+r \approx t\) 编码后的头实体加关系约等尾实体
  • 损失函数:最小化训练集上基于差值的排序标准
  • 引申算法:TransH,TransR,TransD,后续的模型增加了复杂度,提升了效果

2.2 基于嵌入的实体对齐

JE

  • 时间:2016 年
  • 把两个图映射到同一嵌入空间
  • 通过种子对齐多个图
  • 图嵌入使用 TransE 改进算法
  • 损失函数:TransE 损失 + 全局对齐损失

MTransE

  • 时间:2017 年
  • 把两个图映射到不同嵌入空间
  • 提供转换方法转换两组空间
  • 图嵌入使用 TransE 改进算法
  • 损失函数:知识图模型 + 对齐模型
  • 训练时,需要两图中对齐的三元组

JAPE

  • 时间:2017 年
  • 结合了结构嵌入和属性嵌入
  • 结构嵌入使用 TransE
  • 属性嵌入使用 Skip-gram 模型,捕捉属性的相关性
  • 需要预先对关系和属性对齐

ITransE

  • 时间:2017 年
  • 先使用 TransE 学习实体和边的嵌入
  • 利用对齐种子学习不同语言库在联合空间的知识图映射
  • 通过使用新发现的实体对齐来更新实体的联合嵌入,从而实现迭代实体对齐
  • 要求在 KG 之间共享所有关系

上述几个模型都使用类似框架:用 TransE 学习实体嵌入,再定义对齐实体嵌入之间的变换和对齐。

文中提出的方法使用了不同框架,它使用 GCNS 将实体嵌入到统一的向量空间中,其中对齐的实体被期望尽可能接近,并且只学习实体嵌入,不学习边嵌入,因而不需要边的相关先验知识。

3. 问题定义

KGs 使用三元组,三元组又分为关系三元组〈entity1,relation,entity2〉和属性三元组〈entity,attribute,value〉,文中方法使用了两种。

KG 定义为 G =(E,R,A,TR,TA),其中 E 为实体,R 为关系,A 为属性,TR 为关系三元组,TA 为属性三元组,用符号 V 定义属性的具体值。

用 G1,G2 分别代表不同语言的两个图。

\[ S={ \{ (e_{i1},e_{i2})|e_{i1}\in E_1,e_{i2} \in E_2} \} ^m_{i=1} \]

S 是 G1 与 G2 之间 m 个预先对齐的实体对,即种子。将任务定义为对齐不同语言的知识图,基于已知的对齐种子找到新的实体对齐。对于 DBpedia 和 YAGO 的这样数据集,可以利用多语言间链接来构建预测对齐的实体对。种子作为对齐过程中的训练数据。

4. 方法

如图 -1 所示,KG1 和 KG2 分别是不同语言的两个图,给出二者间的对齐种子 S,基于 GCN 方法搜索图中更多的实体对齐。基本思想是利用 GCN 将不同语言的实体嵌入到同一个向量空间,相等的实体在空间中的距离越近越好。利用事先定义好的距离函数作为量度。

4.1 基于 GCN 的实体嵌入

GCN 是一种直接操作图数据的神经网络结构,它使用端到端的学习来预测,其输入是任意大小和形状的图,具体输入是节点和结构的特征向量,其目标是学习一种方法来表示输入的特征,并生成节点级的输出。GCN 可以将邻居节点的信息编码成实际的值,作用于下游的分类回归任务。解决图对齐问题基于以下两个假设:(1)相对节点具有类似属性(2)相同节点的邻居相同。GCNs 结合了属性信息和结构信息,文中方法使用 GCN 将信息转换到低维向量空间中,相似的节点在该空间中编码也想似。

一个 GCN 模型包含多个层,第 l 层的输入是一个 nxd(l) 的特征矩阵,其中 n 是图中节点个数,d(l) 是第 l 层的特征数。第 l 层的输出是通过图卷种计算出的矩阵:

其中 σ是激活函数,A 是 nxn 的邻接矩阵,用于描述图的连通性,A^=A+I,它加入了单位矩阵 I,I 描述了节点自身的连通性;D^是度矩阵,参数 W(l) 是 d(l)xd(l+1) 的参数矩阵,用于第 l 层输出向 l+1 层转换。

结构和属性嵌入

文中方法将不同图中的节点映射到同一向量空间,为了利用节点的结构和属性信息,在两个角度对齐了向量。h 是每一层输出的特征向量,结构向量 hs(0) 被随机初始化,在训练过程中更新;属性向量 ha(0) 也在训练过程中更新。H 是所有向量的表示。W 是训练得到的参数。

公式中的 [;] 表示 concat 连接两个矩阵;激活函数使用 ReLU(.)=max(0,.)。

模型设置

文中方法使用了两层 GCN,每层处理一个图产生它的实体嵌入,对两个图分别生成 GCN1 和 GCN2,描述实体的结构向量均使用 ds 作为其维度,两个模型共享参数矩阵 Ws。对于实体的属性特征,输出特征的维度为 da,由于两个图的特征个数不同,两个模型的输入属性特征不同,维度也不同。因此,第一层将属性转换成同一维度 da(矩阵 W 不同),第二层属性 GCN 输出为同一维度 da。

表 -1 展示了各数据的维度:

计算邻接矩阵

在 GCN 模型中,邻接矩阵 A 被用于卷积计算。与无向图不同的是,当前图包含多种关系。因此,重新定义了 A:aij ∈A,aij 是实体 i 传播到实体 j 的程度,通过不同的关系连接的实体,等价的概率也不同(比如关系:父母和朋友)。因此对每种关系计算了两种量度:

其中 #Triples_of_r 是包含关系 r 的三元组个数;#Head_Entities_of_r#Tail_Entities_of_r 是头/尾实体和关系 r 同时存在的个数。用它来描述第 i 个实体对第 j 个实体的影响,以计算邻接矩阵:

它同时反应了正向和反向的强度。举例如下:

例一:父子关系

李大与李二:

\[ \begin{aligned} & fun=\frac{1}{4} \\ & ifun=\frac{1}{4} \\ & a_{ij}=\frac{1}{4}+\frac{1}{4}=0.5 \end{aligned} \]

张大与张三:

\[ \begin{aligned} & fun=\frac{3}{4} \\ & ifun=\frac{1}{4} \\ & a_{ij}=\frac{3}{4}+\frac{1}{4}=1 \end{aligned} \]

例二:朋友关系

(为简化对比,假设朋友关系是有向图,实际并不是)

\[ \begin{aligned} & fun=\frac{2}{12} \\ & ifun=\frac{1}{12} \\ & a_{ij}=\frac{2}{12}+\frac{1}{12}=0.25 \end{aligned} \]

总之:某种关系出现越少,对它所连接的实体影响越大 (类似 TF/IDF)。比如父子关系出现少影响大,朋友关系出现多影响小。

4.2 对齐预测

实体对齐基于两个图 GCN 输出结果的距离。设图 G1 中实体为 ei,G2 中实体为 vj。计算距离:

其中 f(x,y) 是 1 范数(向量元素绝对值之和),hs 和 ha 是实体的结构嵌入和属性嵌入,ds 和 da 是输出维度,β是用于衡量结构和属性的超参数。

实体越相似,距离越近。计算 G1 中 ei 与 G2 中所有实体的距离,排序后返回相似度最高的实体作为对齐的候选项。G2 向 G1 对齐也是同理(方向不同结果不同)。

4.3 模型训练

使用种子 S 来训练 GCN 模型,最小化基于边际的排序损失函数:

其中[x]+=max{0,x},S' 是由 e 或 v 随机替换得到的负例,f 用于计算距离,γs,γa > 0 是超参数,用于提升对齐的效果,它是理想的正例和负例之间的距离(正例至少要比负例大γ,loss 才能等于 0)。

Ls 和 La 分别是结构和属性的损失函数,二者相互独立,也分开优化,具体方法使用随机梯度下降。

5. 实验

5.1 数据集

DBP15K 是由 Sun 等 2017 年构建的,基于 DBpedia 的多语言对齐数据集,包含:中文,英文,日文,法文。每组数据包含两种语言 15K 个实体的对齐,用于训练和测试。

5.2 实验设置

使用 JE,MTransE,JAPE,JAPE'(不预对齐关系和实体) 作为对比基线,30% 作为训练集,70% 作为测试集。

Hits@k 指的是正确对齐的实体排在前 k 个候选实体中的比例。

超参数设置成输出维度 ds=1000,da=1000,γs = γa = 3,计算距离时的 β 设为经验值 0.9(关系占 90%,属性占比 10%)。

5.3 结果

(图太长,截了一部分)

其中关键字:SE w/o neg 是无负例的结构三元组,SE 是结构三元组,AE 是属性三元组。

GCN(SE) 与 GCN(SE+AE)

可以看到加入属性三元组后,效果提升范围在 1%-10% 之间。这说明对齐主要依赖结构信息,而属性信息也很有用,文中结合二者的方法也是有效的。

GCN(SE+AE) 与基线

在中英互译的评测中 JAPE 有明显优势,GCN 结果与之很相近。需要注意的是 JAPE 使用了额外的信息(词嵌入),而文中模型未使用这些先验知识,JAPE' 在未使用先验知识的情况下效果就差了很多。而另两个数据集中,文中模型效果更好。相对 JE 和 MTransE 效果明显提升。

GCN 与 JAPE 使用不同量的训练数据

用预对齐实体作为种子,直觉上训练样本越多,效果应该越好。

图二展示了取 10%-50% 作为训练集对比 Hits@1,JAPE 和 GCN 模型效果,除了图 -2(a) 中英文训练集超过 40% 的情况,其它 GCN 均优于 JAPE。

总结和未来工具

GCN 方法使用了结构和属性三元组,在各个数据集上表现都较好。

未来将探索更多基于 GCN 的方法,比如 Relational GCNs,Graph Attention Networks;以及在文中框架上迭代地发现新的实体对齐。