Press "Enter" to skip to content

QA-GNN:基于语言模型和知识图谱的问答推理

论文地址:( QA-GNN: Reasoning with Language Models and Knowledge Graphs for Question Answering )

 

代码repo: michiyasunaga/qagnn

 

论文的题目是:QA-GNN: Reasoning with Language Models and Knowledge Graphs for Question Answering

 

该论文被收录于NAACL 2021,作者是来自Stanford的Michihiro Yasunaga、Hongyu Ren、Antoine Bosselut、Percy Liang and Jure Leskovec 。

 

基于知识图谱的问答(KBQA) ,是自然语言处理中的一个热门领域,最近的工作集中于知识图谱上的多跳推理以及语言模型与知识图谱的融合。目前的方法需要解决两个问题:

 

 

    1. 在给定上下文的条件下,如何从规模巨大的知识图谱中检索出相关的知识。

 

    1. 如何进行问答上下文与知识图谱的联合推理。

 

本文提出了一个新的模型: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的所有邻居, 表示 对 的attention weight, 表示来自邻居s向t传递的消息。

 

 

其中在邻居节点之间传递的消息是什幺呢?

 

首先我们定义节点的type embedding:

 

到 的relation embedding

 

其中 是一个线性变换, 是一个两层的MLP

 

最后我们定义从 到 传递的消息:

 

 

其中 也是一个线性变换

 

节点类型、关系和score-aware attention

 

将相关性评分 过一个MLP得到其embedding

 

然后我们通过下式得到query和key vector:

 

 

 

最后我们注意到式2中还有一个attention weight,为

 

 

其中

 

最终,在得到了GNN中节点的表示后,我们计算条件概率

 

 

选择概率最高的作为问题的答案。

 

在测试集的候选答案上,使用cross entropy loss作为损失函数。

 

实验结果

CommonsenseQA上的测试结果

OpenBookQA上的测试结果

消融实验

总结

 

本文提出了QA-GNN,利用预训练语言模型与GNN融合QA上下文与KG。

 

使用相关性评分,从知识图谱中检索实体相关子图,并衡量每个节点对于QA上下文的重要程度,这保证了我们在后续进行融合时,能够注意到这样的相关性信息。

 

接着通过将QA上下文视作一个节点添加进KG,通过工作图连接两个信息源,并通过GNN消息传递联合更新它们的表示。

 

本文是GNN在融合QA上下文与KG的一个尝试,在问答任务上相比现有的预训练语言模型、以及预训练+KG模型,都有不小的提升。同时,使用attention-base GNN,能够可视化知识图谱中节点之间的注意力关系,有助于提高QA可解释性和结构化推理的能力。

One Comment

  1. ayue

    p(aq)=exp(MLP(Zlm,Zgnn,g))
    最后这个g是什么意思

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注