
摘要 使用预训练语言模型(LMs)和知识图谱(KGs)的知识回答问题涉及两个挑战:在给定的问答上下文中,方法需要(i)从大型知识图谱中识别相关的知识,并且(ii)在问答上下文和知识图谱上进行联合推理。在这项工作中,我们提出了一个新的模型 QA-GNN,通过两个关键创新解决了上述挑战:(i)相关性评分,我们使用 LMs 来估计相对于给定的问答上下文,KG 节点的重要性;以及(ii)联合推理,我们将问答上下文和知识图谱连接起来形成一个联合图,并通过图神经网络相互更新它们的表示。我们在常识(CommonsenseQA,OpenBookQA)和生物医学(MedQA-USMLE)领域的问答基准上评估了我们的模型。QA-GNN 胜过了现有的 LM 和 LM+KG 模型,并展现了执行可解释和结构化推理的能力,例如在问题中正确处理否定。
代码和数据开源地址:https://github.com/michiyasunaga/qagnn
1. 研究动机
目前现有的方法,对于 QA 上下文使用 LM 处理,对于 KG 使用 GNN 进行处理,并且并不相互更新彼此的表示,也不做语义的对齐表示。因此 QA 上下文与 KG 的分离表示可能会限制模型执行结构化推理的能力(比如处理否定问题)。因此本篇工作主要在于 QA 上下文与 KG 的融合表示。
2. 核心贡献
基于知识图谱的问答(KBQA)集中于知识图谱上的多跳推理以及语言模型与知识图谱的融合,目前的方法需要解决两个问题:
- 在给定上下文的条件下,如何从规模巨大的知识图谱中检索出相关的知识。
- 如何进行问答上下文与知识图谱的联合推理。
本文提出了一个新的模型:QA-GNN,通过两个关键性创新来尝试解决上述问题:
- 相关性评分:在给定问答上下文的条件下,使用语言模型计算相关性评分,来估计知识图谱中的实体对于给定上下文的重要性。
- 联合推理:将问答上下文与筛选出的知识图谱的子图构建一张联合图,使用基于 GNN 的消息传递来更新彼此的表示。
3. 模型架构与方法
如图 1 所示,QA-GNN 的工作原理如下。首先,我们使用 LM 来获得 QA 上下文的表示,并从 KG 中检索子图。然后我们引入一个表示 QA 上下文的 QA 上下文节点 z,并将 z 连接到主题实体,我们在两个知识来源上有一个联合图,我们称之为工作图。为了自适应地捕获 QA 上下文节点与工作图中的每个其他节点之间的关系,我们使用 LM 计算每对的相关分数,并将该分数用作每个节点的附加特征。然后,我们提出了一个基于注意力的 GNN 模块,该模块在工作图上执行消息传递以进行多轮。我们使用 LM 表示、QA 上下文节点表示和池化工作图表示进行最终预测。

图 1 总体架构图
3.1 相关性评分
本文在给定问答上下文的条件下,使用语言模型计算相关性评分,估计知识图谱中的实体对于给定上下文的重要性。对中心实体附近 few-hop 的节点截为子图,对每一个 entity 与 QA 上下文做 concat,然后使用预训练语言模型(本文使用的是 RoBERTa),计算它们的相似程度。
对于每个节点,QA 的上下文,节点的相关性评分为:






