让机器更好地理解数字,微信AI登顶数字离散推理榜单-阿里云开发者社区

开发者社区> 开发者小助手-bz8> 正文

让机器更好地理解数字,微信AI登顶数字离散推理榜单

简介: 近日,微信团队的一项工作刷新了艾伦 AI 实验室的 DROP 榜单。这是一个主要考察机器阅读理解中的因果推理,特别是数字信息推理能力的榜单。这项工作在本周刷新了该榜单,超越第二名谷歌的模型一个点以上。因此,机器之心采访了微信团队,请团队介绍该工作背后的技术信息。
+关注继续查看

机器阅读理解一直是自然语言处理中的重要任务。近来很多研究都在致力于解决这一问题,包括采用专家规则、机器学习和神经网络,以及最近较为火热的预训练语言模型等。尽管目前已有很多预训练语言模型在 SQuAD 等榜单上超过人类水平,但对于因果推理,特别是数字方面的推理仍有很大不足。例如,当文本中出现几组数字,向机器提出问题,如「排名第二大的值是多少?」,则机器可能无法很好地回答。


为了解决这一问题,帮助模型在数字离散推理方面更进一步,腾讯微信团队近日提出了专门针对这一任务的模型—NumNet+。该模型基于 NumNet 架构进行了改进,在 DROP 阅读理解榜单上取得了第一名的成绩,F1 和 EM 分数均超过之前效果最优的谷歌集成模型 BERT-Calculator 一个点以上。目前这项工作已开源,机器之心近日采访了微信团队,请研究人员介绍这项新 SOTA 工作。


微信图片_20211202021546.png

DROP 榜单的最新排名(2019 年 10 月 16 日)。



登顶 DROP 榜单


数字离散推理是机器阅读理解下的一个重要任务,目的是考察机器是否能够根据文本中的一处或多处信息,结合问题处理这些信息,通过数字运算等方式,较好地回答给定的问题。考察这一能力的便是 DROP 排行榜。DROP(Discrete Reasoning Over the content of Paragraphs)是艾伦 AI 实验室等提出的一个数据集。相比 SQuAD 数据集,DROP 对模型的数字推理能力要求更高。在训练过程中,模型无法显式地通过抽取或文字匹配的方式直接获得信息,而是需要从文本的多个地方获取数字信息,然后进行运算(包括但不限于:相加、计数或排序)。


DROP 数据集有将近 8 万的训练集问题、近 1 万个开发集问题和同样数量的隐藏测试集问题。这些问题是通过众包形式创建出来的。此外,只有训练集和开发集公开,而测试集不会开放。目前人类在该数据集上的表现(F1 分数)目前为 96%,而在数据集刚刚提出的时候,基线模型的 F1 分数仅仅为 32%。


微信图片_20211202021552.jpg

DROP 数据集中的一些文本、问题和对应的答案。可以看出,模型需要进行对数值进行加减、按年代排序、或进行因果推理。


DROP 榜单是艾伦 AI 实验室设立的一个类似于 GLUE 榜单的排名,参与者需要按照要求的格式将模型打包为 Docker 镜像后上传,由网站自己将测试集放到模型中进行测试,以此保证公平性。同时,DROP 严格限制参与者每周仅能上传一次,以防刷榜。


那么,模型具体的架构是什么样的?机器之心采访了微信团队,为读者朋友们介绍模型背后的技术原理。


NumNet+:能进行数字运算的模型


刷新本次榜单的是 NumNet+模型,由微信团队的 Ronqin Yang、Qiu Ran、Yankai Lin、Peng Li、Jie Zhou 研究者完成的。


微信图片_20211202021556.png


据介绍,本次刷新榜单的是 NumNet+是基于 NumNet 模型构建的,采用了编码层+推理层+预测层的架构。具体而言,NumNe+t 的编码层使用了最新的 RoBERTA 预训练模型,用于编码输入的文本和问题,并利用预训练语言模型学习文本中的语义、语法等先验信息。推理层使用了图神经网络,用于处理编码好的文本和问题信息,而预测层则和 NAQANet 类似,将问题分为四种,并计算潜在答案的概率。


从流程上来说,首先使用预训练语言模型编码文本和问题信息,通过编码方式获取语义结构化的先验知识。随后,将编码的信息输入推理层中,这是 NumNet+的核心层,用于进行数字感知。模型可以学习到用哪些数字进行比较,以及比较这些数字的方法。


图神经网络这样处理数字信息:给定一个问题和一段文本,模型会先把文本和问题中的数字都抽取出来,每个数字是图上的一个节点。同时,对于任意两个数字,假设为 A 和 B。如果 A 大于 B,则在 A 和 B 之间添加一条有向边,表示数字 A 和 B 之间有着 A 大于 B 的关系。如果 A 小于等于 B,则加入另一指向的有向边。通过这样的操作,用图的拓谱结构把数字相对大小知识注入模型。下一步则结合文本信息,让模型进行更复杂的数学推理。通过二者的结合,最终实现数字方面的之所以使用图神经网络,是因为图网络在符号推理上具有更好的优势,可以很好地建模数字之间的大小关系。


微信图片_20211202021559.jpg

NumNet+的整体架构


在获得了数字之间的关系信息后,信息被传入最终的预测层中。在预测时,由模型给定答案属于的类别的条件概率,主要分为以下四种:


  • 文本:答案来自文本;
  • 问题:答案来自问题;
  • 计数:答案需要模型计数回答;
  • 算术表达:通过数学运算获得答案。


最终由预测层提供预测回答。


从模型效果来看,在 DROP 榜单上取得的效果是非常惊艳的。在测试集上,完全匹配(Exact Match:EM)分数达到了 79.36%。而 F1 分数更达到了将近 83%,高出第二名一个点以上。


同时,据微信团队介绍,他们的 OCN 模型在 RACE 榜单——一个由中国初高中英语阅读选择题组成的数据集上,性能已经超过了众包的人类水平,说明了这一模型优秀的性能。


当然,微信团队也表示,目前尽管 NumNet+刷新了 DROP 排行榜,但仍有一些不足。首先,NumNet+目前支持的运算还太少,需要进一步学会更多的数字表达式。此外,从长期来看,NumNet+模型还需要在多种不同的文本上进行测试,如在文字描述简单,但需要的数字推理更为复杂的文本(如数学应用题)上提升推理表现。最终,构建出一个既能够处理文本复杂但运算简单,也能在文本简单但运算复杂的文本上进行推理的高性能模型,是团队接下来会探索研究的方向。


打破机器推理的障壁


微信团队表示,本次研究提出 NumNet+,主要是为了解决现有模型在数字离散推理方面存在的问题。诚然,预训练语言模型,如 BERT 等,已经在机器阅读理解数据集(SQuAD 等)上取得了很大的成功。但是,即使是目前最先进的预训练语言模型也无法超越人类的推理能力。因此,本次实验的目的是为了进一步探索机器推理领域。此外,考虑到传统的神经网络在符号运算上存在的天生短板,学界目前依然缺乏一种通用、成熟的建模方式,NumNet+无疑提出了一种「预训练语言模型+图神经网络」的处理方法。此外,NumNet+的成功再一次证明了预训练语言模型在语言建模和编码上的强大优势,机器阅读理解模型也可以通过构建合适的预训练微调方法实现超越复杂专业模型的表现。


谈到机器阅读理解目前的发展和趋势,微信团队表示,将来的机器阅读理解会更注重几个方面的研究。首先是开放式问答,由机器自行从库中搜索并收集信息进行问答。其次是数字离散推理,即本次研究探索的方向。此外,还有通过对文本进行多步推理,从多条文本中获取答案的研究。最后是常识推理,即让模型像人类一样具有常识,并利用常识知识进行推理和问答。


从应用上来说,NumNet+这项工作可以为诸如人机对话场景提供很多技术支持,使得对话更为智能,帮助客服机器人、语音助手等更好完成人类的指令。同时,在金融大数据方面,本研究可以帮助机器智能地阅读财务报表等涉及数字的文本内容,使得信息抽取和挖掘工作变得更容易。


目前,NumNet+代码已开源,微信团队对开源持开放态度,希望能够推动社区发展和技术交流。


参考链接:

NumNet 论文地址:https://arxiv.org/abs/1910.06701

DROP 数据集:https://allennlp.org/drop



机器之心「SOTA模型」22大领域、127个任务,机器学习 SOTA 研究一网打尽。


微信图片_20211202021602.jpg


www.jiqizhixin.com/sota

PC 访问,体验更佳

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
26740 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9494 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9053 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13177 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
4620 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4012 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
6891 0
1654
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载