笔记整理:李继统,天津大学硕士
链接:https://arxiv.org/pdf/2104.06378.pdf
1. 动机
目前现有的方法,对于QA上下文使用LM处理,对于KG使用GNN进行处理,并且并不相互更新彼此的表示,也不做语义的对齐表示。因此QA上下文与KG的分离表示可能会限制模型执行结构化推理的能力(比如处理否定问题)。因此本篇工作主要在于QA上下文与KG的融合表示。
2. 亮点
基于知识图谱的问答(KBQA)集中于知识图谱上的多跳推理以及语言模型与知识图谱的融合,目前的方法需要解决两个问题:
(1)在给定上下文的条件下,如何从规模巨大的知识图谱中检索出相关的知识。
本文提出了一个新的模型:QA-GNN,通过两个关键性创新来尝试解决上述问题:
(1)相关性评分:在给定问答上下文的条件下,使用语言模型计算相关性评分,来估计知识图谱中的实体对于给定上下文的重要性。
(2)联合推理:将问答上下文与筛选出的知识图谱的子图构建一张联合图,使用基于GNN的消息传递来更新彼此的表示。
3. 模型方法
如图1所示,QA-GNN 的工作原理如下。首先,我们使用 LM 来获得 QA 上下文的表示,并从 KG 中检索子图 。然后我们引入一个表示 QA 上下文的 QA 上下文节点 z,并将 z 连接到主题实体 ,我们在两个知识来源上有一个联合图,我们称之为工作图 。为了自适应地捕获 QA 上下文节点与 中的每个其他节点之间的关系,我们使用 LM 计算每对的相关分数,并将该分数用作每个节点的附加特征。然后,我们提出了一个基于注意力的 GNN 模块,该模块在 上执行消息传递以进行多轮。我们使用 LM 表示、QA 上下文节点表示和池化工作图表示进行最终预测。
(1)相关性评分
本文在给定问答上下文的条件下,使用语言模型计算相关性评分,估计知识图谱中的实体对于给定上下文的重要性。对中心实体附近few-hop的节点截为子图,对每一个entity与QA上下文做concat,然后使用预训练语言模型(本文使用的是RoBERTa),计算它们的相似程度。
对于每个节点 ,QA的上下文,节点的相关性评分为:
本文中将问答上下文与筛选出的知识图谱的子图构建一张联合图,使用基于GNN的消息传递来更新彼此的表示。
图2 联合推理
该文章在CommonsenseQA以及OpenBookQA数据集上,进行了实验,实验表明,QA-GNN方法比fine-tune LM与现有的LM+KG方法分别提高了 5.7% 和 3.7% ,以及处理结构化推理(如否定问题)的能力,比目前的fine-tune LM有4.6%的提升。
4. 实验结果
本文的实验结果在官方排行榜上均取得了与其他系统竞争的结果。值得注意的是,前两个系统 T5 (Raffel et al., 2020) 和 UnifiedQA (Khashabi et al., 2020) 使用更多的数据进行训练,并且比本文的模型使用 8x 到 30 倍的参数(本文模型的参数为 ∼360M)。排除这些和集成系统,本文的模型在与其他系统的大小和数据量上具有可比性,并在两个数据集上实现了最佳性能。
表1 CommonsenseQA 官方排行榜上的测试准确性
表2 OpenBookQA 排行榜上的测试准确性
表3 CommonsenseQA IHdev上的消融实验
5. 总结
本文提出了QA-GNN,利用预训练语言模型与GNN融合QA上下文与KG。通过使用相关性评分,从知识图谱中检索实体相关子图,并衡量每个节点对于QA上下文的重要程度,这保证了在后续进行融合时,能够注意到这样的相关性信息。接着通过将QA上下文视作一个节点添加进KG,通过工作图连接两个信息源,并通过GNN消息传递联合更新它们的表示。本文是GNN在融合QA上下文与KG的一个尝试,在问答任务上相比现有的预训练语言模型、以及预训练+KG模型,都有不小的提升。同时,使用attention-base GNN,能够可视化知识图谱中节点之间的注意力关系,有助于提高QA可解释性和结构化推理的能力。
OpenKG
OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。
点击阅读原文,进入 OpenKG 网站。
原文始发于微信公众号(开放知识图谱):论文浅尝 | QA-GNN: 使用语言模型和知识图谱的推理问答