机器阅读理解 | (2) 文本问答概述

随着互联网的普及和搜索引擎的发展,人们可以越来越方便地从海量信息中检索到大量相关的文本。 而海量的信息也催生了文本问答技术的发展,从而可以帮助人们更快速更精确地找到用户所需要的信息片段。 在本节中,我们定义文本问答是从互联网或者线下收集的文本集合中,找到可以回答用户问题的文字片段作为答案的任务。

目录

1. 文本问答整体框架

2. 答案句子选择

3. 机器阅读理解

4. SQuAD1.1和SQuAD2.0


1. 文本问答整体框架

一个典型的文本问答系统通常由如下三部分组成:问题处理模块、文本检索模块,答案生成模块。

问题处理模块对输人的自然语言问题进行基本的自然语言处理操作(例如分词、命名实体识别、词性标注和依存句法分析等),并输出一系列特定的问题语义标签(例如问题类型、问题关键词、答案类型等)。该模块的输出结果为文本检索和答案生成提供必要的信息。 例如,常见的问题类型包括事实类问题、是非类问题、定义类问题、列表类问题、比较类问题、意见类问题和指导类问题七类,准确地判断当前问题属于哪一类有助于文本检索模块选择不同的索引部分以及答案生成模块选用不同的算法。 问题关键词通常包括问题涉及的实体以及对答案的限制条件等。 该信息对文本检索以及答案生成的准确性具有很大的指导作用。 答案类型表明了问题的答案应该属于哪种类型,例如人物、时间、地点等。该信息能够有效地过滤不满足条件的答案候选。

文本检索模块从海量文本集合中检索出与输人问题最相关的文本候选。 该模块属于经典的信息检索任务,在实际应用中通常通过调用搜索引擎完成。

答案生成模块从检索回来的文本候选中抽取或生成答案。 给定问题Q和文本D,答案处理模块的目标是从D中找到Q对应的答案A。 这里,答案A既可以是D中的句子,也可以是D中的单词或短语,还可以是基于D推理出来的内容。 按照答案颗粒度的不同,可以将文本问答任务分为答案句子选择和机器阅读理解两大类。 答案句子选择(answer sentence selection)任务是从候选文本D中选取其中的一个句子S作为答案。机器阅读理解(machine reading comprehension,MRC)任务针对给定自然语言文本进行阅读和理解,并根据阅读和理解的结果,从文本中选择特定的短语片段作为输人问题的答案。 

 

2. 答案句子选择

答案句子选择可以形式化为从D中寻找Q对应答案句子\hat{S}的任务,\hat{S} = \mathop{\arg\max}_{S\in D}\ P(S|Q),其中P(S|Q)表示文档D中的句子S作为答案句子的概率。答案句子选择任务的重点是如何准确地计算问题Q与候选句子S间的语义匹配关系。有两类典型的计算方法:基于特征的方法和基于深度学习的方法。

 

3. 机器阅读理解

人们在读完一篇文章之后就会在脑海里形成一定的印象,例如这篇文章讲的是什么人,做了什么事情,出现了什么情况,事情发生在哪里等。人们能够轻而易举地归纳出文章中的重点内容。 机器阅读理解的研究就是赋予计算机与人类同等的阅读能力,即让计算机阅读一篇文章,随后让计算机解答与文中信息相关的问题。 这种对人类而言轻而易举的事情,对计算机来说却非常困难。随着可获取的文本数据量越来越多,加上深度学习等算法以及计算能力强大的云计算资源,使得研究者们可以针对长文本做点对点的学习,即对句子、短语、上下文进行建模,这其中就隐藏了一定的推理能力。 所以,目前基于篇章的理解在自然语言处理领域已提上研究的议事日程,成为目前该领域的研究焦点之一。

机器阅读理解的研究之路始终充满着许多困难和挑战。 与许多数据驱动的问题一样,机器阅读理解面对的问题首先是数据问题。 为了研究机器阅读理解问题,研究人员使用不同的手段,构造了许多不同的数据集。 我们可以按照答案来源和形式的不同,将目前的机器阅读理解数据集分为四类:

(1)答案填空任务,给定一段文本,首先从中选择一个句子,去掉该句子中的某个单词或短语,并将剩余部分看作是一个问题。 该类阅读理解任务是根据文本内容预测问题中缺失的单词或短语。 

(2)答案选择任务,该类任务给定问题对应的若干答案候选,阅读理解的过程就是对这些答案候选进行排序并选出可能性最大的答案候选。

(3)答案抽取任务,该类任务是根据给定的问题从文本中抽取答案。 注意,这里的答案可能是文本中的任意片段。

(4)答案摘要任务,该类任务是根据给定问题和文本,生成一段可以回答问题的摘要。 注意,这里的答案片段可能并没有出现在对应的文本中。

学术界常用的数据集统计如下表所示:

其中,CNN/Daily Mail、HLF-RC和 Children's Book是答案填空任务类型的数据集。MCTest和RACE是答案选择任务类型的数据集。SQuAD、TriviaQA和NewsQA是答案抽取任务类型的数据集。MS-MARCO和DuReader 是答案摘要类型的数据集。 目前,阅读理解相关研究领域最受关注的评测数据集是斯坦福大学在2016年发布的 SQuAD数据集,接下来的几篇博客将以该数据集为标准,介绍经典的以及最新的阅读理解模型。

下图给出SQuAD数据集中的一个例子,给定问题 Where did Super Bowl 50 take place?,人工标注的答案(Ground Truth Answers)有三个:

  • Santa Clara,California
  • Levi's Stadium
  • Levi's Stadium in the San Francisco Bay Area at Santa Clara,California

阅读理解模型预测生成的答案(Prediction)是:

  • Levi's Stadium in the San Francisco Bay Area at Santa Clara,California

 

4. SQuAD1.1和SQuAD2.0

文本理解挑战赛 & 数据集 SQuAD1.1 升级为 SQuAD 2.0,在原来基础上增加对抗性问题的同时,也新增了一项任务「判断一个问题能否根据提供的阅读文本作答」。

基于 SQuAD(Stanford Question Answering Dataset)的文本理解挑战赛,是行业内公认的机器阅读理解领域的顶级水平测试;它构建了一个包含十万个问题的大规模机器阅读理解数据集,选取超过 500 篇的维基百科文章。数据集中每一个阅读理解问题的答案是来自给定的阅读文章的一小段文本 —— 以及,现在在 SQuAD 2.0 中还要判断这个问题是否能够根据当前的阅读文本作答。

在原来的 SQuAD(SQuAD 1.1)的十万个问题 - 答案对的基础上,SQuAD 2.0 中新增了超过五万个由人类众包者对抗性地设计的无法回答的问题。执行 SQuAD 2.0 阅读理解任务的模型不仅要能够在问题可回答时给出答案,还要判断哪些问题是阅读文本中没有材料支持的,并拒绝回答这些问题。

图示为两个无法回答的问题。红色标出的答案看似有理,但其实是错误的。

Pranav Rajpurkar, Robin Jia, Percy Liang 三人撰写了论文《Know What You Don't Know: Unanswerable Questions for SQuAD》对这一新任务以及 SQuAD 2.0 做了介绍。论文中为 SQuAD 2.0 设立了新的人类表现基准线(EM 86.831,F1 89.452)的同时,也通过对比展现出了 SQuAD 2.0 的难度:一个强有力的基于神经网络的系统可以在 SQuAD 1.1 上得到 86% 的 F1 分数,但在 SQuAD 2.0 上只能得到 66%。这篇论文也获得了 ACL 2018 最佳论文奖。

SQuAD网站论文

接下来的几篇博客将以SQuAD2.0数据集为标准,介绍经典的以及最新的阅读理解模型。

发布了405 篇原创文章 · 获赞 765 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/sdu_hao/article/details/104180684