浅谈多跳阅读理解

1 多跳阅读理解(Multi-hop QA) 简介

在自然语言处理中,问答(QA)问题是举足轻重的一环。QA问题旨在测试人工智能系统的推理能力,一直以来都是各大科研机构研究的重点。近年来,预训练模型BERT等在QA问题中都获得了很大的成功,在许多数据集上的测试结果都逼近人类水平。但现有的QA问题及其数据集,往往存在以下的不足:

  • 一些数据集主要侧重于测试单个段落或单个文档中的推理能力或单跳的推理测试。例如著名的SQuAD数据集,它的设计目的是给定单个段落作为上下文的答案,并且实际上大多数问题可以通过将问题与该段落中的单个句子匹配来回答。
  • 一些数据集,如QAngaroo,是使用现有知识库(KB)构建的。因此,这些数据集受到它们使用的KB架构的约束,因此,问题和答案的多样性固有地受到限制。
  • 目前的数据集只有问题和答案,系统仅知道答案是什么,却不知道如何推理出答案,更不可能得知推理出答案的事实依据是什么。这使得模型很难了解其潜在的推理过程,也难以做出可解释的预测。

传统的抽取式阅读理解数据集(如SQuAD)被人指出90%以上的答案只需要输入原文中与问题相关的那个句子就能回答。因此,HOTPOTQA 数据集的作者制作了一个新的数据集。数据集中的问题,需要多次“跳转”的阅读理解才能回答。具体来说,给定一个问题,系统只通过一个文档是无法正确回答问题的,需要系统根据多篇文档回答一个问题,所以需要多跳推理。并且标注了支持事实,含有对照类型的问题,这使得可以训练模型推理答案和相应的支持事实的能力。

例如作者给出的例子,对于给出的问题,系统需要“跳转”两个文档。先根据第一个文档的有关线索跳转到第二个文档,再根据有关线索回答问题。这就需要系统收集能回答问题的所有事实构建推理链来回答问题。可以看出,多跳QA问题比一般的QA问题要复杂许多。下文将介绍几个在Multi-hop QA取得不错成果的模型。

2 Cognitive Graph for Multi-Hop Reading Comprehension at Scale

论文:https://arxiv.org/abs/1905.05460

代码:https://github.com/THUDM/CogQA

这篇文章主要的贡献是建立了一种认知图谱(Cognitive Graph)问答模型。作者提到,在认知学中,有一个著名的“双过程理论(dual process theory)”,它认为人的认知,分为两个系统:系统一是基于直觉的,无知觉的思考系统,其运作依赖于经验和关联。系统二是人类特有的逻辑推理能力,其运作利用工作记忆中的知识进行慢速但是可靠的逻辑推理,系统二是显式的,需要意识控制的,是人类高级智能的体现。论文的认知图谱模型就是构建在这个双过程理论的基础上的。具体来说,论文设计了两个系统共同去维护一张认知图谱。系统一遍历文档,抽取与问题相关的实体,并对其中的信息编码,然后扩充于认知图谱上;系统二利用图神经网络(GNN)在所构建的认知图谱上进行推理,构建推理链,回答问题。整个模型就是两个系统不断的迭代,直到能最终回答问题。

可以看到,系统一采用了流行的BERT模型,其输入为

主要分为三部分:

  • 问题本身(question)
  • 从前面段落找到的线索(clues),指的是提到了实体 的句子
  • 关于实体 的维基百科文档

系统一的输出,也主要有三部分组成:

  • 下一跳名称(Hop span)
  • 答案候选(Ans span)
  • 关于实体的语义向量

这些抽取的到的实体和答案候选将作为节点添加到认知图谱中。获得的语义向量将作为系统二图网络节点的初始值。系统二使用图神经网络(GNN)实现推理计算。系统一的输出都会在系统二的图网络上生成一个新的节点,每一步迭代,前续节点将变换过的信息传递给下一跳节点,并更新目前的隐表示。这样一来,系统一不断地提取出一些相关实体及其语义信息,然后系统二用它们来对图进行扩展和填充,最终所有的“答案候选”点的隐表示将通过一个带有softmax函数的全连接网络来判断哪个是最终答案。

可以看到,在Hotpot QA数据集上,CogQA的效果要高出很多。

3 Dynamically Fused Graph Network for Multi-hop Reasoning

论文:https://www.aclweb.org/anthology/P19-1617.pdf

代码:https://github.com/woshiyyya/DFGN-pytorch

这篇文章同样是使用图神经网络来处理多跳推理问题。在文章中,作者认为人类处理阅读理解问题时:首先从问题中的某个感兴趣的实体开始,接下来关注实体周围的词语、邻近的与此实体有关系的实体,之后不断地重复这个步骤形成一个推理链,最后定位到可能是答案的某个实体或者片段上。基于上面的假设,此文章针对于问答系统构建了5个组件:用于段落选择的子网络,实体图结构单元,编码层,多跳推理的融合模块和最终的推理层。

段落选择

对于所给定的问题,假设有 个段落用于推理答案。因为不是每个段落都与问题相关,作者通过预训练一个子网络来进行段落选择。这个子网络采用预训练的BERT模型,使用问题 和段落进行二分类

构建实体图

文章使用斯坦福的CoreNLP工具包,对文本进行实体抽取。实体图就构建在所提取的实体上。首先对文本中同一句子出现的每一对实体进行连接,作为句子层的连接;对出现在相同文本的实体进行连接,作为内容层的连接;对相同段落的中心实体和其他实体进行连接,作为段落层的连接。

编码查询和上下文

我们将问题Q和上下文C一起输入BERT得到相关表示。之后将两个表示通过一个双注意层来增强两者之间的交互,然后将两者相加得到最终表示。

使用融合模块进行推理

文章首先使用平均池化层和最大池化层来得到实体嵌入作为图网络的初始值,称为Doc2Graph。

接下来通过动态图注意力机制计算每个实体的重要性,得到与问题最相关的实体。

同样的,整个过程需要不断迭代,添加实体,每一步新访问的实体点都会变成下一步的起始实体点。

文章参考双重注意力网络设计了查询嵌入的更新机制。最后,我们需要将构建的图转换回序列,这一步文章通过所设计的Graph2Doc模块实现。

预测

预测框架由四格输出维度构成,包括支持句,答案的开始位置,答案的结束位置和答案类型。使用堆栈结构的4层同构LSTM来进行预测:

最终的损失函数为:

结果

最终的实验结果,DFGN要比CogQA高一点。

4 总结

可以看到,Multi-hop QA要比传统的单文档抽取式QA要难上许多,这也是现在的SOAT模型结果仍然不是特别高的原因。这也因此是一个有趣的值得研究的问题。

———————————————————————————————————

中国科学院深圳先进技术研究院自然语言处理组正在招收实习/硕士/博士同学,对NLP感兴趣的同学欢迎发送简历至min.yang@siat.ac.cn!

关于我们

“AI论道”公众号是由中国科学院深圳先进技术研究院自然语言处理组(SIAT-NLP)创立,在于分享更多高质量,高水平的科研论文与成果。如果你也对自然语言处理、深度学习等相关知识感兴趣,可以加入微信群。本群为大家提供交流的平台,在这里你可以分享、学习更多相关知识。

扫描二维码加入我们

由于人数过多,已经不能通过扫码加入,加群请加微信:Jasper-wan,备注"AI论道"

发表回复

相关推荐

《豪杰春香》韩彩英整容像换头,出演RM完全认不出,春香整残了

韩国女明星韩彩英作为嘉宾出演《running man》,本来很期待,可看到她的模样,当时就愣住了,这还是《豪杰春香》里的春香吗?

· 43秒前

037的誕生——037型反潛護衛艇

037型反潛護衛艇編隊齊射反潛火箭深彈是十分經典的畫面20世紀50-60年代,55甲型護衛艇、62型護衛艇的建成服役在鞏固海防方面...

· 54秒前

初中数学竞赛-绝对值方程

昨天给大家分享了关于初中竞赛中,有关绝对值的化简问题,相信同学们这绝对值的认识又加深了一层,今天给大家分享的是关于绝 ...

· 56秒前

无法抗拒的玫红色唇膏在向你招手囖~

点击↗免费订阅时尚杂志▲ 今 天安利的都是比较热门的色号,有很多人已经做过试色测评,有兴趣的可以多看看别人,特别是亚洲 ...

· 6分钟前

日本對性是真開放

讀完村上春樹寫的《挪威的森林》,感慨頗多.一直知道日本的性是非常開放的,讀瞭這邊書之後才有瞭更具體的瞭解.直子和木月兩人...

· 6分钟前