用神经网络解决阅读理解问题是当下的NLP任务的重点之一。本文对机器阅读理解任务中的数据集进行了概括介绍。
机器阅读理解的一般任务定义是,给机器一篇或多篇文章(Passage,P),机器需要对若干问题(Question,Q)进行回答(Answer,A)。用一个式子总结就是:
f ( P , Q ) = A f(P,Q)=A f(P,Q)=A
这里的 f 就是阅读理解的模型。模型的发展离不开数据集,数据集的不断进步直接地推动了该领域的研究进展。根据问题(Q)和回答(A)的形式,机器阅读理解中的数据集可以分为最早的完型填空形式(cloze-style)、多项选择(multi-choice)、区域预测(span-prediction)和自由形式(open-form)。经历过英语高考的各位对此都不陌生,下面对这四种形式分别介绍,并给出每种形式的代表数据集。
完型填空类型的阅读理解问题就是在原文中挖出一个空来,由机器根据对文章上下文的理解去补全。这类比较著名的数据集有CNN/Daily Mail、Children’s Book Test(CBT)等,下文介绍了CNN/Daily Mail.
此类形式和初高中时英语阅读理解题的类型相似,甚至有数据集以中国中学生英语考试的数据为基础构建数据集(RACE)。每篇文章对应多个问题,每个问题有多个候选答案,机器需要在这些候选答案中找到最合适的那个。通常这些候选答案与原文中的句子并不相同,即使相同也可能和问题毫不相关,所以仅靠判断相似性无法取得较好的效果。此类数据集中比较著名的有MCTest、RACE等,下面介绍RACE数据集。
区域预测形式阅读理解问题也称为抽取式问答(Extractive QA),即给定文章和问题,机器需要在文章中找到答案对应的区域(span),给出开始位置和结束位置,区域的长度通常不会限制。这类数据集中最常用的是斯坦福大学的SQuAD数据集。
SQuAD:2016年,斯坦福大学提出了阅读理解数据集SQuAD,包含了在536篇维基百科手工(crowdworkers)找出的10万多个问题。每个问题对应一篇文章,问题的答案是对应文章中的一部分。
SQuAD数据集下载:https://rajpurkar.github.io/SQuAD-explorer/
论文地址:SQuAD: 100,000+ Questions for Machine Comprehension of Text
SQuAD2.0:SQuAD2.0是SQuAD1.0版本的扩展版,同样是由斯坦福大学发布。与前一个版本不同的是,在之前同样的文章中增加了5万多个新的,无法回答的问题。这些问题在相应文章中有似是而非(plausible)的答案,即和提的问题是同种类型的,但并不正确。模型需要识别这些问题从而避免回答。
SQuAD2.0 数据集地址:https://rajpurkar.github.io/SQuAD-explorer/
论文地址:Know What You Don’t Know: Unanswerable Questions for SQuAD
自由形式的问答是所有问答形式中最难的一个,它不限定问题所处的段落,即一个问题可能是需要理解多个段落甚至多篇文章,问题的答案是人为创造的,也就是既不会给定候选答案,也不是只需要提取文章中的片段。这对机器的阅读理解能力有更高的要求。此类型的数据集比较有名的是百度的DuReader和微软的MS MARCO,两者分别从百度搜索和必应搜索中收集数据。在直觉上看,在搜索引擎中获取数据集是个很巧妙的方法,这省掉了很多人为标注的时间。下面来看DuReader。
上述是对当下机器阅读理解数据集的简述,至于每个数据集中各模型的排名情况,可以移步paperwithcode查看。根据任务定义的不同,各数据集的评价指标也不尽相同。完形填空和多项选择可以直接用准确率衡量,区域预测形式可以用F1衡量。自由形式的阅读理解评价指标有多种,用到BLEU和ROUGE-L的多一些。本文提到的数据集如下:
数据集名称 | 数据来源 | 类型 | 文档数目 | 问题数目 | 评价指标 |
---|---|---|---|---|---|
CNN/Daily Mail | CNN,Daily Mail | 完型填空 | 300k | 1.4M | 准确率 |
Children’s Book Test | Children’s Book | 完型填空 | 108 | 688k | 准确率 |
MCTest | Fictional Stories | 多项选择 | 500 | 2k | 准确率 |
RACE | English Exams | 多项选择 | 28k | 97k | 准确率 |
SQuAD | Wikipedia | 区域预测 | 536 | 100k | F1 |
SQuAD2.0 | Wikipedia | 区域预测 | 505 | 150k | F1 |
DuReader | user logs(Baidu) | 自由形式 | 1M | 200k | BLEU,ROUGE-L |
SQuAD | user logs(Bing) | 自由形式 | 3.2M | 1M | 准确率,BLEU,ROUGE-L |
以上是对机器阅读理解数据集的介绍,等有时间再把相关模型写一下。
END.
文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib
文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang
文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些
文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器
文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距
文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器
文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn
文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios
文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql
文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...
文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120
文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数