本篇论文是 Jure 实验室在2021年的 NAACL 上发表的文章。这篇的工作和我上一篇介绍的 MHGRN 非常类似,但是将图神经网络嵌入模块和文本嵌入模块进行了整合,使得训练过程的损失能够共用,两个模块同时更新,这样就减少了信息传递损失。最终的效果也是要比 MHGRN 好。

论文地址:QA-GNN paper

论文代码:QA-GNN github

0. 摘要

通过从预训练语言模型(LMS)和知识图谱(KGS)的知识回答问题提出了两个挑战:给定QA上下文,方法需要(1)从大知识图谱中识别相关知识,以及(2)通过问答上下文和知识图谱进行联合推理。在这项工作中,我们提出了一种新的模型,QA-GNN,它通过两个关键创新解决了上述挑战:(1)相关评分,我们使用LMS来估计知识图谱节点相对于给定的问答上下文的重要性,以及(2)联合推理,我们将问答上下文和知识图谱连接到联合图,并通过图形神经网络相互更新它们的表示。我们评估了常识问题(CommanSeaseQA,Open-Bookqa)和生物医学(Medqa-USMLE)领域的QA基准测试模型。 QA-GNN优于现有的LM和LM + KG模型,并表现出可解释和结构化的能力,例如,正确处理问题的否定形式。论文代码和数据可在 https://github.com/michiyasunaga/qagnn 获得。

1. 引言

此前的将预训练语言模型 LM 与知识图谱 KG 进行结合推理的方法,主要有两种:

  • 首先找到问题的主题词,随后在知识图谱中找到主题词的几跳邻居节点,作为答案的范围。这样引入了许多和问答上下文无关的节点,随着跳数的增加,引入的节点指数性增长。
  • 将 LM 与 KG 分隔开,分别用 LM 获取问答上下文和 KG 获取图神经网络 GNN 模型,同时不利用对方的信息进行参数更新。这样可能导致模型难以进行结构化推理,例如处理否定查询。

对此,本文提出了 QA-GNN,它是一种端到端的 LM+KG 模型,解决了上述的两种问题。首先用 LM 对问答上下文进行编码,同时用 MHGRN 检索 KG 子图。随后提出两点核心内容:

  • 相关性评分:KG 子图由主题实体的几跳邻居节点构成,其中一些实体与问答上下文的相关性更高,所以将实体和问答上下文连接,并用 LM 计算似然度,来为 KG 子图上的每个实体进行打分。
  • 联合推理:将问答上下文视为一个附加节点,并与 KG 子图中的主题实体相连接,称为工作图。随后通过相关性评分来增加每个节点的特征,并设计一个基于注意力的 GNN 模块进行推理。在工作图上的联合推理算法同时更新了 KG 实体和问答上下文节点的表示,从而弥补了两个信息源之间的差距

image-20220113152517131

  • 图:本文的思路:给定问答上下文(紫色框),将问答上下文与知识图谱子图(绿色框)相连接,进行联合的推理。

文章在常识领域使用的知识图谱是:Concept,用的数据集是:CommonsenseQA 和 OpenBookQA。

在医学领域使用的知识图谱是:UMLS 和 DrugBank,用的数据集是:MedQA-USMLE。

2. 问题重述

3. 方法

本文方法:给定问答上下文 z,将它与知识图谱子图连接起来,构成一个连接图(本文称之为 working graph),计算各个知识图谱实体节点和问答上下文 z 的关联度,作为每个节点的附加特征(这是和 MHGRN 的很大区别),随后再在 working graph 上用图神经网络进行推理。本文提出的一个基于注意力的 GNN 模块,能够在 working graph 上进行多轮消息传递。最后,通过 LM 嵌入表示、问答上下文节点表示和池化 working graph 表示,进行最终预测。

image-20220113152842371

  • 图:本文采用的方法。给定问答上下文 z,将它与知识图谱子图连接起来,构成一个连接图(本文称之为 working graph),计算各个知识图谱实体节点和问答上下文 z 的关联度,作为每个节点的附加特征,随后再在 working graph 上用图神经网络进行推理。

联合图表示:working graph 是如何构建的。将问答上下文作为一个新节点,与知识图谱中相应实体连起来,并新设置了两种关系,取决于实体是从哪里来的:问题实体和选中实体(候选答案实体)。用 LM 进行实体节点的初始化。

知识图谱节点相关性得分:考虑到许多子图中的实体节点与问答上下文之间没有关联,设置了这个节点相关性得分,用 LM 对每个节点和问答上下文的相关性进行评分。具体而言,将节点 v 和问答上下文 z 进行连接,计算得分。得分用于推理和修剪子图。

image-20220114114353236

图神经网络架构:采用 GAT 作为基础,在每一层中,将每个节点的表示更新为如下表示。

image-20220114114802711

将消息通过两层 MLP,并进行批处理化。

节点类型和关系感知消息:消息应该捕获关系和节点类型。其中关系和节点类型是 one-hot 向量。fu 是一个线性变换,fr 是一个双层 MLP。

image-20220114115308189

消息如下,fm 是一个线性变换。

image-20220114115423662

节点类型、关系和得分感知注意力:采用注意力捕获节点之间的关联,关联由节点类型、关系和节点相关性分数来决定。节点相关性分数计算如下,fp 是 MLP。

image-20220114115628471

为了计算注意力权重,得到查询向量和关键字向量,fq 和 fk 是线性变换。最终得到注意力得分。

image-20220114115738877

image-20220114115820992

推理和学习:给定问题和候选实体,候选实体是答案的概率由下式得出,其中 zGNN 是隐含得分的池化。用交叉熵损失函数进行优化。

image-20220114120002205

计算复杂度:和 MHGRN 一样是线性时间复杂度。

image-20220114105355058

4. 实验

image-20220114120225106

image-20220114120231866

image-20220114120238090

image-20220114120246443

image-20220114120254264

image-20220114120300135

image-20220114120309849

image-20220114120319523

image-20220114120327019

image-20220114120333782

image-20220114120347206

5. 相关方法

6. 结论

本文提出了 QA-GNN,这是一种利用 LM 和 KG 的端到端问答模型。我们的关键创新包括(i)相关性评分,我们根据给定的 QA 上下文计算 KG 节点的相关性,以及(ii)对 QA 上下文和 KG 的联合推理,通过工作图连接两个信息源,并通过 GNN 消息传递共同更新它们的表示。通过定量和定性分析,展示了 QA-GNN 在问答任务上对现有 LM 和 LM+KG 模型的改进,以及它执行可解释和结构化推理的能力,例如,正确处理问题中的否定。

将问答上下文作为节点,并将上下文与知识图谱内的实体构建联系,可以认为这是本文最主要的贡献。另外,文章在实验上也进行了一定的创新,例如将问题转变为否定形式,看看是否能够正确查询。