©PaperWeekly 原创 · 作者|刘兴贤
学校|北京邮电大学硕士生
研究方向|自然语言处理
论文标题:
QA-GNN: Reasoning with Language Models and Knowledge Graphs for Question Answering
论文地址:
https://arxiv.org/abs/2104.06378
代码repo:
https://github.com/michiyasunaga/qagnn
该论文被收录于 NAACL 2021,作者是来自 Stanford 的 Michihiro Yasunaga、Hongyu Ren、Antoine Bosselut、Percy Liang and Jure Leskovec 。
基于知识图谱的问答(KBQA),是自然语言处理中的一个热门领域,最近的工作集中于知识图谱上的多跳推理以及语言模型与知识图谱的融合。目前的方法需要解决两个问题:
1. 在给定上下文的条件下,如何从规模巨大的知识图谱中检索出相关的知识;
2. 如何进行问答上下文与知识图谱的联合推理。
本文提出了一个新的模型:QA-GNN,通过两个关键性创新来尝试解决上述问题:
1. 相关性评分
在给定问答上下文的条件下,使用语言模型计算相关性评分,估计知识图谱中的实体对于给定上下文的重要性。
2. 联合推理
将问答上下文与筛选出的知识图谱的子图构建一张联合图,使用基于 GNN 的消息传递来更新彼此的表示。
该文章在 CommonsenseQA 以及 OpenBookQA 数据集上,进行了实验,实验表明,QA-GNN 方法比 fine-tune LM 与现有的 LM+KG 方法分别提高了 5.7% 和 3.7% ,以及处理结构化推理(如否定问题)的能力,比目前的fine-tune LM有 4.6% 的提升。
论文动机
目前现有的方法,对于 QA 上下文使用 LM 处理,对于 KG 使用 GNN 进行处理,并且并不相互更新彼此的表示,也不做语义的对齐表示。因此 QA 上下文与 KG 的分离表示可能会限制模型执行结构化推理的能力(比如处理否定问题)。因此本篇工作主要在于 QA 上下文与 KG 的融合表示。
相关性评分
对中心实体附近 few-hop 的节点截为子图,对每一个 entity 与 QA 上下文做 concat,然后使用预训练语言模型(本文使用的是 RoBERTa),计算它们的相似程度。
对于每个节点 ,QA 的上下文 ,节点 的相关性评分为:
联合推理
联合推理模块使用预训练语言模型(本文中使用 RoBERTa)将 QA 上下文编码,将其视为一个额外节点,添加到相关的子图中去。这样生成的图被称为 working graph。
对于 working graph 中的每个节点,使用相关性评分增强它们的特征。最后使用一个 attention-base GNN 模块做推理。
对于 working graph 中的每个节点,使用下式更新节点的表示,其中 表示 t 的所有邻居, 表示 对