多跳机器阅读理解研究进展

2021-09-15 07:35:34黄瑞阳张建朋余诗媛
计算机工程 2021年9期
关键词:段落文档检索

苏 珂,黄瑞阳,张建朋,余诗媛,胡 楠

(1.郑州大学 软件学院,郑州 450001;2.国家数字交换系统工程技术研究中心,郑州 450002)

0 概述

机器阅读理解(Machine Reading Comprehension,MRC)是一项使机器能够理解文本篇章段落语义内容并回答人类相关问题的技术。MRC 可以帮助人类从海量文本中快速聚焦相关主题,显著提升人类获取信息的效率,因此,其在文本理解、信息抽取、对话系统等领域具有极高的应用价值。近年来,随着深度学习快速发展,机器智能化水平大幅提升,一些大规模MRC 数据集被陆续发布,基于深度学习的MRC 技术开始进入人们的视野。与传统MRC 模型相比,基于深度学习的MRC 模型使用神经网络结构,能够更好地挖掘文本的上下文语义信息,在文本理解和智能问答中表现更为出色,甚至超越了人类水平。因此,该技术受到工业界和学术界的广泛关注,被认为是实现通用人工智能的重要支撑。

根据答案的形式,常见的MRC 任务可分为完形填空式、多项选择式、片段抽取式、自由回答式等4 类[1],其中,完形填空式和多项选择式是考试试题中的常见题型,数据收集相对简单,这两类任务通常采用浅层语义匹配或多分类模型解决。自由回答式阅读理解形式多样且难度大。相比而言,片段抽取式阅读理解难度适中,且有高质量的数据集支撑,其作为文本问答、信息抽取等领域的基础任务,具有较高的研究价值,因此也受到更多关注。然而,现有的抽取式阅读理解模型和相关数据集大多限定答案仅由单个文本中单个片段组成,这在很大程度上限制了当前MRC 模型的实际应用[2]。

在开放域问答等复杂场景中,很多问题对应答案的段落都不是预先确定的,需要在多个文本段落中“跳转”,即模型需要整合来自不同来源的证据文本并推断出答案。因此,多跳机器阅读理解技术应运而生,其不是从文章中直接定位答案,而是经过多步的跳转推理后获取答案,相比单跳机器阅读理解更具挑战性。如对于问题“谁是X 导演2018 年在洛杉矶拍摄的爱情电影的女主角”,首先要定位到X 导演2018 年在洛杉矶拍摄的爱情电影的实体,然后跳转到该实体所在段落或文本,找到电影的女主角作为最终答案。可以看出,这样的问题更加复杂,处理难度更大。首先,要从多篇文档中检索到与问题相关的文档。答案监督的多跳阅读理解模型可能会检索包含正确答案但与问题无关的文档,这种噪声会影响模型的性能表现。其次,可能存在不能回答问题的情况。如果模型检索得到的文档中没有答案,但没有判断出问题不能回答,则即使答案不正确也会输出答案,这将导致模型性能表现变差。此外,还可能存在多个答案,需要根据问题所在的上下文语境做进一步判断。如问题“美国总统是谁”,特朗普和奥巴马都是可能的答案,但是哪一个是正确答案还需要结合语境进行推断。除上述挑战外,还要对多条线索进行聚合。回答问题的线索可能出现在多篇文档中,需要对其进行总结归纳或者逐步跳转才能得出最终答案。

近年来,很多研究者致力于解决面向大型非结构化文本语料库的开放域问答(Open-domain Question Answering,OpenQA)任务,并在多跳机器阅读理解方面开展了许多研究与实践。本文对多跳机器阅读理解技术的研究进展进行梳理总结,将现有方法归为基于问题分解、基于图神经网络(Graph Neural Network,GNN)、改进检索、基于推理路径等方法,分别阐述特点和优劣并展示各模型在专用数据集上的性能表现。在此基础上,分析当前MHMRC 任务的热点与难点,并展望未来发展方向。

1 多跳机器阅读理解方法

现有多跳问答的工业实践往往依赖于大型知识库完成,面向非结构化文本数据的多跳阅读理解任务,现有方法主要包括以下3 类:

1)基于问题分解的方法,即利用化繁为简的思想将复杂问题分解为单步即可找到答案的子问题,最后子问题答案即为复杂问题的答案。

2)基于图神经网络(GNN)的方法,即先对文本进行命名实体识别,抽取出实体,再以实体作为GNN中的节点来处理多跳问题。

3)针对开放域多跳改进检索和基于推理路径的方法。改进检索的方法是基于信息抽取(Information Retrieval,IR)模型先对开放域语料进行粗过滤,将问题支持文档或段落检索出来,再拼接支持文档,使用单跳阅读理解(Reading Comprehension,RC)模型从中进行答案抽取,其使用IR 和RC 模型迭代检索,通过每次将阅读理解结果反馈给IR 以更好地选择支持文档。基于推理路径的方法则是为问题生成一个推理链,根据此推理链进行跳转即可得出答案。

1.1 基于问题分解的方法

基于问题分解的方法是指将复杂问题分解成若干个相对简单的子问题,然后把这些子问题及其答案作为上下文提供给模型,以此大幅降低直接回答复杂问题的难度。

文献[3]设计了DECOMPRC 系统,将组合问题分解为若干个简单的子问题,而这些子问题可以通过现成的单跳RC 模型来回答。DECOMPRC 通过3 个步骤回答问题:1)根据3 种推理类型将原始的多跳问题分解为多个单跳子问题,3 种推理类型包括桥接、交叉和比较,其中,桥接类型需要找到第1 跳与第2 跳的桥接证据,交叉类型要求找到满足2 个独立条件的2 个实体,比较类型则需要比较2 个不同实体的属性;2)对每一种推理类型,利用单跳RC 模型回答每个子问题,并根据推理类型组合答案;3)利用一个分解打分器来判断哪个分解是最合适的,并将该分解的答案作为最终答案输出。此外,DECOMPRC系统还采用了一种新的全局重新打分方法,即考虑每种分解来选择最佳答案,大幅提高了整体性能,增强了模型的可解释性,为答案推理提供了依据。

文献[4]提出一个使用指针网络框架解决问题分解的方法。指针网络主要用于解决组合优化类问题,首先使用注意力机制计算Softmax 概率值,将其作为指针指向输入序列中的元素,然后对输入序列进行组合,最后使用有监督方法对模型进行训练。该方法先利用指针网络分解复杂问题,并把分解后的简单问题送入搜索引擎查找问题上下文,再利用单跳RC 模型抽取答案。具体地,先通过构造计算树的方法来拆分问题,再使用Web-based QA+RASOR和DocQA 这2 个RC 模型来给出答案和该答案得分,并和原来的得分进行比较,进而决定是否进行分解。该文作者同时发布了Complex WebQuestion数据集,其中问题类型包括Comp(two hop)、conj(two constraint)、comparable、superlative 等4 类。

多跳问答需要模型连接分散在长上下文中的多条证据来回答问题,如HotpotQA 数据集由包含4 种不同多跳推理范式的问题组成(具体包括需要桥实体或者需要对比2 个实体,以及需要检查实体多个属性和通过桥实体来推断另一实体的属性),这使得单个神经网络模型难以处理所有情况。文献[5]基于栈的思想提出一个基于控制器的模块自组装神经网络,其中包括4个新的模块(find,relocation,compare,no),每个模块执行单一类型的推理。该自组装网络首先以预训练BERT 词向量作为输入来理解多跳问题的语义,使用控制器从问题中推断出所需的每一步推理行为并输出子问题,同时预测所有可用模块的软组合,以引导主网络遵循推理路径。然后按照模块软组合依次或并行使用子模块进行答案推理得出最终答案,其中中间模块可以通过桥实体连接2 个相距较远的证据事实。

先前的工作探索了用监督或启发式算法来分解问题,而文献[6]提出一种在无监督的情况下自动分解问题的算法。分解包括3 个阶段:1)学习在无监督情况下使用伪分解对多跳问题进行分解;2)使用现成的单跳RC 模型回答子问题;3)使用子问题及其答案作为附加输入来更准确地回答复杂问题。该方法只依赖于最终的答案作为监督,但与依赖于强监督的方法一样有效,即非监督分解产生的子问题答案通常与HotpotQA 中标注的证据事实一致。然而不足的是,这种无监督分解在很大程度上是抽取式的,虽然这对于组合式的多跳问题也有效,但不能处理所有的复杂问题,后续仍然需要更多地研究无监督分解。

基于问题分解的方法对比如表1 所示,从中可以看出,各模型基本的分解思路都是相同的,大致也都是将问题类型分为桥接、对比等几个类型,主要差异在于分解方式的不同,有使用分解打分器、指针网络等来选择分解组合的,也有探索无监督分解的工作。因此,针对此类方法的研究思路主要是改进分解方式,包括探索鲁棒的无监督分解方法等。

表1 基于问题分解的MHMRC 方法对比Table 1 Comparison of MHMRC methods based on question decomposition

1.2 基于图神经网络的方法

图神经网络(GNN)是一种用于处理图结构数据的神经网络模型,在信息传播、关系归纳偏置上展现了优秀的性能。当信息在图的节点之间传播时,GNN 中每个节点会学习到它的邻居节点状态表示,并以此来更新自己的节点表示。因此,研究者采用图数据结构构建文本数据之间的关联,应用GNN 技术在多文档多段落数据上实现多跳推理问答。一方面,利用图表示学习在节点和边表示上的优势,可以更好地表示文本语义;另一方面,利用图神经网络在信息传播和推理上的优势,可以更有效地在多文档多段落之间进行跳转,提供可解释的模型。显然,将GNN 用于多跳推理任务时必须解决以下问题:1)确定图中的节点,并初始化节点表示;2)确定节点与节点之间的连边关系;3)设计节点之间的信息传递算法。

文献[7]提出了基于GNN 的多跳问题处理方法,分别构建了基于图卷积网络(Graph Convolutional Network,GCN)和图循环网络(Graph Recurrent Network,GRN)的基线模型MHQA-GCN 和MHQAGRN。对于输入,首先用BiLSTM 层编码,然后提取段落中提及实体的表示向量(使用斯坦福CoreNLP来获得共指解析和命名实体识别标注结果),将段落中的实体名或者代表实体的代词视为图中的节点。在图中考虑3 种类型的边:1)不同文章之间或同一文章中相距较远的同一实体节点之间的连边;2)在同一文章中2 个不同实体节点之间的连边,这有助于在实体间传递有用的证据;3)在同一段落固定窗口阈值内2 次提及的不同实体节点之间的连边。MHQA-GCN 与MHQA-GRN 采用相同的方法初始化提及实体的表示向量,其区别主要在于GCN 和GRN 传递信息时更新节点状态的方式,其中GRN 采用门控机制,而GCN 采用带Sigmoid 的线性传输。

文献[8]也在多步推理任务中引入了GCN 算法来建模实体之间的关系,建立了Entity-GCN 模型。Entity-GCN 使用预训练语言模型ELMo2 来初始化节点表示,而节点关系则由以下4 个规则确定:1)同一文档中的实体节点相连接;2)相同的2 个实体节点相连接;3)处于同一共指关系链中的实体节点相连接;4)为防止出现与其他实体都没有联系的孤立实体,任意2 个实体节点之间都有特殊的边相连接。对于节点间的消息传递,Entity-GCN 在使用GCN 之外还引入了门控机制来控制每一层各个节点的表示被传递到下一层的比例。

文献[9]利用对自然语言分粒度进行建模的思想,将候选答案、文档和文档中的实体建模为图中不同类型的节点,提出一种异构文档-实体图(Heterogeneous Document-Entity graph,HDE graph)。

与Entity-GCN 不同的是,HDE graph 有候选答案、文档、实体等3 种类型的节点,并同时使用Co-attention和Self-attention 上下文编码方法来学习初始节点表示。首先使用门控循环单元(Gate Recurrent Unit,GRU)分别对问题、文档和候选答案进行编码。然后进行实体抽取,将问题和候选答案中的提及实体都抽取出来作为实体。最后计算节点间的联合注意力和自注意力池化作为节点的初始化表示。其中节点之间的连边关系具体包括:1)文档与候选答案,候选答案出现在文档中则边存在;2)文档与实体,若实体是从该文档中抽取出的则边存在;3)候选答案和实体,若候选答案提及到该实体则边存在;4)实体与实体,若两实体是从同一篇文章中抽取出的则边存在,若两实体是同一个候选答案或问题对象所提及到的,则边也存在;5)所有候选答案互相连接;6)连接不满足上述条件的实体。在推理链方面,HDE graph使用与Entity-GCN 相同的图卷积算法。

同样基于GCN 方法,文献[10]提出了BAG 模型,采用多级特征来更好地进行节点间关系表示,并引入图与问题间的双向注意力来生成问题感知的节点表示,为推理预测提供信息。如图1 所示,BAG 模型有候选答案和提及实体2 类实体节点。对于节点表示,其使用GloVe+ELMo+NER Embedding+POS Embedding 多级特征来初始节点。与HDE graph 不同的是,BAG 的节点表示在初始化时并不与问题进行交互,而是在图与问题的双向注意力层进行交互,而对于节点的连边关系,则是在同一实体在不同文本中和不同实体在同一文本中的2 种情况下的节点间连接边。在消息传递算法上,BAG 同样使用关系图卷积网络(R-GCN)模型与门控机制。

图1 BAG 模型架构Fig.1 Framework of BAG model

上述模型都是针对WIKIHOP 数据集设计的,该数据集包含候选答案,只需要根据已知内容在候选答案中做选择题。对于类似HotpotQA 的抽取式的阅读理解,模型的预测目标是文本中答案开始和结束位置的概率,并抽取出概率最大的文本片段作为答案。因此,将图神经网络应用于抽取式阅读理解任务还需要进一步解决如何从推理链条的最后一跳中抽取出最终答案片段的问题。

文献[11]提出DFGN(Dynamically Fused Graph Network)模型,将图网络应用于抽取式阅读理解。该模型基于需要阅读的文章构建实体图,对于所给的候选文档集合,首先使用一个二分类模型将问题相关的段落筛选出来,并将被选出的段落列表拼接作为文本,将问题与文本拼接,经过BERT 和双向注意力的编码得到问题与文本中每个单词的向量表示。在使用预训练BERT 在命名实体识别的经典数据集CoNLL 2003 上进行微调后,对HotpotQA 的每篇文章进行命名实体识别,得到每篇文章的实体。在此基础上,使用以下3 个规则建立边:1)对于同一个句子中同时出现的实体间,建立边的连接;2)对于同样的实体在文本中出现多次,则他们直接有边的连接;3)文章标题中出现的实体与其对应正文中的所有实体都有连接。DFGN 模型架构如图2 所示。与Entity-GCN、HDE graph、BAG 这3 种模型不同的是,该模型使用GAT 代替GCN 作为节点间的消息传递算法,且加入了Graph2Doc 模块,将每个实体节点的向量表示与实体对应的单词表示进行拼接,然后送入长短期记忆(Long Short-Term Memory,LSTM),将图结构中实体的表示变为序列表示来抽取答案。

图2 DFGN 模型架构Fig.2 Framework of DFGN model

文献[12]提出一种层次图网络(Hierarchical Graph Network,HGN),通过具有层次结构的多级细粒度图实现答案和证据事实的联合预测。如图3 所示,HGN 包含以下4 个主要模块:

图3 HGN 模型架构Fig.3 Framework of HGN model

1)图构建模块,引入了问题、段落、句子和实体这4 种类型的图节点,并定义了7 种不同类型的边,包括问题节点和段落节点之间的边、问题节点与其对应的实体节点之间的边、段落节点与其对应的句子节点之间的边(段落中的句子)、句子节点与其通过超链接链接的段落节点之间的边、句子节点及其对应的实体节点(出现在句子中的实体)之间的边、段落节点之间的边和同一段落中出现的句子节点之间的边。该模块可以有效地利用所有不同粒度级别的结构信息来学习细粒度的表示并连接来自不同来源的线索。

2)上下文编码模块,通过基于预训练RoBERTa模型获得图节点的初始表示。

3)图推理模块,基于预训练的RoBERTa 编码器训练段落排序器,检索段落标题与问题中的短语匹配的段落,如果通过标题匹配找到多个段落,则对其概率进行排序并仅选择得分最高的2个段落。推理过程使用基于图注意力(Graph Attention Network,GAT)的消息传递算法来联合更新节点表示形式,并使用第1 跳段落中的超链接来发现第2 跳段落。

4)多任务预测模块,其中多个子任务是同时执行的,包括段落选择、证据事实预测、实体预测和答案提取。

文献[13]提出文档图网络(Document Graph Network,DGN)模型,采用预过滤步骤来限制节点的数量,并直接在提取的文档图(Document Graph,DG)上训练门控图神经网络(Gated Graph Neural Network,GGNN),从而为文档图结构表示的识别提供证据文本。对预过滤考虑文档中出现的所有句子,其采用预训练的GloVe 向量来获得每个单词的分布式表示,并计算句子中每个单词与问题中每个单词之间的相似度,选择具有TopK个相关分数的句子获得最终子集。在此基础上,建立DG,其中包含文档节点和句子节点2 种节点,并添加2 种类型的边:s2d 类型的边表示句子属于该文档;d2d 类型的边表示在该文档中引用了另一文档中描述的实体。DG 对文档语料库中表达的背景知识进行编码,并永久存储在数据库中,以便在需要时加载。给定一个问题,使用DG 作为DGN 模型的输入,可以大幅简化计算。

文献[14]提出SAE(Select-Answer-Explain)模型。如图4 所示,该模型首先过滤掉与答案无关的文档,然后基于GNN 提取答案。模型从给定的N个文档输入中准确提取支持文档,这对于最大限度地减少传递给下游答案和证据句预测任务分散注意力的信息至关重要。然后给定问题和支持文档,模型以多任务学习方式联合训练答案和证据句预测任务,将所有的支持文档连接成一个文本输入,并使用BERT 以“[CLS]+问题+[SEP]+文本+[SEP]”格式对问题和文本进行编码。最后在句子级表示上构建GNN 模型,使用句子向量作为图中节点,并添加3 种类型的边:1)最初来自同一文档2 个句子节点之间的边;2)来自不同文档的在问题中都具有命名实体或名词短语(可以不同)的2 个句子节点之间的边;3)不同文档的具有相同的命名实体或名词短语的2 个句子节点之间的边。该模型采用具有门控机制的多关系GCN 消息传递策略来更新图节点特征,并将最终的节点特征输入到多层感知器以获取答案的类型(是、否或一段文本)以及证据事实。

图4 SAE 模型架构Fig.4 Framework of SAE model

文献[15]基于双过程理论构建双系统CogQA模型。如图5 所示,该模型使用2 个系统来维护一张认知图谱(Cognitive Graph),系统1 在文本中抽取与问题相关的实体名称并扩展节点和汇总语义向量,系统2 利用图神经网络在认知图上进行推理计算。

图5 CogQA 模型架构Fig.5 Framework of CogQA model

在CogQA 模型中:系统1 采用BERT 模型,以问题本身、从前面段落中找到的“线索”以及关于某个实体的维基百科文档为输入,隐式地从句子中提取相关实体并对其中的信息进行编码,然后将它们提供给系统2,即每次系统一抽取出的“下一跳实体名称”或“候选答案”都将在认知图谱中建立一个新的点,并进行下一步迭代;系统2 采用GNN 模型,将这些实体及其编码信息构建为一张认知图谱,通过图来对这些相关信息进行推理计算,同时指导系统1进行实体提取。CogQA 模型通过模拟人类的认知方式来解决机器的阅读理解问题,不仅利用了BERT模型强大的隐式关系提取的能力,而且利用GNN 实现了对于相关信息的显式推理,借助模型生成的认知图谱,显性掌握和解释机器的推理过程。

文献[16]利用知识图谱(Knowledge Graph,KG)中的关系事实来构建关系实体图,进而提出一个知识增强图神经网络(Knowledge-enhanced Graph Neural Network,KGNN),利用知识图中的关系事实来增强模型的推理能力,并使用GNN 在段落之间传播信息,该网络模型架构如图6 所示。首先将段落中的所有实体视为多段落推理图中的节点,并加入2 种边建立实体图。如果2 个节点指示相同的实体,则添加边到图中;如果2 个实体在知识图中有关系事实,则关系边将被添加到图中。对于每个节点,模型从上下文单词表示中获得它的初始表示,并将消息从每个节点传播到它的邻居,以帮助执行推理。由于不同类型的边在推理中起到不同的作用,因此模型在消息传播中使用关系特定网络。计算关系的注意力权重以测量问题与关系之间的相关性,并利用一个重置门来决定从段落表示和图关系表示中保留多少信息。最后,应用自注意力机制来共享从实体到整体的全局信息。

图6 KGNN 模型架构Fig.6 Framework of KGNN model

文献[17]通过融合基于GCN 和基于路径方法的思想,为多个文档引入基于路径的推理图,构建了Path-based GCN 模型。与传统图相比,基于路径的推理图包含从问题到候选答案的多条推理路径。推理图使用门控RGCN 来学习节点的表示,与普通GCN 相比,门控GCN 利用注意力和问题感知门控机制来调节跨文档传播信息的有用性,并在推理过程中添加问题信息,更接近人类的推理过程。如图7所示,该模型主要由3 个部分组成,包括图的构建、使用门控RGCN 的推理层和输出层。首先基于Entity-GCN 构造一个实体图,提取段落中所有提及实体作为图中的节点。受人类推理过程启发,基于从提及实体到候选答案的推理路径有助于跨文档推理的想法,因此模型将路径中的推理实体也添加到了实体图中。该推理图使用提及实体、推理规则和候选答案作为实体图中的节点,并构建了以下6 种边:1)出现在文档的同一个句子中的2 个实体节点添加边;2)同一路径上的相邻推理节点添加边;3)在文档的同一个句子中的推理节点和候选节点添加边;4)提到相同的候选实体的2 个节点添加边;5)出现在同一文档中的2 个节点添加边;6)不满足前面任一条件的节点之间添加边。初始化时使用预训练GloVe 词向量表示节点,并使用ELMo 为不同文档中的每个节点编码上下文信息,然后通过一层线性网络将这两个节点表示连接在一起进行编码。在图初始化之后,使用门控关系图卷积网络来实现多跳推理。这种门控机制控制有多少最新消息传播到下一步,可以防止覆盖过去的信息。类似于BAG,实体图和问题之间使用双向注意力机制。

图7 Gated-RGCN 模型架构Fig.7 Framework of Gated-RGCN model

文献[18]对DFGN 进行消融实验,旨在研究图结构究竟在多大程度上有助于多跳推理,并在DFGN 基础上提出C2F Reader。经实验验证,通过适当使用预训练模型,图结构对于多跳推理并不是必需的。这个发现可能会让该领域的研究者重新思考基于图结构来解决MHMRC 的后续发展。

上述方法都能较好地解决图神经网络用于多跳推理的3 个问题,这些方法的节点、节点表示、边类型和消息传递方式比较如表2 所示。

表2 基于图神经网络的MHMRC 方法对比Table 2 Comparison of MHMRC methods based on graph neural network

1.3 开放域问答方法

开放域问答(OpenQA)是指从一个外部较大的知识源(例如维基百科)中找到问题的相关上下文和正确答案的问答任务。相比于传统MRC,OpenQA在给定问题的同时,不给定单个或多个支持文档,而是需要在文档集合或者整个百科中寻找答案。本节所关注的问题主要是开放域多跳问题,它需要模型同时进行有效的检索和文本理解,并根据桥接信息多步推理去寻找最终答案,即多跳OpenQA 首先需要从大型知识源中检索到相应于问题的支持文档,然后再从文档中推断答案,而且在推断时需要从前一篇中推断出所需的内容后才能从后面的文档中推断另外的答案,因此解决起来更为困难。

1.3.1 改进检索的方法

OpenQA 的难点在于如何从大型知识源中获取与问题相关的支持文档,改进检索的方法主要将工作重点放在问题相关支持文档或证据句的检索上。

OpenQA 需要先根据问题检索出支持文档,然后聚焦到段落,再阅读给出答案。因此,目前大多数的OpenQA 系统都包括文档段落的检索、答案抽取和验证这2 个过程。文献[19]提出一个强大的维基百科问答系统DrQA,其正是由文档检索器和文档阅读器两部分组成的。对于一个问题,DrQA 首先使用文档检索器,利用Wikipedia 自带的全文检索机制对问题和文档进行TF-IDF 的相似度计算,并获得最相关的5 个支持文档,然后通过文档阅读器理解文档语义,并得到合适语句块作为答案。

研究者们相继提出了一些迭代检索方法,与早期仅依赖原始问题进行查询的方法相比,这些方法在复杂问题的证据选择质量上表现更为出色。文献[20]提出了一种称为MUPPET 的迭代多跳检索模型,旨在构建一个迭代查询的过程,使检索向量随着已经查到的线索进行更新。如图8 所示,MUPPET模型主要包含以下3 个部分:

图8 MUPPET 模型架构Fig.8 Framework of MUPPET model

1)段落和问题编码,负责将问题和文档编码为对应的向量。

2)MIPS 检索器,使用最大内积搜索(MIPS)算法迭代地从文档集中找出与问题对应的支持文档。首先采用TF-IDF 方法找到与问题相匹配的TopK个标题。然后对与这些标题相对应的文档进行编码,将文档编码成向量,并将查询编码成相同向量空间中的搜索向量。最后应用MIPS 来寻找给定查询的最相似文档。

3)段落阅读,将得到的支持文档传递给段落阅读器,使用RC 模型找到问题的答案。MUPPET 使用来自上下文的信息迭代地更新检索向量,可以有效地模拟多步推理。

以上2 种方法都是使用TF-IDF 对文档集进行排序,尽管基于TF-IDF 的检索方法对于需要开放域单跳推理的问题表现不错,但是当用于多跳推理时,其性能会显著降低[21]。因此,文献[22]提出一个段落检索器-阅读器-多步推理机联合模型,使用相关性分数代替TF-IDF 对候选段落进行排序。该模型由以下3 个部分组成:

1)段落检索器,为给定查询中的每个段落计算一个相关性分数(具体计算为段落向量和查询向量之间的内积),并根据该分数进行排序。其中段落表示的计算独立于查询,一经计算就不会更新,可以缓存这些表示并离线存储。

2)阅读器,采用RC 模型从检索器接收几个排名靠前的段落,并输出一段文本作为问题的答案。

3)多步推理机,采用门控循环单元来实现检索器和阅读器之间的迭代交互,其中门控循环单元主要用于接收当前的阅读器状态和当前的查询向量来进行门控更新并产生重构的查询,重构的查询被发送回检索器,检索器使用它来对语料库中的段落重新排序。由于多步推理机的门控更新取决于机器阅读器的当前状态,因此这种多步交互为IR(检索器)和RC 模型(阅读器)提供了一种相互通信的方式。

文献[23]提出了GoldEn(Gold Entity)Retriever,该模型不依赖于人工介入的数据集,其在读取上下文和检索更多证据文档之间进行迭代,以回答开放域多跳问题。与单纯依赖原始问题来检索段落不同,在每一步中,该模型还使用来自先前推理跳的IR结果在每个推理步骤展开时生成新的搜索查询,并检索新的证据来回答原始问题。具体地,在推理的第1 跳中,首先利用原始问题生成检索支持文档的搜索查询,然后对于每个后续推理步骤,它都从问题、上一跳结果和支持文档中生成一个自然语言查询,并采用语义重叠的方法来缩小搜索空间后再查询支持文档。GoldEn Retriever 训练时利用数据集中原有的支持文档信息,在推理的每一跳中迭代查询更多相关的支持文档,这使其可以有效地用于开放域多跳推理,同时保持可解释性。

文献[24]将候选支持段落检索问题重新定义为阅读理解任务,提出的模型包括桥梁推理机和阅读器2 个部分:桥梁推理机将每篇文章中的锚链接都视为桥梁实体的候选集,即每个桥梁候选实体都是另一个段落的标题,充当连接支持段落的桥梁;阅读器使用共享的双向GRU 对问题和段落进行编码,然后将已编码的问题和段落传递到双向注意力层以获取问题感知的文本状态。状态向量通过自注意力层得到增强,最后送入线性层以预测答案的开始和结束位置。

基于重排序的思想,文献[25]提出了Entity-Centric IR 技术,其基于实体链接进行多跳检索,既不学习顺序检索推理路径,也不学习检索器和阅读器之间的相互作用,而是使用排序器来选择下一跳实体与支持文档。具体来说,Entity-Centric IR 使用最初检索的相关段落中存在的实体信息来找到描述该实体的文本段落(实体链接),并且确定该段落是否与回答多跳问题相关。Entity-Centric IR 的主要组成部分是一个重排序模型,通过将问题和描述实体的维基百科段落提供给预训练的BERT 模型,获得实体的上下文表示,排序器使用初始段落表示和其中所有实体的表示来得到支持文档。

文献[26]提出QFE 模型来提取证据句。QFE是从源文档中提取句子的机制,以使得提取的摘要涵盖文档中的重要信息。模型使用多任务学习,问答模型用于答案选择,QFE 模型用于事件抽取,输入为多个句子文本和问题,输出包括答案类型、答案和证据句。QFE 使用带有问题注意力机制的RNN,通过考虑证据句之间的相关性和问题的覆盖范围依次提取证据句,并在句子集合中添加一个称为EOE 的虚拟句子,通过将终点条件定义为到达EOE 句,自适应地确定证据句的数量。QFE 模型架构如图9 所示(彩色效果见《计算机工程》官网HTML 版)。

图9 QFE 模型架构Fig.9 Framework of QFE model

文献[27]提出了一种无监督的策略ROCC 来选择多跳问答中的证据句。ROCC 的具体运作方式如下:

1)候选证据句的检索。对于与问题相关的文本段落,该段落中的所有句子都将成为候选。

2)候选证据句子集合的生成。因为重点是知识聚合,所以ROCC 对整个证据句子集合而不是单个句子进行排序。在这一步中,通过从前n个句子生成n个k组句子来创建候选证据句子集合。

3)候选证据集的排序。首先计算每个候选证据句子集合的ROCC 分数,ROCC 分数最大化所选句子的相关性,最小化所选事实之间的重叠以及最大化问答的覆盖范围(最小化所选事实之间的重叠减少了冗余,并鼓励聚合的句子解决问题和答案的不同部分,同样,最大化问答的覆盖范围会鼓励模型去处理更多提到的有意义的内容)。最后按照ROCC得分的降序排列它们,并选择得分最高一组理由作为给定问题的证据输出。

文献[28]从重构问题的角度提出了一个新的架构,称为潜在问题重构网络(LQR-net)。LQR-net 由阅读模块和重构模块组成,阅读模块的目的是产生文档感知的问题表示,重构模块从这个文档表示中提取基本元素来计算更新检索向量,然后将更新的检索向量传递到下一跳。阅读模块和重构模块构成一跳,并分别重复t次直至结束。具体地,模型编码使用预训练BERT 表示文档和问题,阅读模块由文档-问题注意力和文档自注意力两层组成,根据上一跳输入的问题来更新文档的表示,问题重构模块将前一个模块的输出、重构问题的表示和文档的编码作为输入,并产生了问题的更新形式。最后问题回答模块也由4 个部分组成,对应用于监督证据事实、文档中每个单词作为答案开始结束的概率和答案类型(是、否或一段文本)。

1.3.2 基于推理路径的方法

考虑到HotpotQA 为每个问题的答案提供证据事实,研究者们想到为每个问题生成推理链来解决多跳问答。与上述改进检索的方法返回与问题最相关的支持文档或支持句不同,基于推理路径的方法直接为多跳问题生成推理链,然后从推理链中提取实体或句子回答问题。

文献[29]用一个两阶段模型ChainEX 来识别中间推理链。该模型在训练时从推理链中学习,在测试时可以产生一个推理链列表,然后输入到一个问答模型中提取最终答案。其中推理链提取器是一个神经网络,它将输入的文档和问题作为输入,将可变长度的句子序列作为输出。链提取器的处理流程可以分为句子编码和链预测2 个主要部分。给定一个问题和一个包含n个段落的文档,首先将问题与每个段落联系起来,并使用预训练的BERT 编码器对它们进行编码。然后将所有句子感知的编码表示视为一个包,并采用基于LSTM 的指针网络提取推理链。再将链提取器预测的前k个波束中的句子视为答案预测模型的输入。最后使用预训练BERT 提取最终答案。

虽然上述方法在公开数据集上测试证明能够取得不错的性能,但它属于有监督的方法,对合理的证据或推理链标注过于依赖。显然,对于开放域问答而言,缺乏大量的带标注证据事实的训练数据,因此,可以采用一些半监督学习的方式,减少对于标注数据的依赖。文献[30]提出了一个可解释的三模块系 统,称 为EPAr(Explore-Propose-Assemble reader)。首先,文档浏览模块迭代地选择支持文档,并以树形结构表示不同的推理链,以允许从所有链中吸收信息。然后,答案提取模块从推理树中的每一个根节点到叶节点的路径中提出一个答案。最后,证据集成模块从每条路径中提取包含提出答案的关键句子,并将它们组合起来预测最终答案。图10 显示了EPAr 模型架构。可以看出,当面对多个长文档时,EPAr 的3 个模块共同优化,根据前一级的输出,将每一级的损耗总和降至最低,近似人类的由粗到细的阅读理解行为。

图10 EPAr 模型架构Fig.10 Framework of EPAr model

基于维基百科图和RNN,文献[31]提出一个针对开放领域多跳问答的路径提取器-答案抽取器模型,该模型使用一个推理路径提取器和一个阅读理解答案抽取器,分两步完成多跳问答。路径提取器需要首先构建一个覆盖维基百科所有段落的图,图中每个节点代表一个单独的段落,然后使用超链接来构建图中的直接边。该图是离线构建的,可在后续任何问题的训练和推理中重复使用。构建图之后,训练一个RNN 进行循环路径提取,通过BERT 微调的段落编码来最大化在每一步选择正确证据段落的可能性,并在图中对推理路径进行评分。路径提取器的优点在于,它知道已经提取的段落,并且可以很方便地进行束搜索。阅读理解器首先对所有路径重排序,然后从最有可能的路径中抽取答案。具体来说,阅读器任务包括:

1)推理路径重排序,对每条路径,先用BERT 得到特征表示,再用Sigmoid 得到该路径的概率,并使用概率对检索到的推理路径重新排序。

2)阅读理解的多任务学习,使用BERT 从概率最高的推理路径中提取答案文本,其中输入是问题和候选段落集中所有段落的文本的拼接。

为进一步解决数据依赖问题,研究者提出了利用无监督方法检索生成多跳推理链的思路,文献[32]构建了一种简单快速的无监督迭代的证据检索模型AIR(Alignment-based Iterative Evidence Retrieval)。模型由以下2 个部分组成:

1)无监督的迭代部分,它迭代构建给定查询的证据链,首先使用问题和候选答案文本初始化查询,然后AIR 重复执行对齐检索和动态添加这2 个步骤直到达到终止条件为止。迭代步骤具体为:在给定当前查询的情况下使用对齐IR 方法检索最明显的证据句,并调整查询以关注于缺失的信息(当前推理链没有覆盖的关键词),即AIR 还会向查询中动态添加新词条,以推动多跳检索。

2)RoBERTa 答案分类组件,给定原始问题和先前检索到的证据事实,该组件将候选答案分类为正确或不正确。此外,在OpenQA 任务中可能会出现存在多个产生正确答案的推理链的情况,为了利用这种特性,可以运行n次AIR 提取N条平行的推理链,且确保每条推理链的第一个证据事实是不同的。在检索出N条推理链后,将所有证据事实联合起来进行答案抽取。

1.4 其他方法

除了上述3 种主流类型以外,也有一些MHMRC方法在公开数据集上取得了不错的效果。

1.4.1 基于注意力的方法

文献[33]提出的CFC和文献[34]提出的DynSan 是典型的基于注意力的方法。CFC 应用联合注意力和自注意力来学习候选答案和文档的查询感知节点表示,而DynSAN 提出了一个动态的自注意力结构来确定哪些信息对于语义表示是重要的。CFC 模型同时使用粗粒度推理和细粒度推理2 种方式:在粗粒度推理中,它在不知道哪些候选答案可用的情况下,根据查询条件构建支持文档的粗略摘要,然后对每个候选候选答案进行评分;在细粒度推理中,该模型匹配同时提及候选答案和查询的细粒度上下文,以便衡量候选答案的相关性。2 个模块都采用了一种层次自注意力来组合支持文档信息。与CFC 不同,DynSAN 基于在一个长序列中重要标记的数量远远小于序列长度的假设,使用动态的自注意力来进行答案选择。由于DynSAN 的自注意力是在一组动态确定的token 上进行的,因此称之为动态自注意力。具体来说,在DynSAN 的底部,输入文本的表示采用预训练的Fasttext 的300 维词向量,并在训练过程中采用了2 层highway 对其进行修正。之后,向量被送到一层DynSA 块中,DynSA 通过token选择机制找出最重要的token,然后只对这些选择的token 进行自注意力计算。

同样是修改注意力机制,文献[35]提出的Transformer-XH(Transformer eXtra Hop)模型,在Transformer 的层中引入了eXtra Hop 注意力机制。额外跃点注意力使每个文本片段与其他证据相关的证据更全面地表示,且额外跃点注意力沿着图的边缘传播信息,从而使连接的文本序列之间可以共享信息。当应用在MHMRC 时,需要首先构造一个证据图,然后在图上应用Transformer-XH 来找到答案。

针对自注意力机制的弊端,文献[36]提出可以直接处理长序列的Longformer,解除了Transformer的序列长度限制。Longformer 的注意机制是一个窗口局部情境自注意力和一个全局注意力的组合,使之最多可以处理4 096 长度的序列。以往解决像BERT 这样的基于Transformer 模型的512 长度限制,最简单的方法是截断文档,或者将文档分成长度为512 的块(可以是重叠的),然后分别处理每个块。对于多跳和开放域问答任务常见的第3 种方法是使用两阶段模型,其中第一阶段检索相关文档,然后传递文档到第二阶段进行回答,但这些两阶段方法都因截断或级联错误而遭受信息损失。相比之下,Longformer 可以处理长序列,而不需要截断或分块,因此,可以采用一种更简单的方法来连接可用的上下文,并在一次处理中处理它。文献[37]也发现了稀疏注意力与输入序列成线性比例,而不是二次关系。基于此,其借鉴图稀疏化方法中,将降低自注意力矩阵的二次复杂度问题看作一个图稀疏化问题,并开发了同样可以处理序列长度高达Transformer 8 倍的Big Bird。

1.4.2 引入外部知识库常识填补知识空白的方法

文献[38]针对NarrativeQA 数据集[39]提出了一个强大的多跳指针生成器模型(Multi-Hop Pointer-Generator Model,MHPGM),它可以在上下文中推理、收集和合成互斥的信息用来生成答案。具体而言,MHPGM 使用多重注意力机制来执行多跳推理,在长篇段落内有效地读取和推理,并合成与问题一致的答案。模型包括嵌入层、推理层和自注意力层:嵌入层使用预训练ELMO 模型来进行上下文表示;推理层通过K个推理单元传递上下文表示,其中每个推理单元使用BiDAF 迭代更新问题的上下文表示;自注意力层利用静态自注意力机制帮助模型处理具有长依赖的文本。此外,MHPGM 模型还引入了一种外部常识获取算法,该算法通过逐点互信息(PMI)和基于词频的评分功能从ConceptNet 中获得基础的多跳关系常识信息。常识选择策略包含以下2 个方面:1)通过构造旨在选择具有高召回率候选路径树的方法收集潜在相关的常识信息;2)对这些路径进行排序和过滤,通过三步评分策略(初始节点评分、累积节点评分和路径选择评分)确保添加信息的质量和多样性。同时还加入一个信息单元(NOIC),它可以有效连接外部知识库来提取常识信息,并利用提取的常识信息来填充相邻两跳之间的推理空白,大幅提高了模型的性能。

1.4.3 使用蕴含模型解决MHMRC 问题的方法

问答可以很自然地归结为一个蕴涵问题,即验证某些文本是否包含问题的答案。文献[40]基于句子级的文本蕴含问题可以被重用于识别依赖关系的发现上,提出一种通用的体系结构Multee,可以有效地将蕴涵模型用于多跳问答任务。Multee 通过将局部需求决策与全局需求决策相结合来汇总多跳任务的信息,它使用一个本地(句子级别)关联模块来帮助定位重要的句子,从而避免分散信息,并使用一个全局(文档级别)多级融合模块,通过有效地合并重要性权重来聚集信息。

1.5 相关研究方法对比与总结

纵观近年来MHMRC 的发展,本节对比、总结现有方法,包括机制、优势、缺点、适用场景以及后续改进方向。对比结果如表3 所示。现有方法的使用场景大致可以分为在封闭数据集和开放域两种场景。在实际工程应用上,如果是垂直领域问答,则可以选用基于问题分解和基于GNN 的方法,同时若具有标注好的问题分解训练数据,采用问题分解方法结合现有单跳MRC 模型即可。若无这种数据,可采用基于GNN 的端到端模型。对于开放域问答,由于需要检索海量文档及网页,因此可以结合信息检索的方法解决。

表3 MHMRC 方法分类总结Table 3 Classification summary of MHMRC methods

2 数据集

传统的如SQuAD 等大规模抽取式阅读理解数据集都是以使用单个段落或文档来推断答案的方式构建的,只需要定位到所给段落中与问题相关的那个句子就能回答,这种推理被称为单跳推理,而多跳推理则是一个需要综合多种来源数据的任务。目前针对多跳阅读理解的数据集大多是半结构化的知识库数据,而MHMRC 数据集则主要是非结构化的文本内容。

目前MHMRC 相关数据集主要有QAngaroo[41]、TriviaQA[42]和HotpotQA[43]数据集,这3个数据集数据规模如表4 所示。

表4 数据集规模Table 4 Data scale of datasets

1)QAngaroo 数据集。该数据集包含2 个阅读理解数据集,且它们都需要结合多个文档中的多个推断步骤来获取答案。其中第1 个数据集WIKIHOP数据集是一个包含问题、多篇相关文章以及候选答案的专注于维基文章的开放域数据集,很多时候为了回答一个问题,可能需要综合多篇文档中的信息来得到一个最终答案,因此WIKIHOP 非常具有挑战性。另一个数据集MedHop 是一个来源于医疗论文库PubMed 的论文摘要数据集,目前针对此数据集的研究尚少。

2)TriviaQA 数据集。该数据集为了得到答案需要复杂的多级推理,其中包括95k 个问答对,并为每个问题都收集了平均6 份证据,这些证据为回答问题提供了高质量的远程监管。该数据集中文本句法比较复杂,回答问题需要很多复合的信息,且文本语法和用词也比较复杂,之前简单的文本匹配方法可能会失效,因此也更具挑战性。此外,数据集中的信息推理和WIKIHOP中跨文档推理不同,其为跨句推理。

3)HotpotQA 数据集。该数据集是一个具有自然、多跳问题的问答数据集,分为Distractor 和Fullwiki 任务,目前大多数模型都是针对此数据集的研究。其中问题本身不会受限于任何预设的知识图谱,且被设计为必须进行两步推理才能得到答案。问题的推理类型包括:(1)需要桥实体或者需要对比2 个实体;(2)需要检查多个属性来定位答案实体;(3)需要通过桥实体来推断另一个实体的属性。此外,它除了要求模型在阅读了多个文档后给出问题的答案以外,还要求给出回答该问题所必需的证据事实,相比于之前基于整篇文章进行训练的粗粒度方式,HotpotQA 利用这些证据事实作为推理线索要求模型知其然亦知其所以然。

3 评测指标

本节具体介绍MHMRC 相关的评测指标。

由于WIKIHOP 与MedHop 数据集本质为多项选择题,因此采用准确率来评测,计算公式如式(1)所示。

其中:r为预测正确的个数;n为全部个数。

因为TriviaQA 数据集答案为文本片段,所以采用F1 作为评测标准,计算方法为:首先计算预测出的答案与原始答案字符之间的重叠,根据重叠的数目c与正确答案的字符数目la计算召回率,根据重叠的数目c与预测出的所有字符数目lp计算准确率,然后使用准确率与召回率计算F1。具体计算公式如下:

由于HotpotQA 数据集既要求给出答案,又要求给出证据事实,因此需要对答案和证据事实都进行评测,并最终采用Joint F1 和Joint EM 对答案和证据事实进行联合评测。其中EM 表示精确匹配率,如果预测与答案完全匹配则e值为1,否则为0。Joint EM和Joint F1 计算分别如式(9)和式(12)所示(其中答案与证据事实的准确率与召回率计算同上)。

本文从相关论文和排行榜统计了不同模型在上述数据集上的表现,因为其中针对MedHop 数据集研究较少,所以本文不展示此数据集排行,而HotpotQA 又分为干扰设置和全维基设置,因此,本文对2 个不同设置上模型表现都做了统计。各模型性能表现如表5~表8 所示。

表5 各模型在WIKIHOP 数据集上的性能表现Table 5 Performance of each model on WIKIHOP dataset %

表6 各模型在TriviaQA 数据集上的性能表现Table 6 Performance of each model on TriviaQA dataset %

表7 各模型在HotpotQA数据集(Distractor Setting)上的性能表现Table 7 Performance of each model on HotpotQA dataset(Distractor Setting) %

表8 各模型在HotpotQA 数据集(Fullwiki Setting)上的性能表现Table 8 Performance of each model on HotpotQA dataset(Fullwiki Setting) %

4 研究趋势展望

4.1 研究热点与难点

机器阅读理解是自然语言理解领域极具挑战性的任务之一,而多跳机器阅读理解任务的挑战难度又上了一个新的台阶。针对MHMRC 问题,近年来,研究者开展了许多有益的研究,各种表现出色的模型被不断地提出,共同推进其向推理能力和泛化能力更强的方向发展。本文在详细梳理和总结现有相关模型的基础上,指出现有方法在MHMRC 任务上主要有以下3 个方面的提升空间:

1)引入外部常识知识。

许多问题单凭文本包含的信息是无法完成推理并回答的,往往需要引入外部知识库中的常识信息,因此,如何巧妙地结合非结构化文本段落与知识库中半结构化知识进行联合推理是目前需要解决的问题。

2)提高可解释性。

可解释性不足是深度学习黑盒模型饱受诟病的弊端之一。在多跳机器阅读理解中,如果不能给出每一跳答案的合理解释,则无法证明模型是否真正“理解”文本。尽管HotpotQA 数据集被设计为必须返回推理证据文本,但是这种有监督方法训练出的模型并不适用于大型开放式问答的推理路径生成,因此,如何找到好的推理路径生成方法也是目前需要解决的问题。

3)开放域多跳阅读理解。

当语料不多时,面向单段阅读理解的MRC 模型都可以直接处理,但是真正的问答系统势必需要大规模语料并从中寻找答案。目前常见的权衡的方法是:先根据问题在语料(维基百科)中检索出少量相关段落,再在这些段落中进行NLP 处理。但是当下检索器-阅读器的方式在很大程度上依赖于检索器对文本的排序筛选,如果正确答案段落一开始就不包含在阅读器的输入中,则无法得到正确答案。因此,如何找到一个性能较好的文本检索方法也是需要解决的问题。

4.2 未来发展方向

未来的研究工作可以从以下6 个方面展开:

1)更好地融入知识库数据。

目前机器阅读理解和人类阅读理解之间尚存在差距,主要体现在数据需求上,人类往往拥有大量的常识性知识,单从短文中就能进行深刻的阅读理解,而机器则需要一定规模且噪声小的标注数据才能进行学习。有些学者提出将知识图谱等知识库集成到机器阅读理解中,为模型配备领域知识,提高模型在特定领域任务上的性能,同时降低大规模预训练成本。借助知识图谱等外部知识库数据,以帮助回答问题是当前研究的一个热点和难点,未来研究需要考虑如何更好地融入知识库数据来辅助推理提升效果和可解释性。

2)利用无监督方法选择推理路径和证据文本。

目前多跳任务的可解释性主要集中在推理路径上选择每一跳时的证据文本,然而目前现有方法大都是数据驱动的,都需要在训练时的远程监督。数据获取难度和构造成本制约着有监督方法的发展,基于此,未来研究可以使用无监督方法选择推理路径和证据文本,提升模型表现和可解释性。

3)结合预训练模型。

预训练模型通常采用预训练+微调的模式,即先使用大规模无监督语料对模型进行预训练,再使用小规模标注数据进行具体下游任务上的微调,使得小规模标注数据也可以取得不错效果。纵观数据集评测排行可见,目前仍是预训练模型相较其他方法表现更佳。同时,C2F[18]也验证了通过使用预训练模型,模型结果较之前有所提升。因此,未来研究可以考虑结合现有模型架构与预训练模型编码的优势,进一步提升效果。

4)减少流水线中的重复编码。

当前针对开放域的主流做法是使用两阶段流水线方法,通常包含1 个用于返回少量相关文档的检索阶段和1 个抽取候选答案的阅读阶段。但是,检索阶段检索器会对文档进行编码,而阅读理解阶段又会对返回文档再进行一次编码,每个模块都会对输入文本重复编码,这导致在处理海量文本时效率过低。因此,未来研究需要设计一些方法来存储文档编码以达到复用的目的,减少流水线中的重复编码,提高处理效率。

5)在训练中融入对抗实例,解决存在推理捷径的问题。

在HotpotQA 数据集中,模型可以使用通过将问题与上下文中的句子进行单词匹配直接定位答案的推理快捷方式来直接回答,无须多跳推理就能推出答案[21],但通过此快捷方式得到的答案准确率不高。如文献[50]使用一个控制单元,在不同的推理跳动态地关注问题,经过对抗训练后,模型明显表现更好,且实验结果也说明将明确的组合推理与对抗训练结合起来的改进能够进一步推动新模型的发展。因此,未来研究中需要考虑在训练过程中加入对抗实例以提高模型的鲁棒性,避免陷入推理捷径。

6)构建兼具速度与性能的模型。

现有模型的主要研究点在于如何提高模型在特定数据集上的性能,倾向于付出巨额的GPU 或TPU资源来训练非常复杂的模型,虽然这可能在性能上有所突破,但忽视了模型的推理速度,未考虑实际应用时的效率问题。特别是在面对海量文档的开放域问答场景下,注重答案准确的同时也要考虑响应速度,构建兼具速度与性能的模型。

5 结束语

多跳机器阅读理解作为机器阅读理解中非常重要但极具挑战性的一项任务,受到学术界与工业界的广泛关注。在大数据时代背景下,面对庞大的文本信息,多跳机器阅读理解可以帮助人们快速聚焦相关信息,在回答问题的同时给出支持文档段落甚至是证据事实,帮助人们大幅缩减从海量数据中筛选有用信息的时间。本文围绕基于深度学习的多跳机器阅读理解研究,分类梳理已有的研究成果,总结关键问题,对比不同的模型方法,并指出未来发展方向。分析结果表明,多跳机器阅读理解仍存在一些问题需要解决,如需要引入外部常识、提高可解释性等。后续可将多跳机器阅读理解与预训练模型、知识图谱、排序学习、Ad-hoc 检索等热门技术相结合,进一步推动该项研究的发展。

猜你喜欢
段落文档检索
有人一声不吭向你扔了个文档
【短文篇】
心理小测试
2019年第4-6期便捷检索目录
夏天,爱情的第四段落
散文诗(2017年17期)2018-01-31 02:34:11
基于RI码计算的Word复制文档鉴别
专利检索中“语义”的表现
专利代理(2016年1期)2016-05-17 06:14:36
弄清段落关系 按图索骥读文
读写算(下)(2016年11期)2016-05-04 03:44:07
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
不让他人随意下载Google文档
电脑迷(2012年4期)2012-04-29 06:12:13