胡明昊作者国防科技大学博士生学校

机器阅读理解与文本问答技术研究 | 博士学位论文

引言

文本问答是自然语言处理中的一个重要领域,随着一系列大规模高质量数据集的发布和深度学习技术的快速发展,文本问答技术在近年来引起了学术界与工业界的广泛关注。如图 1 所示,近几年文本问答相关论文数量增长迅速,同时问答任务的种类也越来越多样化。

 图1. 近年来基于深度学习的文本问答学术论文数量随年份变化情况统计(数据统计于ACL、EMNLP、NAACL、NIPS、AAAI等各大顶级学术会议)

机器阅读理解(Machine Reading Comprehension)是文本问答的一个子类,旨在令机器阅读并理解一段自然语言组成的文本,并回答相关问题。通过这种任务形式,我们可以对机器的自然语言理解水平进行评估,因此该任务具有重要的研究价值。

早期的阅读理解研究受限于数据集规模以及自然语言处理技术的发展,进展较为缓慢。直到 2015 年,谷歌发布首个大规模完形填空类阅读理解数据集 CNN/Daily Mail [1],引发了基于神经网络的阅读理解研究热潮。2016 年,SQuAD 数据集 [2] 被斯坦福大学发布,并迅速成为了抽取式阅读理解的基准测试集。

随后至今,机器阅读理解领域发展迅速,各类任务如开放域式、多选式、聊天式和多跳式等不断涌现。此外,阅读理解模型性能也不断刷新记录,在 SQuAD 数据集上甚至达到了超越人类的性能指标,如图 2 所示。

 图2. SQuAD排行榜上代表性模型性能走势图

尽管取得了如此成就,机器阅读理解仍然面临着许多挑战,如:1)当前方法的模型结构和训练方法中存在着制约性能的问题;2)当前具备顶尖性能的集成模型在实际部署时效率低下;3)传统方法无法有效处理原文中找不到答案的情况;4)当前大部分模型是针对单段落场景设计的,无法有效扩展至开放域问答;5)当前大部分模型无法有效支持离散推理和多答案预测等情况。 

针对上述存在的挑战,本文从以下五个方面开展研究: 

强化助记阅读器(Reinforced Mnemonic Reader)

针对抽取式阅读理解任务,我们提出了强化助记阅读器,如图 3 所示。

 图3. 强化助记阅读器总体架构示意图

该模型主要包含两点改进。第一,我们提出一个重关注机制(re-attention),该机制通过直接访问历史注意力来精炼当前注意力的计算,以避免注意力冗余与缺乏的问题。第二,我们在训练时采用动态-评估的强化学习(dynamic-critic reinforcement learning)方法,该方法总是鼓励预测一个更被接受的答案来解决传统强化学习算法中的收敛抑制问题。在 SQuAD1.1 和两个对抗数据集上的实验显示了我们的模型取得了提交时的先进性能。

注意力指导的答案蒸馏方法(Attention-Guided Answer Distillation) 

针对当前阅读理解集成模型效率低下的问题,我们提出了注意力-指导的答案蒸馏方法来进行阅读理解模型压缩,如图 4 所示。

 图4. 注意力指导的答案蒸馏总体示意图

我们发现在使用标准知识蒸馏过程中存在有偏蒸馏现象,为解决该问题,我们提出答案蒸馏(answer distillation)来惩罚模型对于迷惑答案的预测。为了进一步高效蒸馏中间表示,我们提出注意力蒸馏(attention distillation)来匹配教师与学生之间的注意力分布。在 SQuAD1.1 上的实验显示学生单模型相比于教师集成模型只有 0.4% F1 的性能损失,却获得了 12 倍的推理加速。学生模型甚至在对抗 SQuAD 和 NarrativeQA 数据集上超过了教师模型性能。

阅读+验证架构(Read + Verify Architecture) 

针对面向无答案问题的阅读理解任务,我们提出了阅读+验证架构,如图 5 所示。

 图5. 阅读+验证架构总体示意图

该系统不仅利用一个神经网络阅读器来抽取候选答案,还使用了一个答案验证器(answer verifier)来判断预测答案是否被输入文本所蕴含。此外,我们引入了两个辅助损失函数(auxiliary losses)来解决传统方法采用共享归一化操作时产生的概率互相干扰问题,并且探索了针对答案验证任务的三种不同网络结构。在 SQuAD 2.0 数据集上的实验显示,我们的系统在提交时取得了先进性能。

检索-阅读-重排序网络(Retrieve-Read-Rerank Network) 

在开放域问答任务中,传统流水线方法面临训练-测试不一致以及重复编码等问题。为解决这些问题,我们提出了检索-阅读-重排序网络,如图 6 所示。

 图6. 检索-阅读-重排序网络示意图

该模型包含一个早期停止的检索器(early-stopped retriever)、一个远程监督的阅读器(distantly-supervised reader)、以及一个跨度级答案重排器(span-level answer reranker)。这些组件被集成到一个统一的神经网络中以便进行端到端训练来缓解训练-测试不一致问题。另外,编码表示能在多个组件之间被复用以避免重复编码。在四个开放域问答数据集上的实验显示,该模型相比流水线方法性能更优,同时效率更高。

多类型-多跨度网络(Multi-Type Multi-Span Network) 

针对离散推理阅读理解任务,当前方法通常面临答案类型覆盖不全、无法支持多答案预测以及孤立预测算术表达式等问题。为解决这些问题,我们提出了多类型-多跨度网络,如图 7 所示。

 图7. 多类型-多跨度网络总体示意图

该模型使用一个多类型答案预测器(multi-type answer predictor)以支持对四种答案类型的预测,采用一个多跨度抽取(multi-span extraction)方法以动态地抽取指定个数的文本跨度,并使用一个算术表达式重排名(arithmetic expression reranking)机制来对若干候选表达式进行排序以进一步确定预测。在 DROP 数据集上的实验表明,该模型显著提高了答案类型覆盖度和多答案预测精度,相比之前方法性能获得了大幅度提升。

研究展望

机器阅读理解已经成为自然语言处理领域的热门研究方向之一。虽然近几年在该领域的研究进展迅速,但是该领域仍有大量未解决的问题与挑战亟待研究人员探索。本文在此对未来研究工作提出几点展望: 

阅读理解模型的常识推理能力 

当前阅读理解模型主要关注回答事实类问题(factoid questions),问题答案往往能直接在原文中找到。然而,如何基于常识和背景知识进行推理以获得答案仍旧是一个巨大的挑战。为了促进该方向的发展,若干数据集如 CommonsenseQA [3] 和 CosmosQA [4] 相继被提出。在这些数据集中,机器需要结合常识知识来回答诸如“我可以站在河上的什么地方看水流淌而不湿身?”这样的问题,因此更具挑战性。 

阅读理解模型的可解释性 

当前的阅读理解模型往往是一个大的黑盒(black-box)神经网络,导致的问题是模型可解释性差。一个好的阅读理解系统应该不仅能提供最终答案,还要能够提供做出该预测背后的逻辑。因此,如何推进阅读理解模型的可解释性也是未来很有前景的一个研究方向。幸运的是,我们已经看到有若干工作 [5-6] 在朝着这个方向努力。 

开放域问答系统的实时性 

构建一个快速响应的开放域问答系统对于实际部署线上应用至关重要。然而,由于开放域问答需要经历检索-阅读的流水线过程,且需要为每个问题-文档样例重新编码,导致这些系统面临实时性方面的严峻挑战。虽然当前有工作 [7-8] 通过预先构建问题-无关的段落表示来节约运算开销,然而这些方法普遍会导致不同程度的性能下降。因此,如何令开放域问答系统达到实时响应同时保持模型性能也是一个重要的研究方向。 

跨语种机器阅读理解 

虽然当前机器阅读理解取得了快速的发展,但是大部分工作都是在英语语料下开展的,其他语种因为缺乏足够的语料而进展缓慢。因此,如何利用源语言如英语来辅助目标语言如中文的训练就是一个亟待探索的方向。我们已经看到有初步的工作 [9-10] 在该方向上进行探索。

博士学位论文链接:https://github.com/huminghao16/thesis/blob/master/thesis.pdf

Reference

[1] Hermann K M, Kocisky T, Grefenstette E, et al. Teaching Machines to Read and Comprehend. NIPS 2015: 1693-1701. 

[2] Rajpurkar P, Zhang J, Lopyrev K, et al. SQuAD: 100,000+ Questions for Machine Comprehension of Text. EMNLP 2016: 2383-2392. 

[3] Talmor A, Herzig J, Lourie N, et al. CommonsenseQA: A Question Answering Challenge Targeting Commonsense Knowledge. NAACL 2019: 4149-4158. 

[4] Huang L, Le Bras R, Bhagavatula C, et al. Cosmos QA: Machine Reading Comprehension with Contextual Commonsense Reasoning. EMNLP-IJCNLP 2019: 2391-2401. 

[5] Gupta N, Lin K, Roth D, et al. Neural Module Networks for Reasoning over Text[J]. arXiv preprint arXiv:1912.04971, 2019. 

[6] Jiang Y, Bansal M. Self-Assembling Modular Networks for Interpretable Multi-Hop Reasoning. EMNLP-IJCNLP 2019: 4464-4474. 

[7] Seo M, Kwiatkowski T, Parikh A, et al. Phrase-Indexed Question Answering: A New Challenge for Scalable Document Comprehension. EMNLP 2018: 559-564. 

[8] Seo M, Lee J, Kwiatkowski T, et al. Real-Time Open-Domain Question Answering with Dense-Sparse Phrase Index[J]. arXiv preprint arXiv:1906.05807, 2019. 

[9] Lewis P, Oğuz B, Rinott R, et al. Mlqa: Evaluating cross-lingual extractive question answering[J]. arXiv preprint arXiv:1910.07475, 2019. 

[10] Cui Y, Che W, Liu T, et al. Cross-Lingual Machine Reading Comprehension. EMNLP-IJCNLP 2019: 1586-1595.

后记

如果你对机器阅读理解感兴趣,想从事这方面的研究,那么请不要犹豫,赶快联系我吧。

联系邮箱:huminghao16@gmail.com ; huminghao09@nudt.edu.cn。

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

理论论文自然语言处理文本问答机器阅读理解
2
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

自然语言理解技术

自然语言理解是人工智能的核心课题之一,也被广泛认为是最困难和最具标志性的任务。最经典的两个人工智能思想实验——图灵测试和中文房间,都是围绕自然语言理解来构建的。自然语言理解在人工智能技术体系中的重要性不言而喻,它一方面承载着机器和人的交流,另一方面直达知识和逻辑。自然语言理解也是人工智能学者孜孜以求的圣杯,机器学习的巨擘 Michael I. Jordan 就曾经在 Reddit 上的 AMA(Ask Me Anything)栏目中畅想用十亿美元建立一个专门用于自然语言理解的实验室。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

知识蒸馏技术

Hinton 的工作引入了知识蒸馏压缩框架,即通过遵循“学生-教师”的范式减少深度网络的训练量,这种“学生-教师”的范式,即通过软化“教师”的输出而惩罚“学生”。为了完成这一点,学生学要训练以预测教师的输出,即真实的分类标签。这种方法十分简单,但它同样在各种图像分类任务中表现出较好的结果。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

问答系统技术

问答系统是未来自然语言处理的明日之星。问答系统外部的行为上来看,其与目前主流资讯检索技术有两点不同:首先是查询方式为完整而口语化的问句,再来则是其回传的为高精准度网页结果或明确的答案字串。以Ask Jeeves为例,使用者不需要思考该使用什么样的问法才能够得到理想的答案,只需要用口语化的方式直接提问如“请问谁是美国总统?”即可。而系统在了解使用者问句后,会非常清楚地回答“奥巴马是美国总统”。面对这种系统,使用者不需要费心去一一检视搜索引擎回传的网页,对于资讯检索的效率与资讯的普及都有很大帮助。从系统内部来看,问答系统使用了大量有别于传统资讯检索系统自然语言处理技术,如自然语言剖析(Natural Language Parsing)、问题分类(Question Classification)、专名辨识(Named Entity Recognition)等等。少数系统甚至会使用复杂的逻辑推理机制,来区隔出需要推理机制才能够区隔出来的答案。在系统所使用的资料上,除了传统资讯检索会使用到的资料外(如字典),问答系统还会使用本体论等语义资料,或者利用网页来增加资料的丰富性。

常识推理技术

常识推理是人工智能(AI)的一个分支,它关注模拟人类每天遇到的普通情境的类型和本质的假设。这些假设包括对人和物体的物理特性,目的,意图和行为的判断,以及他们的行为和相互作用的可能结果。展示常识推理的设备将能够预测结果并得出类似于人类民间心理学(人类对人们的行为和意图进行推理的天生能力)和天真物理学(人类对物理世界的自然理解)的结论。

算术技术

算术(英语:arithmetic)是数学最古老且最简单的一个分支,几乎被每个人使用着,从日常生活上简单的算数到高深的科学及工商业计算都会用到。一般而言,算术这一词指的是记录数字某些运算基本性质的数学分支。

远程监督技术

该方法由 M Mintz 于 ACL2009 上首次提出,与传统预先定义关系类别不同,Distant Supervision 通过将知识库与非结构化文本对齐来自动构建大量训练数据,减少模型对人工标注数据的依赖,增强模型跨领域适应能力。

暂无评论
暂无评论~