[AAAI 2020]Knowledge Graph Alignment Network with Gated Multi-hop Neighborhood Aggregation

AliNet
代码

之前的模型都没有考虑KG结构的非同构性,虽然MuGNN注意到了KG的不完整性,提出了一个两步的模型:基于规则的KG补全和多通道GNN来解决实体对齐的问题。但是学习到的规则依赖关系对齐来解决结构的异质性。(schema heterogeneity)

  • 同构结构的学习也是有用的

    对于具有同构领域的实体, GNN会学习到具有相同特征向量的实体的相同表示,这些特征向量表示相应的邻居。

    在某些情况下,如果两个实体有着同构的邻居结构,并且先预对齐部分的邻居结构,GNN也可以捕获到要对齐的其他邻居的相似性。

    但是在三角形的图结构中,两个不同的实体可能会学到一样的表示,虽然R-GCN在公式中加入了关系,但是如果两个KG没有对关系进行预对齐,那网络就无法知道r1 = r2这样的关系,R-GCN也就无法发挥作用。

  • 用远距离的邻居和关系进行补偿

    为了减少非同构图中邻居的影响,我们提出了导入远距离邻居信息。

​ 但是不是所有远距离的邻居信息都是有用的, 如何有选择性地聚合这些远距离邻居的信息是这篇论文的动机,为了进一步提高AliNet的表示能力,我们选择考虑关系的语义信息而不是引入关系向量。

AliNet

在AliNet中通过门控机制来控制对k跳的聚合实体表示。

门控多跳邻居聚合(gated multi-hop neighborhood aggregation)

对于one-hop的那些向量,我们选择使用香农GCN层来学习这些邻居表示(vanilla GCN)

在第l层实体i的one-hop表示: \(h_{i,1}^{(l)}\) 尽管GCN用L层可以捕获实体的L-hop邻居,但这种一层一层的聚合不够高效, 所以对于two-hop邻居聚合,我们引入了注意力机制,因为直接使用原始的GCN聚合会引入噪声,\(N_2(.)\) 来表示给定实体的two-hop邻居集合,实体i的hidden的two-hop表示可以如下计算

使用门控机制来控制连接one-hop和two-hop之间的信息

image-20200417123210587

注意力机制

传统的GAT通过分享一个线性转换的公式在每一个注意力公式中。但是因为在KG中因为中心实体和它的邻居会变得很不一样。这种分享公式的方法会给对区分它们造成不好的影响。于是我们使用两个不同的矩阵单独对中心实体和它的邻居做线性转换。

image-20200417124022857 image-20200417124058623

损失函数

让对齐的实体的距离最小,未对齐的实体变得更大

ima ge-20200417124119533

\(\lambda\) :margin \(\alpha_1\) :是为了平衡的超参数

之前的工作都把最后一层的隐藏层的输出\(h_L\)当作最后的实体表示向量,但是中间层的信息也包含了有用的信息,所以我们使用之前所有隐藏表示来作为最后的结果。

image-20200417124600123

关系语义模型

因为KG在实体之间提供了语义关系信息,所以很自然的要把这些信息加到实体的模型中。R-GCN需要两个KG高度相似,或者预先对关系进行对齐。这里我们借鉴了一些TransE的translational思想。为了避免过多的参数,我们不引入额外的关系embeddings。

image- 20200417124951699

得到的关系向量可以通过检索来得到。

实现时的细节

  • objective

    最终目标是连结alignment loss和relation loss

  • Generalization to k-hop neighborhood

    使用下面的门控机制的公式把之前的信息连结在一起

    image-202004181 02650424
  • 增加邻居

    我们使用了一种启发式的模式来增加预对齐实体的边。如果KG1的两个实体i和j之间有一个边而在KG2中\(i^{'}\)\(j^{'}\)没有边,则我们在\(i^{'}\)\(j^{'}\)之间加一条边。使用这种方法的目的是可以减轻非同构性。

  • 对齐预测

    一旦训练了AliNet我们就可以基于跨KG范围的实体表示中的最近邻搜索来预测实体对齐。给定KG1中的源实体i,对应的在KG2中的实体应为image-20200418103810389Π是欧几里得距离。

实验

数据集

DBP15K

DWY100K

对比模型

GMNN和RDGCN在表示中融入了实体的表面信息,但在我们的方法中只依赖于结构信息,所以我们没有和这些模型作比较。

为了消融研究,我们改进了下AliNet模型。AliNet(w/o rel.loss)不优化relation loss. AliNet(w/o rel.loss & augment)没有优化relation loss也没有进行邻居补全的操作。

image-20200418112803379

实验中有用的问题

观察到实体的直接邻居和远距离邻居的相似度较小,因此可能不需要基于attention的邻域聚合来选择相关的邻域实体。这也是在one-hop的邻居聚合中选择GCN而不是GAT的原因。还观察到GCN的baseline要优于很多基于嵌入的实体对齐模型包括另一个GCN的变体GCN-Align,这也再一次证实了我们模型的有效性。

实验分析

  • 多跳的聚合策略

    image-20200418112622627

    从MixHop借鉴思路做了AliNet(mix),把two-hop的邻居作为one-hop来看待,然后直接使用GCN layers来直接聚合这些信息。

    AliNet(add),把门控机制改成了addition operator

    AliNet(gat),用GAT代替了建议的注意力机制。

    实验发现,mix版本效果不太好,这暗示对two-hop的邻居来直接使用GCN不是很有效因为会引入过多的噪声信息。add版本也没有表现出令人满意的效果因为相加的机制并不能像门控机制一样可以挑选出重要的信息。gat版本比原版的性能较低,这更进一步显示了我们模型注意力机制的有效性。

  • layer数和k的选择

    image-20200418112557038

    我们在DBP15K数据集上做了1-4层的实验,2层的时候实现了最后的性能。但层数变多的时候性能也会下降。尽管更多层能让模型捕获更多的远距离邻居信息但是也会引入更多的噪声并且会引入更多的异构邻居结构。

     image-20200418112530983

    我们也尝试了更多跳的对比。在DBP ZH-EH中,每个中文实体平均有6.6个单挑邻居而每个英文实体这个数字是8.6。但是,在它们的单跳邻居之间,只有4.5对的对应实体。在中文中有2.1个未对齐的实体,英语中有4.1个。如果是two-hop,未对其的实体在中文中就减少为0.5个,英语为0.9个。所以这也认为two-hop就足够了

  • 邻居重叠的分析

    image-20200418112425324

    两个实体拥有过高的重叠值意味着在它们的one-hop邻居中有大量的重叠。我们在每个epoch中计算正确预测对齐的实体中平均的重叠值。并和GCN做了对比。我们发现AliNet的值要比GCN小,这暗示了AliNet可以有效地在one-hop邻居中使重叠值较小的实体对齐。

  • 基于不同层的表现

image-20200418112131990

可以看到1层的表现的要优于layer2,也进一步证实了我们的把layer1和layer2一起加起来的效果更好。

posted @ 2020-04-21 10:29  苟不理包子  阅读(886)  评论(0编辑  收藏  举报