【重磅】机器阅读理解终于超越人类水平!权威竞赛排名中国霸榜,阿里、MSRA、腾讯前二

简介: 2018年1月3日,微软亚洲研究院的r-net率先第一个在SQuAD machine reading comprehension challenge 上达到82.650,这意味着在ExactMatch (精准匹配)指标上首次超越人类在2016年创下的82.304。

2018年1月3日,微软亚洲研究院的r-net率先在SQuAD machine reading comprehension challenge 上达到82.650,这意味着在ExactMatch (精准匹配)指标上首次超越人类在2016年创下的82.304。

a526e8297f7b3021993826d0e2ed37da5f713c35

值得注意的是,其中阿里巴巴数据科学与技术研究院IDST在1月5日刷新了F1分数至88.607。腾讯NLP团队在一个月前的数据也紧随其后,可喜可贺。

1ddd5cb95533ff87bd07b5b8f458899df8298878

在前10名单中,我们看到了中国团队的“霸榜”:

  • 并列第1:阿里巴巴 iDST NLP、微软亚洲研究院
  • 并列第2:微软亚洲研究院、腾讯DPDAC NLP
  • 并列第4:阿里巴巴 iDST NLP、微软亚洲研究院
  • 第5:科大讯飞与哈工大联合实验室
  • 第9:阿里巴巴 iDST NLP
  • 第10:浙江大学

包括阿里巴巴、艾伦研究院、IBM、Salesforce、Facebook、谷歌以及CMU(卡内基·梅隆大学)、斯坦福大学等在内的全球自然语言处理领域的研究人员,共同推动着自然语言理解的进步。

微软亚洲研究院副院长周明在朋友圈评论:祝贺中国的自然语言理解研究已经走在世界前列!高兴的同时也更加意识到自然语言理解长路漫漫,更需继续努力。

4ddbfdd5ab7622815a641148bc03c6c22f09a86e

SQuAD:机器阅读理解界的ImageNet

做机器阅读理解研究的学者,想必对由斯坦福大学自然语言计算组发起的SQuAD(Stanford Question Answering Dataset)文本理解挑战赛并不陌生。

它也被誉为“机器阅读理解界的ImageNet”。诸多来自全球学术界和产业界的研究团队都积极地参与其中。

SQUAD是斯坦福大学2016年推出的一个阅读理解数据集,由众多维基百科文章众包工作者提出的问题组成,其中每个问题的答案都是相应阅读段落的一段文字,需要算法找到答案。

在配套的500多篇文章中,有超过10万个问题,SQuAD显着大于以前的阅读理解数据集。

那么,SQuAD机器阅读理解挑战赛是怎样进行的呢?SQuAD通过众包的方式构建了一个大规模的机器阅读理解数据集(包含10万个问题)。

即将一篇几百(平均100,最多800)词左右的短文给标注者阅读,随后让标注人员提出最多5个基于文章内容的问题并提供正确答案。

SQuAD向参赛者提供训练集用于模型训练,以及一个规模较小的数据集作为开发集,用于模型的测试和调优。

与此同时,他们提供了一个开放平台供参赛者提交自己的算法,并利用测试集对其进行评分,评分结果将实时地在SQuAD官网上进行更新。

R-NET:基于自匹配网络的机器阅读理解

为了研究机器阅读理解问题,微软亚洲研究院NLP团队试图去建模人做阅读理解的过程。

他们提出一个名为R-NET的端到端神经网络模型,该模型的目的是回答针对给定文本段落的问题。

在R-NET的技术报告中,他们首先将问题和文本与门控注意力循环网络(gated attention-based recurrent networks)相匹配,以获得question-aware的文本表示。

然后,他们提出一个self-matching的注意力机制,通过将文本自身进行匹配来优化表示,从而有效地对整个段落中的信息进行编码。

最后,研究人员使用提示网络( pointer network)来定位文本中答案的位置。这个模型在SQuAD和MS-MARCO数据集上进行了广泛的实验,在两个数据集上都取得了很好的结果。

人在做阅读理解的过程中,一个常见的顺序是这样的:首先阅读整篇文章,对文章有一个初步理解之后再去审题,从而对问题也有了一定认知。

第二步,可能就需要将问题和文中的部分段落和内容做一些关联。例如题干中出现的某些关键已知信息(或证据)的,找出一些候选答案,举例来说:如果问题问的信息是时间,那么文中出现的与时间相关的信息就可能是候选答案。

第三步,当我们将候选答案与问题进行对应之后,我们还需要综合全文去看待这些问题,进行证据的融合来辅证答案的正确性。

最后一步,就是针对自己挑出的答案候选进行精筛,最终写下最正确的答案。

R-NET 模型也分为类似这样的四层。

最下面的一层做表示学习,就是给问题和文本中的每一个词做一个表示,即深度学习里的向量。这里研究组使用的是多层的双向循环神经网络。

第二步,就是将问题中的向量和文本中的向量做一个比对,这样就能找出那些问题和哪些文字部分比较接近。

接下来,将这些结果放在全局中进行比对。这些都是通过注意力机制达到的。

最后一步,针对挑出的答案候选区中的每一个词汇进行预测,哪一个词是答案的开始,到哪个词是答案的结束。

这样,系统会挑出可能性最高的一段文本,最后将答案输出出来。整个过程就是一个基于以上四个层面的神经网络的端到端系统。

559c328b405c166258f0e76f26ac3ad0a1adbe77

图:微软亚洲研究院提出的 R-NET 算法的网络结构图。

其中最为独特的部分是第三层文章的自匹配网络(Self-Matching Networks),更多细节参考技术报告。

R-NET:一个用于阅读理解和问题回答的端到端神经网络模型,由以下四部分组成:

1)循环神经网络编码器,用于为问题和文本建立表示

2)门控匹配层(gated matching layer),用于匹配问题和文本

3)自匹配层(self-matching layer),用于整合整个段落的信息

4)基于答案边界预测层的提示网络(pointer-network)

这项工作在SQuAD数据集取得了优异的结果。最新的r-net+集成模型(ensemble)取得了EM(完全匹配)82.650分和F1 88.493分,排名第一的成绩,r-net(集成模型)、r-net+(单模型)和r-net(单模型)也分别取得第2、第4和第14名的成绩。


原文发布时间为:2018-01-13

本文作者:刘小芹 弗朗西斯

本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”微信公众号

原文链接:【重磅】机器阅读理解终于超越人类水平!权威竞赛排名中国霸榜,MSRA、阿里、腾讯前二

相关文章
|
C++
C++ 条件与 If 语句:掌握逻辑判断与流程控制精髓
C++ 中的条件语句用于根据布尔表达式的真假执行不同代码。`if` 用于当条件为真时执行一段代码,`else` 配合 `if` 在条件不成立时执行另一段代码。`else if` 允许测试额外的条件。`switch` 语句提供多分支选择。还有三元运算符 `(condition) ? expressionTrue : expressionFalse`,它是一种简写的 if...else 形式,常用于一行内作出决定。
340 0
|
弹性计算 运维 数据安全/隐私保护
你知道啊?雾锁王国服务器可以免费搭建!0元薅阿里云羊毛
你知道啊?雾锁王国服务器可以免费搭建!0元薅阿里云羊毛,免费自建雾锁王国Enshrouded服务器,先领取阿里云300元无门槛代金券,然后在雾锁王国Enshrouded专题页一键部署,不需要基础,鼠标点选即可10秒钟创建一台雾锁王国游戏服务器,超简单,阿里云百科分享阿里云无门槛代金券领取方法、雾锁王国服务器详细搭建教程
|
消息中间件 存储 Java
吃透 RocketMQ 消息中间件,看这篇就够了!
本文详细介绍 RocketMQ 的五大要点、核心特性及应用场景,涵盖高并发业务场景下的消息中间件关键知识点。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
吃透 RocketMQ 消息中间件,看这篇就够了!
|
负载均衡 安全 API
小红书商品详情API接口获取步骤
获取小红书商品详情API接口需先注册账号并实名认证,阅读API文档后,通过编程语言调用API,构建请求参数,处理返回数据。确保应用支持高并发,遵守安全规范,申请API权限,查阅接口文档,进行开发调试。
|
存储 SQL 测试技术
基于SpringBoot+Vue的个人云盘管理系统的设计与实现(源码+部署说明+演示视频+源码介绍)(2)
基于SpringBoot+Vue的个人云盘管理系统的设计与实现(源码+部署说明+演示视频+源码介绍)
401 1
|
人工智能 运维 监控
人工智能如何影响后端开发
【6月更文挑战第1天】人工智能如何影响后端开发
557 2
|
存储 大数据 Linux
【大数据】GFS,大数据技术的基石,分布式文件系统的鼻祖
【大数据】GFS,大数据技术的基石,分布式文件系统的鼻祖
411 0
|
前端开发 JavaScript 数据可视化
IT圈茶余饭后的“鄙视链”——看看前端开发有多难
IT圈茶余饭后的“鄙视链”——看看前端开发有多难
2307 0
|
Go API 区块链
Hyperledger Fabric相关概念介绍
在学习Hyperledger Fabric的过程中,初步对相关概念的了解。
719 0
Hyperledger Fabric相关概念介绍
|
JSON 自然语言处理 机器人
ESP32上使用chatGPT做一些有意思的事情
ESP32上使用chatGPT做一些有意思的事情
468 0