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

news2024/11/17 2:26:01

Abstract
使用预训练语言模型(LMs)和知识图谱(KGs)的知识回答问题的问题涉及两个挑战:在给定的问答上下文(问题和答案选择)中,方法需要(i)从大型知识图谱中识别相关的知识,并且(ii)在问答上下文和知识图谱上进行联合推理。在这项工作中,我们提出了一个新的模型,QA-GNN,通过两个关键创新解决了上述挑战:(i)相关性评分,我们使用LMs来估计相对于给定的问答上下文,KG节点的重要性,以及(ii)联合推理,我们将问答上下文和知识图谱连接起来形成一个联合图,并通过图神经网络相互更新它们的表示。我们在常识(CommonsenseQA,OpenBookQA)和生物医学(MedQA-USMLE)领域的问答基准上评估了我们的模型。QA-GNN胜过了现有的LM和LM+KG模型,并展现了执行可解释和结构化推理的能力,例如在问题中正确处理否定。

代码和数据可在https://github.com/michiyasunaga/qagnn 获取。

论文下载: 2104.06378.pdf (arxiv.org)icon-default.png?t=N7T8https://arxiv.org/pdf/2104.06378.pdf

1. 动机

目前现有的方法,对于QA上下文使用LM处理,对于KG使用GNN进行处理,并且并不相互更新彼此的表示,也不做语义的对齐表示。因此QA上下文与KG的分离表示可能会限制模型执行结构化推理的能力(比如处理否定问题)。因此本篇工作主要在于QA上下文与KG的融合表示。

2. 亮点

基于知识图谱的问答(KBQA)集中于知识图谱上的多跳推理以及语言模型与知识图谱的融合,目前的方法需要解决两个问题:

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

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

本文提出了一个新的模型:QA-GNN,通过两个关键性创新来尝试解决上述问题:

(1)相关性评分:在给定问答上下文的条件下,使用语言模型计算相关性评分,来估计知识图谱中的实体对于给定上下文的重要性。

(2)联合推理:将问答上下文与筛选出的知识图谱的子图构建一张联合图,使用基于GNN的消息传递来更新彼此的表示。

3. 模型方法

如图1所示,QA-GNN 的工作原理如下。首先,我们使用 LM 来获得 QA 上下文的表示,并从 KG 中检索子图  。然后我们引入一个表示 QA 上下文的 QA 上下文节点 z,并将 z 连接到主题实体  ,我们在两个知识来源上有一个联合图,我们称之为工作图  。为了自适应地捕获 QA 上下文节点与  中的每个其他节点之间的关系,我们使用 LM 计算每对的相关分数,并将该分数用作每个节点的附加特征。然后,我们提出了一个基于注意力的 GNN 模块,该模块在  上执行消息传递以进行多轮。我们使用 LM 表示、QA 上下文节点表示和池化工作图表示进行最终预测。

图片

图1 总体架构图

(1)相关性评分

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

对于每个节点 ,QA的上下文,节点的相关性评分为:

图片

(2)联合推理

本文中将问答上下文与筛选出的知识图谱的子图构建一张联合图,使用基于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可解释性和结构化推理的能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1418221.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

React一学就会(4): 强化练习二

书接上回,是不是感觉已经有点入门了。不过别急,码哥我准备了很多干货,等我们把这些基本几个章节的学完,码哥带着你一起装逼一起飞。我不大可能只是带着你们入门,那不是我的风格。码哥会教你如何开发一个完整中后台。前…

知识增强系列 ERNIE: Enhanced Representation through Knowledge Integration,论文解读

论文全称:通过知识集成增强语义表达 1. motivation ERNIE 目的在于通过知识屏蔽策略增强语言表示,其中屏蔽策略包括实体级屏蔽(Entity-level strategy)和短语级屏蔽(Phrase-level strategy)。 entity-level 策略通常会掩盖由多个单词组成的实体; Phrase…

智能加湿器数据分析:预计2025年市场规模将达到164.18亿元

随着经济的发展和人民生活水平的提高,人们对生活质量和健康的要求愈来愈高。空气加湿器慢慢的走进家庭当中,预计2023年中国线上超声波加湿器零售额同比下降4.9%;线上纯净型加湿器零售额同比增长44.8%。随着社会科技的不断进步和居民消费水平的不断提高&a…

【网络】WireShark过滤 | WireShark实现TCP三次握手和四次挥手

目录 一、开启WireShark的大门 1.1 WireShark简介 1.2 常用的Wireshark过滤方式 二、如何抓包搜索关键字 2.1 协议过滤 2.2 IP过滤 ​编辑 2.3 过滤端口 2.4 过滤MAC地址 2.5 过滤包长度 2.6 HTTP模式过滤 三、ARP协议分析 四、WireShark之ICMP协议 五、TCP三次握…

容器和虚拟机的对比

容器和虚拟机的对比 容器和虚拟机在与硬件和底层操作系统交互的方式上有所不同 虚拟化 使多个操作系统能够同时在一个硬件平台上运行。 使用虚拟机监控程序将硬件分为多个虚拟硬件系统,从而允许多个操作系统并行运行。 需要一个完整的操作系统环境来支持该应用。…

Rust循环和函数

下面聊聊以下主题: 基于条件的分支循环函数属性测试 基于条件的分支 基于条件的分支,可以通过常见的 if、if else 或 if else if else 构造来完成,例如下面的示例: fn main() { let dead false; let health 48; if dead { p…

JVM问题排查手册

三万字长文&#xff1a;JVM内存问题排查Cookbook 一、Heap快照 # jmap命令保存整个Java堆&#xff08;在你dump的时间不是事故发生点的时候尤其推荐&#xff09; jmap -dump:formatb,fileheap.bin <pid> # jmap命令只保存Java堆中的存活对象, 包含live选项&#xff0c;…

golang:beego的简单介绍和TiDB数据库的客户端实现

查阅官方文档和源码可以知道&#xff0c;beego库中有一个orm包负责数据库接口的封装。这个包支持若干个数据库引擎&#xff1a; 看到了一个文档&#xff0c;对ORM(Object-Relational Mapping)这个东西解释得比较清楚&#xff1a; 具体的客户端实现见下&#xff1a; package …

【JavaScript基础入门】04 JavaScript基础语法(二)

JavaScript基础语法&#xff08;二&#xff09; 目录 JavaScript基础语法&#xff08;二&#xff09;变量变量是什么声明变量变量类型动态类型注释 数字与运算符数字类型算术运算符操作运算符比较运算符逻辑运算符运算符的优先级 变量 变量是什么 在计算机中&#xff0c;数据…

Cesium 问题:遇到加载Cesium时各组件飞出

致敬爱的读者&#xff1a;该问题出现后暂时未找到最优的解决方案&#xff0c;而是将所有组件状态均进行隐藏&#xff0c;大家如果有解决方案可以留言、评论大家一起探讨解决&#xff0c;欢迎大家踊跃说出自己的想法 文章目录 问题分析 问题 在加载 Cesium 时出现各组件的位置不…

HarmonyOS模拟器启动失败,电脑蓝屏解决办法

1、在Tool->Device Manager管理界面中&#xff0c;通过Wipe User Data清理模拟器用户数据&#xff0c;然后重启模拟器&#xff1b;如果该方法无效&#xff0c;需要Delete删除已创建的Local Emulater。 2、在Tool->SDK Manager管理界面的PlatForm选项卡中&#xff0c;取消…

云畅科技入选国家超级计算长沙中心生态合作伙伴

为更好地服务国家战略和区域经济社会高质量发展&#xff0c;打造数据驱动经济发展的新态势&#xff0c;国家超级计算长沙中心面向全国开展了生态合作伙伴的征集工作。经企业申报、专家评审等环节&#xff0c;湖南云畅网络科技有限公司顺利通过审核&#xff0c;成功入选“国家超…

面试经典150题——找出字符串中第一个匹配项的下标

找出字符串中第一个匹配项的下标 思路分析&#xff1a; 思路一&#xff1a;直接调用String的API&#xff1a;indexOf 大道至简&#xff0c;String中的IndexOf是这样描述的&#xff1a; /*** Returns the index within this string of the first occurrence of the* specified…

牛客——小红又战小紫(概率dp和逆元)

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 小红上次输给了小紫&#xff0c;表示不服&#xff0c;于是又约来小紫来玩一个游戏。 这次是取石子游戏&#xff1a;共有nnn堆石子&#xff0c;两人轮流使用以下两种技能中的一种进行取石子&#x…

如何在Win系统安装Jupyter Notbook并实现无公网ip远程访问本地笔记

文章目录 1.前言2.Jupyter Notebook的安装2.1 Jupyter Notebook下载安装2.2 Jupyter Notebook的配置2.3 Cpolar下载安装 3.Cpolar端口设置3.1 Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 在数据分析工作中&#xff0c;使用最多的无疑就是各种函数、图表、…

《WebKit 技术内幕》学习之十四(1):调式机制

第14章 调试机制 支持调试HTML、CSS和JavaScript代码是浏览器或者渲染引擎需要提供的一项非常重要的功能&#xff0c;这里包括两种调试类型&#xff1a;其一是功能&#xff0c;其二是性能。功能调试能够帮助HTML开发者使用单步调试等技术来查找代码中的问题&#xff0c;性能调…

【漏洞复现】零视技术H5S视频平台信息泄漏漏洞

Nx01 产品简介 零视技术(上海)有限公司是以领先的视频技术服务于客户&#xff0c;致力于物联网视频开发简单化&#xff0c;依托于HTML5 WebRTC 等新的技术&#xff0c;实现全平台视频播放简单化。 Nx02 漏洞描述 零视技术(上海)有限公司H5S CONSOLE存在未授权访问漏洞&#xf…

ElasticSearch重建/创建/删除索引操作 - 第501篇

历史文章&#xff08;文章累计500&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 E…

在WSL2中利用gradle构建项目时出现:Could not connect to the Gradle daemon. 的解决方案

最近本人在做基于expo开发的某个APP&#xff0c;由于某种原因&#xff0c;eas云构建连接不上&#xff08;卡在连接谷歌那一步&#xff09;&#xff0c;于是想要利用官方提供的本地构建功能在本地构建一下&#xff0c;结果在wsl这里摔了个跟头&#xff09;&#xff09; eas要求必…

WSL—子系统安装及其相关配置和[诸多报错问题]-修改默认安装位置

一、WSL简介 WSL的全称是Windows Subsystem for Linux。 适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。 二、开启WSL功能 系统要求&#xff1a;win10/11 专业…