从学术前沿到工业领先:解密阿里小蜜机器阅读的实践之路
本文内容节选自由msup主办的第七届TOP100summit,阿里巴巴智能服务事业部算法专家赵中州分享的《从学术前沿到工业领先:阿里小蜜机器阅读的实践之路》实录。
分享者赵中州,阿里巴巴智能服务事业部算法专家,多年来专注于自然语言理解及智能人机交互领域的算法研究和业务落地,作为核心骨干搭建了阿里小蜜、店小蜜、企业小蜜等小蜜问答体系,沉淀多篇专利与顶会论文。在机器阅读、迁移学习等领域持续探索并有较多实践。
编者按:2018年11月30日-12月3日,第七届全球软件案例研究峰会在北京国家会议中心盛大开幕,现场解读2018年「壹佰案例榜单」。本文为阿里巴巴算法专家赵中州分享的《从学术前沿到工业领先——阿里小蜜机器阅读的实践之路》案例实录。
提纲:
- 阿里小蜜平台及秘书
- 机器阅读理解研究现状
- 学术到工业的落地挑战
- 解决思路及技术实践
- 总结与未来展望
作为双11背后的主力,阿里小蜜,在今年天猫双11,GMV达到历史性记录2135亿的情况下,完成了其中98%的服务,其余2%由人工解决,同时在当天整个日活跃用户已经达到5000万量级的情况下,另一款店小蜜产品当日对话人次超过了3.5亿,相当于58.6万的人工客服24小时在线提供了这样一个服务量。
首先,我为大家介绍下阿里小蜜平台。
01阿里小蜜平台及业务
小蜜平台介绍
由上图可见,底层展现的是通用能力,如知识回流,机器人配置运营等一些后台,上部左面这部分是整个阿里小蜜核心生态,阿里生态圈已成功孵化出各种行业,如体育娱乐等多种服务;同时阿里店小蜜这款产品,也针对阿里面向的生态进行扩展,因此阿里生态上面的商家也可以用店小蜜来帮助他们进行用户问答。
拓展业务
除此之外,第三方非阿里系的企业生态也进行了业务拓展,主要特定端为钉钉、IOT、阿里云。而已经脱离了传统简单的服务型对话机器人阿里小蜜,还可以为用户提供充花费等一系列活动。而企业生态,可用于阿里内部定会议室、查年假、请假等,并以一种比较自然的交互方式来实现。
02机器阅读理解研究现状
机器阅读——热点学术方向
作为用来解答用户问题的官方活动规则文档,过多过复杂。对此,常规做法即把活动拆分成不同的FAQ人工录入到知识库里,再通过小蜜回答。但常规做法对于某些活动来讲,性价比、用户满意度和精细度相对都较低。若用机器阅读文章并自动回答问题则会减小工作量,提高效率。这种基于文档直接问答的能力,也是目前学术上的研究热点,其中以斯坦福的SQuAD——基于维基百科的英文机器阅读理解数据集最受关注。
像人一样学习的深度神经网络
小蜜和阿里达摩院也提出了自己的模型,由上图可见,这个模型是典型的深度学习网络结构,分了多个层次。相关细节可以参照ACL18发表的论文,整体的思路大致为,获取问题-检索文章-关键匹配-找出相关段落,模拟了人类思维过程。我们的模型在2018年1月历史首次超越了人类评测结果,主要是EM(精确匹配)这个指标,同时也拉开了机器阅读任务中机器战胜人类的序幕。
03学术到工业的落地挑战
真实的人工智能
谈到工业届的人工智能,很多人认为都是一些高深的代码,复杂的模型,这只是工作的一小部分,现实中大部分时间都在做数据,余下的大部分进行实验,最后小部分用于编码实现。
数据驱动的机器学习革命
学习曲线:与图片可见深度学习这条蓝线和传统统计机器学习这条红线最大的区别是在数据量得到提升的情况下,深度学习具有更好的学习能力,因此深度学习决定了更好的上限,不同模型之间的差异往往经常是由于数据的量级所带来的,所以从这点可见本身是数据驱动的任务。
学术研究与工业应用的不同之处
学术研究偏向端到端、领域简单、问法标准、有标注数据、不考虑性能、而工业应用则是系统工程、场景复杂、问法多样、数据标注复杂、需要平衡性能与效果。
04解决思路及技术实践
三个挑战
由上图可见,每个都有多层结构,同时每一层又有很多的计算单元。概括来看整个就跟我们的模型一样,是一个端到端的系统,他输入的是一个问题文章,输出的是答案。对于外部人来看可能是一个大黑盒,在这种端到端系统里面,所有这种系统都会用到的最核心计算单元,一般是RNN,RNN可以循环的输入一个序列,因为对文字本身而言前后词的序列就代表了一个上下文关系,所以用这种方式表示线性的输入,还有一块是Attention,如上图右侧所示,它量化了两个词之间的相关程度,这句话中因为it代指anymore,因此它两的Attention比较高。
第二个挑战便是复杂的模型,让速度与效果难以平衡 :RNN处理的是串行序列,因此计算时间的耗时一般是和文本的长度,即其中的N有直接关系,文本越长处理越慢。而Attention与整个模型深度相关度更高,层数越深,计算的复杂度或计算的时资源消耗越大。
再来看看实际应用中的速度要求,双11天猫整个交易峰值今年达到49.1万笔,在这里面涉及到双11天猫商家客服的咨询量里面,店小蜜占据了67%,而作为一个平台服务,平台服务会远远小于店铺服务,而且小蜜分钟级的服务量超过了8点3万,在这样一个系统压力下面,常规链路只有几十毫秒的响应时间,留给模型的时间不多。因此这种情况下一般是要求达到10毫秒以内才可以上线。机器阅读除了支持单篇文档,还有很多长文档多文档的场景,因为计算单元和依赖于文章的长度与深度,使得机器阅读这项技术计算量和耗时远超普通的文本匹配模型。
除了性能之外,真实的问题并不像学术任务那样简单,比如说领的券在哪里看到、询问活动时间、能否优惠叠加,这些其实是很简单的问题。但如果遇到错别字,或者活动页面没反应,即遇到了一些异常情况,还有售中后的问题或者异常情况,这种全都是在文章里面超纲的,而且我们也没有办法,通过加一些简单规则就能识别出来,因此需要先进行分析定类再进一步解决。
最后一点是深度模型黑盒化,可控性差。传统的NLP解决方案中其实包含很多步骤,每一步中都有人工知识辅助干预,特别是在问答方面的真实应用依赖大量的规则,可干预性是一个非常重要的东西。机器阅读由于涉及从整篇文章中选取答案,可控性方面的挑战会更大。
三步解法
首先做应用场景分析定位,相比较传统的FAQ匹配,机器阅读不需要预先编辑问题答案,更新成本低,适合冷启动。同时多文档、长文档的支持可以进一步增加其应用范围,但相应的,阅读计算量大延迟高、答案粒度灵活可控性差又是新技术落地时需要关注的痛点。
基于神经系统的模型迁移方法
第二步基于迁移学习来帮助机器阅读模型的构建与优化,迁移学习对小数据量很有效,即底层关注更基本特征。在图像处理的模型中,中间层网络会组合底层特征识别更复杂的形状。更上层则会处理更具体的事物。同样的,小蜜在文本相似度计算任务中也证明了深度学习模型的迁移能力,通过引入其他领域,学习强化基础特征层,同时引入部分共享层次,迁移与当前任务相关的部分知识。
除了跨领域知识迁移,还可以利用同领域的不同任务做迁移学习,例如在店小蜜活动问答场景中,我们就利用了海量的对话语料,大规模的点击记录和已有的FAQ问答内容,再结合少量的机器阅读标注数据,快速构建领域模型。
最后一步是对机器阅读流程做拆解分层优化。在多文档场景我们引入了前置的文档检索与段落选择,不同的是这两个步骤和答案提取会作为模型整体同时优化,这样能部分避免传统pipeline流程引发的错误累计问题,由于每篇文章是并行阅读的,只在最终统一比较可信度,模型的性能也得到了较好的平衡。
如下图所示,柱状图就是具体准确率指标,可以看到文章长度的增长,深色条会保证一个比较稳定的性能,而折线图是响应时间,同时也可以增加一个少量的延时耗时,而相比直接用机器阅读会导致大量的RT(响应时间)的增加。
此外整体流程还引入了后置排序,后置排序模型建模这个问题和答案之间差异度,通过这种差异度决定哪些答案并不应该作为真实答案回复出来。
后置排序这里同样利用了共同学习,Multi-Task Training,这里面可见各个不同的步骤都最终拟合到wide deep,wide deep在工业界是非常常用的一个方式,deep端更多是一个很强大的深度模型,而wide可以自由的去扩展一些不同的线性特征,比如答案的长度,是否有一些特殊的关键词等等,这个可以显著的增强整个模型的显著性,可控性,而且wide模型因为比较轻量,比如GBDT此类模型,可以快速的更新上线甚至支持实时的更新。
所以最终问答流程变成,最开始是上文介绍的预处理模块,之后召回定位排序,中间是阅读模块,这里也用TensorFlow这样一个技术框架,后面结合了进一步的据实排序以及wide deep的模型,以及特有的后处理模块。
05总结与未来展望
从学术到工业,单一机器阅读模型演变成了包含五大模块的综合方案,这也显示出工业界上面应用,并非一个单一技术点的落地,更多是一个整体方案在各方面做一个权衡考虑的设计。这个落地过程我们抽象成了DTD原则,首先要做一个define, 定义好用处、长处、短处,并且发扬长处。同时做一些transfer,最后一块decompose,就是分解,把问答流程拆解成不同的环节,提供不同程度的可控性和一些干预性,以此更好把控整个流程。
在这套框架下,我们把机器阅读理解能力应用在了阿里店小蜜的智能活动回复中,目前淘宝或者天猫上的商家已经达到百万量级,作为店小蜜的付费功能之一,使用该功能的商家平均能节省两周的配置时间,不需要维护很多的知识点,也能保证答案粒度的灵活性,更新的效率和延迟也控制地更好,所以应用了机器阅读后,机器人整体的解决能力反而得到进一步提升。在活动问答中,上线的规则会以机器阅读为核心,再附加少量人工整理的FAQ,来保证整体的问答效果。
以上内容来自赵中州老师的分享。