机器阅读理解 | (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对应答案句子的任务,,其中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数据集为标准,介绍经典的以及最新的阅读理解模型。
机器阅读理解 | (2) 文本问答概述相关推荐
- 博士学位论文 | 机器阅读理解与文本问答技术研究
作者丨胡明昊 学校丨国防科技大学博士生 研究方向丨机器阅读理解 引言 文本问答是自然语言处理中的一个重要领域,随着一系列大规模高质量数据集的发布和深度学习技术的快速发展,文本问答技术在近年来引起了学术 ...
- 句法引导的机器阅读理解
SG-Net: Syntax-Guided Machine Reading Comprehension 句法引导的机器阅读理解 1. Abstract 对于机器阅读理解来说,从冗长的细节中有效地对语言 ...
- 卖萌屋福利场:《机器阅读理解》免费送送送!
一只小狐狸带你解锁 炼丹术&NLP 秘籍 在送书之前,先来了解一下机器阅读理解是什么-已经很熟悉的小伙伴可以快速下拉进入福利场~ 机器阅读理解是什么 机器阅读理解(Machine Readin ...
- 中国AI军团争霸机器阅读理解大赛,搜狗创下全球新纪录
边策 发自 凹非寺 量子位 报道 | 公众号 QbitAI 全球AI竞技场,现在全方位成为中国公司实力展示台. 这不,2018年迭代上线的CoQA机器阅读理解大赛,一番你争我赶之后,最终还是形成了中 ...
- 2021秋招-机器阅读理解整理
机器阅读理解整理 经典模型整理 笔记 后Bert时代机器阅读理解 后续 自己论文整理 已经分类整 大的实验室: UCL MRC_Group: AI2: 微软: THU: PKU: 数据集文章 ROPE ...
- 什么是机器阅读理解?跟自然语言处理有什么关系?
导读:机器阅读理解(Machine Reading Comprehension,MRC)是一种利用算法使计算机理解文章语义并回答相关问题的技术.由于文章和问题均采用人类语言的形式,因此机器阅读理解属于 ...
- 搜狗开源最新NLP研究成果,打造业内最全机器阅读理解工具包SMRC
晓查 发自 凹非寺 量子位 出品 | 公众号 QbitAI 上周,搜狗在GitHub低调发布了机器阅读理解工具包SMRC(Sogou Machine Reading Comprehension). 这 ...
- 一文读懂机器阅读理解
机器阅读理解(Machine Reading Comprehension,MRC)是一种利用算法使计算机理解文章语义并回答相关问题的技术.由于文章和问题均采用人类语言的形式,因此机器阅读理解属于自然语 ...
- 科大讯飞刷新SQuAD 2.0问答榜纪录,机器阅读理解全面超越人类
近日,科大讯飞再次登上 SQuAD 2.0 挑战赛榜首,不过这次顺带刷新了一下纪录:在EM(精准匹配率)和F1(模糊匹配率)两项指标上全面超越人类平均水平,分别达到87.147和89.474.其中EM ...
最新文章
- 交互式多模型_DeepFaceLab824版 Avatar换头模型尝鲜!
- 基于SSM实现的民宿网站系统
- shell学习(4)- awk
- fastDFS分布式文件系统--文件上传/下载/查询完整代码实现
- 线段树求区间和(单点更新)
- WinForm窗体拖动代码
- Fragment滑动切换简单案例
- Windows+Nginx+Tomcat搭建负载均衡和集群环境同时实现session共享(一)
- 《Go语言程序设计》读书笔记(六) 基于共享变量的并发
- greedy算法/算法导论/挑战程序设计竞赛
- 并行语言开发平台 Erlang
- Python学习笔记—条件判断和循环
- Matlab入门基础思维导图
- 计算机专业和机械自动化哪个好,自动化和机械设计制造及其自动化有哪些区别?选哪个好呢?...
- 现行高考政策公平 辩论_辩论文:现行高考模式有(不)利于选拔入才
- 光无线通信理论知识学习1
- 从导数到方向导数和梯度,一步步理解深度学习中的梯度下降算法
- outlook邮箱显示一直启动中_win10outlook邮箱怎么设置开机自动运行 - 卡饭网
- 《我是一只IT小小鸟》读后感,献给要正在找工作的有缘朋友
- 第二章 Redis高级