浅述机器阅读理解

对机器阅读理解的关注来源于我对各学科知识的好奇心。我曾经幻想能够在活着的时间里掌握人类的全部知识文化,当然那我的寿命可能得是无穷大。但至少我通过这么多年的学习和思考发现可以掌握每个领域的方法体系,余下的便是一些可以随学随用,即存即放的“死”知识了。
但是,随着信息技术的发展,互联网上每天甚至每分每秒都在产生着数以万计的信息。如何能让机器帮我们将这些信息自动处理成有效有用的形式,我认为是十分有用并且也非常有趣的一个研究话题。于是,我来到了机器阅读理解这个方向。
通过对一些文章的搜集和自己的思考,下面我将对MRC做一些简单的概述。

  1. 发展历史
    1999年,Hirschman等最早开始 了 MRC技术 的 研 究。Hirschman使用小学3年级到6年级的阅读材料构造了一个小规模的 MRC测试 集,再用词袋模型分别对问题和文章中的每条语句进行信息抽取和模式匹配,然后从文章中选取与问题匹配度最高的语句作为问题的答案。
    Riloff等则通 过人工制定规则,对文章中的候选语句和问题进行匹配度打分,然后选取得分最高的候选语句作为答案。
    Poon等使用 关系数据库将海量文本信息进行结构化表示,构建了一个能够
    进行联合推断和持续学习的阅读理解系统。
    传统的 MRC技术大多采用模式匹配的方法进行特征提取,因而不能有效处理表达的多样性问题;同时,由于匹配时往往使用固定窗口,因 此 其 无 法 解
    决多个句子之间的长期依赖问题。
    随着深度学习和大规模数据集的兴起,基于深度学习的MRC显著优于基于规则的MRC。使用深度神经网络的前提是需要大规模的训练语料,早期的数据集,如 MCT-est,数据规模太小,因而只能用于测试,并不能用于训练。
    Hermann等提出了一种高效的生成大规模训练数据的方法,并构造了 CNN 和 DailyMail两个大规模数据集。区别于传统方法,Hermann提出了基于注意力机制的深度神经网络模型,该模型在 CNN 和 DailyMail上取得了远超传统方法的结果。在此基础上,Kadlec使用点积简化了 Hermann的注意力模型,并获得了更 好 的 效 果。Chen则使用双线性函数作为激活函数来获得更加灵活、有效的注意力模型。区 别 于
    只在文章上使用注意力机制的方法,Cui通过在文章和问
    题上相 互 使 用 注 意 力 机 制,增强了模型的特征提取能力。Dhingra通过加深 网 络 的 深 度,并 在 层 与 层 之 间 增 加 门 限来保留重要信息,以达到多步推理的效果。2016年,斯坦福发布了大规模数据集 SQuAD。不同于 CNN/DailyMail的答案是原文中的实体词,SQuAD 数据
    集的答 案 是 原 文 的 一 个 连 续 片 段,因而更具有挑战性。SQuAD发布 之 后,极 大 地 推 动 了 MRC 的快 速 发 展。Wang等通过注意力机制将问题融合到文章表示中,接 着 利 用指针网络预测答案序列在文章中的开始位置和结束位置。Seo等通过多阶段信息对文章和问题进行编码,并 通 过 双向注意力机制来提升模型性能。Xiong等提出了动态迭代和双路注意力机制,可以同时对文章和问题使用注意力机制,并通过不断迭代预测结果来提升性能。Wang等则提出了一个多层网络结构 R-Net,分别从4个层面对 MRC任务进行
    建模,率先超越了人类水平。
    SQuAD发布后不久,微软亚洲研究院便发布了来源于真实应用场景 的 数 据 集 MS MARCO。MS MARCO 数据 集的所有文章和问题全部来源于必应搜索,每个问题对应10篇候选文章,问题的答案由人工生成,而不再是原文的连续片段。类似的数据集还 包 括 TriviaQA和百 度 发 布 的 中 文 数据集 DuReader。这类数据集要求模型能从多篇候选文章中排除干扰项,并具备生成答案的能力。Tan在 R-Net的基础上增加了文章排名算法和答案生成模块,性能显著优于答案抽取模型的性能。Clark等通过使用跨文章的全局归一化方法,增强了不同候选答案得分之间的可比性。Wang等则使用注意力机制对多个候选答案进行交叉验证,以实现跨文章的信息交流。Kociskyd等分析了主流 的 MRC数据 集,发 现 现 有 数据集的问题大多比较肤浅,并且答案往往来源于局部上下文而非全局信息,于是发布了更具挑战的数据集 NarrativeQA。该数据集的语境不再是一篇文章,而是一整部小说,要求模型在理解小说内容的基础上回答问题,对模型的理解能力和推理能力提出了更大的挑战。

  2. 主要方法
    有各种各样的方法应用到MRC系统中,在国防科大的一篇综述论文中有一张很完美的展示图:
    在这里插入图片描述
    2.1 Embeddings
    Embeddings模块将单词转换为对应的向量表示。如何充分编码context和question是本模块中的关键任务。早期常用的方法为传统的词表示方法,如独热表示和分布式词向量,近两年由大规模语料库预训练的基于上下文词表示方法也得到了广泛的应用,如 ELMo、GPT 、Bert 等。在目前的MRC模型中,词表示方法可以分为传统的词表示和预训练上下文表示。为了编码更丰富的语义信息,MRC系统在原来的词级别表示的基础上,还会融合字向量、POS、NER、词频、问题类别等信息。同时,为了能更好的表示语义句法等信息,上述词向量有时也可以和词性标签、命名实体、问题类型等语言特征结合后进行更细粒度的表示。
    2.2 Feature Extraction
    经由嵌入编码层编码得到的文章和问题的词向量表示接着传递给特征提取模块,来抽取更多的上下文信息。这一模块中常用的神经网络模型有循环神经网络(RNN)、卷积神经网络(CNN)和基于多头自注意力机制的 Transformer 结构 2.3 Context-Question Interaction
    通过提取context和question之间的相关性,模型能够找到答案预测的证据。根据模型是如何抽取相关性的方式,目前的工作可以分为两类,一跳交互和多条交互。无论哪种交互方式,在MRC模型中,attention机制在强调context哪部分信息在回答问题方面更重要发挥着关键作用。在机器阅读理解中,attention机制可以分为无向和双向的。与此同时,为了更深层次的挖掘文章和问题之间的关系,两者之间的交互过程有时可能会执行多次,以此来模拟人类在进行阅读理解时重复阅读的行为。
    2.4 Answer Prediction
    该模块与任务高度相关,之前我们将MRC分为四类,分别是完形填空、多项选择、片段抽取、自由回答,那么对应的答案预测方法也有四种,分别是word predictor,option selector,span extractor,answer generator。对于完形填空任务,答案输出是原文中的一个词或实体,一种做法是将文中相同词的注意力权重得分进行累加,最终选择得分最高的词作为答案 ;对于多项选择任务,是从多个候选答案中挑选出正确答案,一般是对备选答案进行打分,选择得分最高的候选者作为答案;对于片段抽取任务,从原文中抽取一个连续的子片段作为答案,常用方法是 Wang & Jiang 提出的预测答案开始和结束位置的概率的边界模型;对于自由作答任务,答案灵活度最高,不再限制于原文中,可能需要进行推理归纳,现有的方法常用抽取和生成相结合的模式。

  3. 未来展望
    3.1 Knowledge-Based Machine Reading Comprehension
    有时候,我们只根据context是无法回答问题的,需要借助外部知识。因此,基于外部知识的MRC应运而生。KBMRC和MRC的不同主要在输入部分,MRC的输入是context和question,而KBMRC的输入是context、question、knowledge。为了引入额外的外部知识,一些学者提出了基于知识的机器阅读理解任务,与之前所介绍的任务不同,这一任务的输入除了文章和问题,还有从外部知识库中抽取的知识,以此来提高机器进行答案预测的准确率。代表性的基于知识的机器阅读理解数据集有 MC ,其中的文本关于人类的一些日常活动,有些问题仅根据给定文本不能作答,需要一定的常识。例如回答“用什么来挖洞”(What was used to dig the hole?)这一问题,依据常识我们知道一般是用“铲子”(a shovel)而不是用“手”(bare hands)。
    基于知识的机器阅读理解任务的挑战主要有:

  4. 相关外部知识的检索(如何从知识库中找到“用铲子挖洞”这一常识);

  5. 外部知识的融合(知识库中结构化的知识如何与非结构化的文本进行融合)。
    3.2 Unanswerable Questions
    有一个潜在的假设就是MRC任务中正确答案总是存在于给定的上下文中。显然这是不现实的,上下文覆盖的知识是有限的,存在一些问题是无法只根据上下文就可以回答的。因此,MRC系统应该区分这些无法回答的问题。由于给定文章中所含的知识有限,一些问题仅根据原文可能并不能做出回答,这就出现了带有不能回答问题的机器阅读理解任务。在这一任务中,首先机器要判断问题仅根据给定文章能否进行作答,如若不能,将其标记为不能回答,并停止作答;反之,则给出答案。SQuAD2.0 是带有不能回答问题的机器阅读理解任务的代表数据集。在下面的例子中,问题是“1937 年条约的名字”(What was the name of the 1937 treaty?),但是原文中虽然提到了 1937 年的条约,但是没有给出它的名字,仅根据原文内容不能对问题进行作答,1940 年条约的名字还会对回答问题造成误导。
    带有不能回答问题的机器阅读理解任务的挑战有:

  6. 不能回答问题的判别(判断“1937 年条约的名字是什么”这个问题能否根据文章内容进行作答);

  7. 干扰答案的识别(避免被 1940 年条约名字这一干扰答案误导)。
    3.3 Multi-Passage Machine Reading Comprehension
    在MRC任务中,相关的段落是预定义好的,这与人类的问答流程矛盾。因为人们通常先提出一个问题,然后再去找所有相关的段落,最后在这些段落中找答案。因此研究学者提出了multi-passage machine reading comprehension,相关数据集有MS MARCO、TriviaQA、SearchQA、Dureader、QUASAR。人们在进行问答时,通常先提出一个问题,再利用相关的可用资源获取回答问题所需的线索。为了让机器阅读理解任务与实际应用更为贴合,一些研究者提出了多文档机器阅读理解任务,不再仅仅给定一篇文章,而是要求机器根据多篇文章对问题进行作答。这一任务可以应用到基于大规模非结构化文本的开放域问答场景中。
    多文档机器阅读理解的挑战有:

  8. 相关文档的检索(如何从多篇文档中检索到与回答问题相关的文档)

  9. 噪声文档的干扰(一些文档中可能存在标记答案,但是这些答案与问题可能存在答非所问的情况)

  10. 检索得到的文档中没有答案

  11. 可能存在多个答案(例如问“美国总统是谁”,特朗普和奥巴马都是可能的答案,但是哪一个是正确答案还需要结合语境进行推断)

  12. 需要对多条线索进行聚合(回答问题的线索可能出现在多篇文档中,需要对其进行总结归纳才能得出正确答案)。
    3.4 Conversational Question Answering
    MRC系统理解了给定段落的语义后回答问题,问题之间是相互独立的。然而,人们获取知识的最自然方式是通过一系列相互关联的问答过程。比如,给定一个问答,A提问题,B回复答案,然后A根据答案继续提问题。这个方式有点类似多轮对话。为了模拟上述过程,出现了对话式阅读理解,将对话引入了机器阅读理解中。对话式阅读理解的代表性数据集有 CoQA 、QuAC 等
    对话式阅读理解存在的挑战有:

  13. 对话历史信息的利用(后续的问答过程与之前的问题、答案紧密相关,如何有效利用之前的对话信息);

  14. 指代消解(理解问题 2,必须知道其中的 she 指的是 Jessica)。

4 开放性问题讨论

4.1外部知识的引入

常识和背景知识作为人类智慧的一部分常常用于人类阅读理解过程中,虽然基于知识的机器阅读理解任务在引入外部知识方面有一定的尝试,但是仍存在不足。

一方面,存储在知识库中的结构化知识的形式和非结构化的文章、问题存在差异,如何将两者有效的进行融合仍值得研究;另一方面,基于知识的机器阅读理解任务表现高度依赖于知识库的构建,但是知识库的构建往往是费时费力的,而且存储在其中的知识是稀疏的,如果不能在知识库中直接找到相关的外部知识,可能还需要对其进行进一步的推理。

4.2机器阅读理解系统的鲁棒性

正如 Jia & Liang [30] 指出的,现有的基于抽取的机器阅读理解模型对于存在误导的对抗性样本表现非常脆弱。如果原文中存在干扰句,机器阅读理解模型的效果将大打折扣,这也在一定程度上表明现有的模型并不是真正的理解自然语言,机器阅读理解模型的鲁棒性仍待进一步的提升。

4.3限定文章带来的局限性

机器阅读理解任务要求机器根据给定的原文回答相关问题,但是在实际应用中,人们往往是先提出问题,之后再利用可用的资源对问题进行回答。多文档机器阅读理解任务的提出在一定程度上打破了预先定义文章的局限,但是相关文档的检索精度制约了多文档机器阅读理解模型在答案预测时的表现。信息检索和机器阅读理解需要在未来进行更为深度的融合。

4.4推理能力的缺乏

现有的机器阅读理解模型大多基于问题和文章的语义匹配来给出答案,这就导致模型缺乏推理能力。例如,给定原文“机上五人地面两人丧命”,要求回答问题“几人丧命”时,机器很难给出正确答案“7 人”。如何赋予机器推理能力将是推动机器阅读理解领域发展的关键问题。

参考链接:
0.http://www.cnki.com.cn/Article/CJFDTotal-JSJA201907002.htm
2.https://zhuanlan.zhihu.com/p/81126870
3.https://www.cnblogs.com/caiyishuai/p/11294859.html
4.https://arxiv.org/abs/1907.01118v3
待读论文:
https://download.csdn.net/download/guotong1988/10857863

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值