这篇文章是2020年 EMNLP 的一篇思路很有趣的文章。通过构建一种结构注意力机制(条件随机场实现),使得模型能够使用图神经网络模型的同时,给出问答推理路径,具有很好的推理效果和可解释性。

论文地址:MHGRN paper

论文代码:MHGRN github

0. 摘要

现有的使用外部知识(例如知识图谱)增强问答模型的工作要么努力有效地建模多跳关系,要么缺乏模型预测原理的透明度。在本文中,我们提出了一种新的知识感知方法,该方法为预训练语言模型(PTLM)配备了多跳关系推理模块,称为多跳图关系网络(MHGRN)。它对从外部知识图中提取的子图执行多跳、多关系推理。所提出的推理模块统一了基于路径的推理方法和图神经网络,以实现更好的可解释性和可扩展性。我们还经验性地展示了它在 CommonsenseQA 和 OpenbookQA 数据集上的有效性和可扩展性,并通过案例研究来解释它的行为。

1. 引言

常识问答类问题一般需要外部知识,例如知识图谱提供帮助。例如问题“孩子坐在课桌前一般在哪里”的答案是教室,这需要提供额外的知识才能回答。

PTLM 无法提供可解释的预测。因为学习时就是隐式学习,所以回答时很难恢复推理时用到的证据。

知识图谱可以提供可解释的推理关系路径。

image-20220113162634575

  • 图:蓝色节点是问题中提到的实体,粉色节点是答案的实体,其他是一些关联实体。

利用知识图谱的一种直接方法是直接对关系路径进行建模。例如 MH-PGM 从知识图谱中提取关系路径并用序列模型对其进行编码来对多跳关系建模。这样可以提供可解释性,但是难以进行扩展。因为可能的路径是(1)多项式数量的节点数和(2)指数数量的路径数。

image-20220113163315971

相比于序列模型,图神经网络通过消息传递公式,具有更好的可扩展性,但是一般都缺乏透明度。最常用的图神经网络方法图卷积网络 GCN 通过聚合每个节点的邻域信息来进行消息传递,但忽略了关系类型。RGCNs 则通过执行特定于关系的聚合来概括 GCN,使其适用于多关系图。然而这些模型没有给出不同邻居节点或关系类型的重要性,因此无法为模型推理行为提供明确可解释的推理关系路径。

本文提出了一种新的图编码架构 MHGRN,它综合了基于路径的模型和图神经网络模型。通过消息传递公式保留了图神经网络模型的可扩展性,同时通过结合结构化的关系注意力机制,提供了基于路径的模型的可解释性。主要思路是在单层内执行多跳消息传递,从而允许每个节点直接关注多跳邻居,从而实现多跳推理。

image-20220113163612402

2. 问题重述

问题和选项共同组成问答上下文。为了测量问题和答案选项的分数,可以先将他们连接起来得到 s = [q; a],然后从外部知识图谱中提取子图 G,G 被表示为 V, R 和映射函数 θ 的集合,其中 V 是和 s 相关的实体,θ 是一个映射函数,根据实体 i 是问题中的实体、答案中的实体还是其他实体,返回三种不同的嵌入:Eq, Ea 和 Eo。

3. 背景:多关系图编码方法

GNN 方法通过在节点之间传递消息来编码结构化信息,直接在图上进行操作。而基于路径的方法首先将图分解为路径,然后在上面聚集特征。

GNN 图编码方法:输入是一系列特征 {h1 ... hn},通过消息传递,得到节点嵌入 {h'1 ... h'n}。可以通过对节点嵌入 {h'i} 进行池化来获得图的紧凑表示。

image-20220113171345712

图卷积网络 GCN 还通过聚合直接邻居的消息来更新节点嵌入。

image-20220113171338492

关系图卷积网络 RGCNs 通过为每种边类型定义关系权重矩阵 Wr 来扩展 GCN,以编码多关系图。

基于路径的图编码方法:关系网络模型 RN 用 MLP 对 G 中所有三元组(单跳路径)进行编码,随后汇集嵌入向量以生成 G 的向量。其中 + 是向量连接,er 是关系嵌入。

image-20220113171548244

KagNet 为了让 RN 有对非退化路径进行建模的能力,采用 LSTM 对连接长度不超过 K 的问题实体和答案实体的所有路径进行编码,然后通过注意力机制聚合所有路径。

image-20220113171744082

4. 本文方法:Multi-Hop Graph Relation Network 多跳图关系网络

image-20220114094325316

  • 图:知识感知问答模型框架。结合图编码器和文本编码器的输出,生成答案选项的合理性得分。

MHGRN 模型架构:采用 GNN 框架,其中节点特征可以用预训练的权重进行初始化,重点关注节点嵌入的计算。

特定类型转换:为了让模型知道节点类型,首先对输入节点特征进行节点类型线性变换。

image-20220114095016342

多跳信息传递:为了让 GNN 有直接建模路径的能力,让节点在长度为 k 的所有关系路径上传递信息。α 是注意力得分,d 是归一化因子,W 是权重。

image-20220114095215804

随后再对不同关系路径传递的消息,通过注意力机制进行聚合。

image-20220114100433374

非线性激活:最后用 shortcut connection 和非线性激活函数获得输出节点嵌入。

image-20220114100552186

结构关系注意力:为了减少注意力机制的参数,文章将公式7的注意力得分调整为了下列格式,而这种形式可以转换为条件随机场模型。

image-20220114101429072

image-20220114101439821

其中的 f(⋅), δ(⋅), g(⋅) 是两层 MLP 得到的,τ(⋅) 是一个转移矩阵(马尔科夫模型用到的),β(·) 模拟关系类型重要性,γ(·) 模拟从节点类型 φ(j) 到 φ(i) 的消息的重要性(例如模型只能学习从问题实体到回答实体传递消息)。模型用 δ(⋅) 模拟单跳关系,τ(⋅) 模拟两跳关系,其他多跳关系是这两种的拓展。这样能够避免模型过于重视不合逻辑的多跳关系。

时间复杂度分析:尽管模型需要用注意力机制计算所有 k 跳关系的可能性,但通过上述优化,还是可以用动态规划实现线性时间复杂度。

image-20220114101927392

MHGRN 的表达能力:MHGRN 的本质上是 RGCN 的泛化,同时还能够像 RN 和 KagNet 那样直接对路径建模。

学习、推理和路径编码:目标是给定图 G、问题 q 和问答上下文 s 的情况下确定答案 a 的合理性。首先通过对答案实体的输出节点嵌入进行注意力池化,得到图的表示 g。随后将图嵌入向量和文本嵌入向量(采用 RoBERTa)进行连接,作为模型输入,得到答案的合理性得分。模型采用端到端学习。损失函数采用交叉熵损失函数。

image-20220114103604828

推理时,通过 argmax 预测最合理答案。同时,推理路径可以解码,以作为推理证据,这就提高了模型的可解释性。具体方法是,首先确定最合理答案 i* 和得分最高路径长度(这个根据公式8得到,就是路径长度的得分聚合),随后通过 argmax α(j,r1,...,rk∗,i∗) 解码,得到推理路径。这个过程可以用动态规划,在线性时间内得到。

image-20220114093710473

  • 图:MHGRN 架构。输入图 G 和问答上下文陈述向量 s,输出一个陈述的合理性得分标量。

5. 实验

获取子图:首先对知识图谱进行完善,加上反相边,对边类型进行一些聚合以增加图密度,随后获取问题中实体相关的所有两跳以内的子图,不进行图修剪。

池化:对单跳采用平均池化,对二跳采用注意力池化。

image-20220114104503859

image-20220114104513394

image-20220114104521600

image-20220114104528938

image-20220114104537773

image-20220114104544229

image-20220114104550597

image-20220114104557060

6. 相关内容

神经图编码模型:GAT 加入注意力机制,RGCN 提出了关系消息传递,但是它们都是单跳的。还有人提出的方法是多跳的,但是非知识图谱的。本文的方法是多跳知识图谱方法。

7. 结论

本文提出了一种可扩展方法 MHGRN,综合了 GNN 和基于路径的方法,能够显式说明推理路径。