Fork me on GitHub

「回顾」让机器读懂人类:揭秘机器阅读理解技术及应用

分享嘉宾:****邬霄云 Naturali奇点机智创始人兼CEO

内容来源:DataFun AI Talk**《让机器读懂人类:揭秘机器阅读理解技术及应用》**

出品社区:DataFun

我们在今年百度举行的中文阅读理解大赛上拿了冠军,而且比第二名高出三个点左右;听到过许多的反馈,好多人都说想要听机器阅读理解的技术这方面的内容;今天要讲的东西呢,主要分成三部分,第一部分是介绍问答系统和阅读理解的基本概念,然后跟大家介绍一下比较传统的模块化的问答系统;第二部分呢,是讲一些比较新的一个端到端的系统技术,我们在百度的阅读理解竞赛中夺冠正是使用的这项技术;除此之外本次我还会分享一些我们公司在语音对话交互领域的落地应用和本行业趋势。

一、自动问答与阅读理解

第一个是自动问答和阅读理解,其实从2017开始斯坦福大学就开始做这个了,它把这个竞赛变成了一个类似于ImageNet一样大家可以刷榜的竞赛,所有的人都在争取第一,但这也同时变相的促进了技术的进步;最早MSA周铭老师的队伍,后来科大讯飞和哈工大的老师一起做,成绩也都不错;SQuAD1.0的时候榜单上最好的成绩是83%左右,但是后来斯坦福的专家将数据集进行了更新,进入了sQuAD2.0时代,在换了一些似是而非的答案后,很多解决方案都一夜回到将解放前,准确率一度降到百分之六十多;最近不知道大家有没有关注Google出了个模型叫做Bert,我们内部笑称它是大力出奇迹,它的具体原理很简单就是找一个model能够融合我所有的数据,然后不管让它自己训练去,Google资金充足算力强,需要等两周,但对于我们普通公司来说,会等待更长的时间。NLP是一件比较综合的事情,做好还是比较难的,我们这一行有两个不太好的状况我们现在拿到的GPU最早是给Image设计的,都是四四方方的,它对图像处理是得天独厚的NVDIA对图像的处理积累了20多年,但对NLP的作用就不是那么大的,DNN对Image领域的受益是最大的,我们语言不是一个规则的东西,做结构化分析和链式分析都不是很好做,这些事情在GPU上运行是非常非常难受的,需要做很多额外的预处理操作;回到Bert,它真的是大力出奇迹,它就是硬算,不考虑其他任何东西,然后结果竟然非常好。

1.1 模块化问答系统

问答系统在自然语言处理里其实已经有很多很多年了,他是一个NLP的标杆性应用,我们在实际的生活中也选用问答来查看对象是否真的理解,比如说老师对学生的问答,可以查看学生们的理解水平;现在问答在NLP里面有很多作为核心技术的应用,比如说智能客服和手机上的虚拟助手,比如说苹果siri或百度的小度、微软小冰等等;下面简单介绍一下问答系统,我们可以把问题简单的分成几类,一类是简单的事实,比如地球直径多大;第二类是定义的事实类,第三类是列表类,第四类是长答案类,我们可以看到网上有许多很长的答案,最后一类为是非类,看着很简单实际上这是最难的一类问题,下图是业界常见的系统。

图 1 实用问答系统的举例

1.2****传统化回答方法

下面我们看看模块化问答系统的回答方法,它们有很多种,比如说有特制服务的问答,比如说有一个叫做WolframAlpha这个专门基于数学问题的网站,你可以在上面搜索任何数学问题。

图 2数学计算网站的特制问答

最近还有基于知识图谱的问答和基于搜索的自动问答,比如说微软的这个应用,用户问一个问题“明天需要带伞吗?”然后Bing除了去搜索文档外还会有一个专门回答问题的bot,将把你当前位置的地理位置的天气给显示出来,但是这个问答系统的更新方式是非常落后的,需要经常维护更新知识库。然后我们介绍一下基于搜索的问答系统的结构,下图是一个比较传统的结构它是一个模块化的系统,第一步,有了用户的query以后,我们并行计算一边对query进行分析,另一边将其送入google的搜索引擎找到相应的docs,然后我们在其中根据query匹配答案;阅读理解跟基于搜索的问答非常像,只不过这个问答不用你自己找,这个文章是已经作为另一个输入给系统了,等于说是先给定几篇文章,然后给出问题,让系统在文章中找出答案,这里的做法与前面很像仅仅只是把搜索引擎去掉了。

图 3 基于搜索的自动问答

图 4 传统阅读理解框架流程图

二、端到端阅读理解

2.1 阅读理解数据集

接下来是端到端阅读理解,阅读理解数据集sQuAD我之前已经讲过,它是以Wikipedia页面中的段落作为来源文档,从这里拿过来以后,根据文档人工编写问题,这个文档我们可以问什么问题,可能怎么问?制造了比较大的数据集,答案是文档里面的一个连续片段(span)。还有一个不太有名的比较复杂的数据集是MS MARCO,它的问题来自搜索引擎真实用户提出的问题,相关文档也是信息检索系统从真实网页得到的段落,每个问题对应多个段落,因为标注答案是人工根据文档总结撰写,而成这就增加了复杂度,他和sQuAD的区别是他的答案不是一个span,还需要做一些提取和综合答案,因为比较复杂,所以做的人不是很多,百度前段时间在这个上面拿了第一,但是普适性不是很好。具体怎么做呢?

2.2 端到端阅读理解系统

首先我讲一下端到端的阅读理解系统的基础架构,如图所示前面是一个模块,后面我们把整个的各种各样的模块都放进一个神经网络里面进行训练;

图 5 端到端阅读理解流程图

比如用户问个问题“什么酶可以分解淀粉?”回答这个问题时,第一步,找到问题中的焦点词Focus words,焦点词分为显性和隐性两种,它声明了答案的类型;第二步骤是在文章中将那些有可能是答案的东西给找出来,这里有个概念是回答的类型,它与焦点词是非常相关的,它主要是找到焦点词所指的类型是什么,这里我们要知道如何运用算法才能识别这个预期答案类型,同样的问答类型的识别可以用粗颗粒答案类型和直接使用query中的焦点词作为答案的类型。

2.3 模型整体结构

图 6 模型整体结构示意图

我们来看一下模型的整体结构,我不负责写代码,我从宏观上介绍一下,几乎所有的模型分成四块:最底层是Representation(特征表示层),作用是看这个词在这个场景中是什么意思,确定出问题的类型,将问题和篇章的词语转化为向量化特征表示并进行此行的标注;接下来是编码层,主要是衔接底层的特征;然后是匹配所有问题的匹配层,要想找到所有的答案,我们要在model中把问题的信息通过这个机制对每一个字进行重新表示,利用注意力机制融合问题和篇章信息,我们用的模型是Match-LSTM、BiDAF和DCA等;最后我们再通过一种对应准则把每一个字的新表达span给找出来,也就是答案片段抽取层负责的工作,这时我们就可以利用两个步的指针网络对组成答案的Span进行相应的提取操作,相应的细节大家可以再paper上面找,我这里就不详细讲了。如果大家想做这个方面的问答技术实现,我建议大家先跑通这个模型,然后再做一些微调,阅读大量文献找到感觉后再进行创新和改进,从一个好的点到一个更好的点是需要循序渐进的,我认为这样的效率会更高些。

三、语音交互技术和行业发展趋势

我们公司要做的事情和现有的大家的想法可能不太一样:虽然大家都知道人工智能的三大要素是算法+数据+算力,不过我认为用户体验是最重要的粘合剂,有了这个粘合剂,才能使AI真正的落地。对话的用户体验是一个更自然的体验,我对和个对话用户体验很认同。因为对任何人来说最重要的事情就是时间;因为这个时间都是24小时,时间过去了再也不会回来,我们想一下,假如我们想要吃一个麻辣烫,这个东西我们都知道怎么做,这是个很简单的问题,但是几乎每一个人第一次用美团都需要相当长的适应时间,对于这个学习成本是很高的;也就是说我们是知道自己要做什么,但我们希望语音对话直接帮忙完成相关操作,学习App如何使用其实是我们并不关心的。我们年轻人来说还好,但是对于我们的父母和更老的爷爷奶奶来说这件事情还是很有挑战的,我们真正关心的事情是我饿了,我想买东西吃,我们并不关心App是在哪里?怎么用?如何选取优惠? 慢慢的大家都开始关注小程序了,小程序是一个小热点,非常popular的东西,人们终于发现了App并不具有太大的吸引力了,有了小程序,可以慢慢的替代App了,人的一辈子是单次路程,我们小学毕业一次,中学毕业一次,大学毕业一次,我们去某地旅游,去一个餐馆吃一次饭,可能就吃这么一次,再也不会去了。同理,我们手机上安装六七十个App,但我们一天能用几次呢?会不会嫌麻烦不用了呢?我们公司的愿景就是期待帮助当用户知道自己要做什么时,我们可以让他们通过一句话搞定复杂操作,而不需要去想怎么操作图形界面而浪费时间和精力。

语音交互两部分,一个是本身,二是商务逻辑;我们公司本身,关注的是商务逻辑,如果想要语音交互和图形界面交互一样产生很棒的体验,那么就要实现任何一个程序员都可以很方便的把他擅长的领域中的体验给做出来,这一点很重要,但是过去国内外企业对这方面积累比较少;这个语音交互其实对社会和人类产生很多好处,不过它是不好实现的技术细节比较麻烦;音交互将会成为未来主流的人机交互方式之一,技术更新迭代大爆发即将来临,我希望我们公司能够成为时代的弄潮儿。关于语音体验的优化,第一件事从表达到操作,就像头痛和头疼其实是一件事,关键在于我们如何将表达同一含义的说法进行泛化?第二件事是我根据这些信息,如何让商业逻辑容易的表达出来,如何高效的用声音来控制图形界面操作和业务,我们会有很多很多后续的技术分享和成果发布,请大家保持关注。配套PPT,请关注本文底部二维码,后台回复【1103】下载。

作者介绍:

邬霄云,Naturali奇点机智创始人兼CEO,纽约州立大学计算机博士,拥有1年雅虎实验室、8年谷歌研究院工作经验,回国创业前负责美国应用搜索公司Quixey.com 搜索部,专攻自然语言处理、深度学习、互联网大数据、分布式计算领域。

内推信息:

对NLP领域感兴趣的朋友,欢迎投简历到jobs@naturali.io,2018机器阅读理解技术竞赛冠军团队期待你的加入!


本文地址:https://www.6aiq.com/article/1545040973617
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出