【嵌牛导读】:过去 3~4 年,我们可以看到,连接互联网的设备发生了很大变化,设备已经从 PC 和智能手机延伸到更广泛的智能设备,比如智能音箱、智能电视、机器人、智能汽车等设备。智能设备的快速发展正在改变着人和设备之间的交互方式。
【嵌牛鼻子】:交互方式;智能设备
【嵌牛提问】:新的交互方式特点有哪些?智能设备给我们生活带来哪些变化?
【嵌牛正文】:
过去 20 多年,互联网及移动互联网将人类带到了一个全新的时代,如果用一个词来总结和概括这个时代的话,「连接」这个词再合适不过。这个时代主要建立了四种连接:第一,人和商品的连接;第二,人和人的连接;第三,人和信息的连接;第四,人和设备的连接。
「连接」本身不是目的,它只是为「交互」建立了通道。在人机交互(Human-Computer Interaction)中,人通过输入设备给机器输入相关信号,这些信号包括语音、文本、图像、触控等中的一种模态或多种模态,机器通过输出或显示设备给人提供相关反馈信号。「连接」为「交互」双方架起了桥梁。
「交互」的演进方向是更加自然、高效、友好和智能。对人来说,采用自然语言与机器进行智能对话交互是最自然的交互方式之一,但这条路上充满了各种挑战。
如何让机器理解人类复杂的自然语言?如何对用户的提问给出精准的答案而不是一堆候选?如何更加友好地与用户闲聊而不是答非所问?如何管理复杂的多轮对话状态和对话上下文?
在阿里巴巴,我们从 2014 年初开始对智能对话交互进行探索和实践创新,研发成果逐步大规模应用在了智能客服(针对阿里巴巴生态内部企业的阿里小蜜、针对阿里零售平台上的千万商家的店小蜜,以及针对阿里之外企业及政府的云小蜜等)和各种设备(如 YunOS 手机、天猫魔盒、互联网汽车等)上。
本文将对阿里巴巴在智能对话交互技术上的实践和创新进行系统的介绍。首先简要介绍智能对话交互框架和主要任务;接下来详细介绍自然语言理解、智能问答、智能聊天和对话管理等核心技术;然后介绍阿里巴巴的智能对话交互产品;最后是总结和思考。
智能对话交互框架
典型的智能对话交互框架如图 1 所示。其中,语音识别模块和文本转语音模块为可选模块,比如在某些场景下用户用文本输入,系统也用文本回复。自然语言理解和对话管理是其中的核心模块,广义的自然语言理解模块包括对任务类、问答类和闲聊类用户输入的理解,但在深度学习兴起后,大量端到端(End-to-End)的方法涌现出来,问答和聊天的很多模型都是端到端训练和部署的,所以本文中的自然语言理解狭义的单指任务类用户输入的语义理解。在图 2 所示的智能对话交互核心功能模块中,自然语言理解和对话管理之外,智能问答用来完成问答类任务,智能聊天用来完成闲聊类任务。在对外输出层,我们提供了 SaaS 平台、PaaS 平台和 Bot Framework 三种方式,其中 Bot Framework 为用户提供了定制智能助理的平台。
图1 智能对话交互框架
智能对话交互核心技术
智能对话交互中的核心功能模块如图 2 所示,本部分详细介绍智能对话交互中除输出层外的自然语言理解、智能问答、智能聊天和对话管理四个核心模块。
图2 智能对话交互中的核心功能模块
自然语言理解
自然语言理解是人工智能的 AI-Hard 问题 [1],也是目前智能对话交互的核心难题。机器要理解自然语言,主要面临语言的多样性、语言的多义性、语言的表达错误、语言的知识依赖和语言的上下文(示例见表 1)的五个挑战。
智能问答
在具体的业务场景中有三种典型的问答任务,一是用户提供 QA-Pairs,一问一答;二是建立结构化的知识图谱,进行基于知识图谱的问答;三是针对非结构化的文本,进行基于阅读理解的问答。本文重点介绍我们在阅读理解方面做的工作,比如利用阅读理解解决淘宝活动规则的问答。
在阅读理解的方法上,目前针对斯坦福大学的数据集 SquAD,有大量优秀的方法不断涌现,比如 match-LSTM[15]、BiDAF[16]、DCN[17]、 FastQA[18] 等。文献 [18] 给出了目前的通用框架,如图 11 所示,主要分为 4 层:① Word Embedder,对问题和文档中的词进行 embedding;② Encoder,对问题和文档进行编码,一般采用 RNN/LSTM/BiLSTM; ③ Interaction Layer(交互层),在问题和文档之间逐词进行交互,这是目前研究的热点,主流方法是采用注意力机制(attention);④ Answer Layer(答案层),预测答案的起始位置和结束位置。
模型的业务优化
需要改进模型的结构设计,使得模型可以支持电商文档格式的输入。电商规则文档往往包含大量的文档结构,如大小标题和文档的层级结构等,将这些特定的篇章结构信息一起编码输入到网络中,将大幅提升训练的效果。
模型的简化
学术文献中的模型一般都较为复杂,而工业界场景中由于对性能的要求,无法将这些模型直接在线上使用,需要做一些针对性的简化,使得模型效果下降可控的情况下,尽可能提升线上预测性能,例如可以简化模型中的各种 bi-lstm 结构。
多种模型的融合
当前这些模型都是纯粹的 end-to-end 模型,其预测的可控性和可解释性较低,要适用于业务场景的话,需要考虑将深度学习模型与传统模型进行融合,达到智能程度和可控性的最佳平衡点。
智能聊天
面向 open domain 的聊天机器人目前无论在学术界还是在工业界都是一大难题,目前有两种典型的方法:一是基于检索的模型,比如文献 [19-20],其基本思路是利用搜索引擎通过计算相关性来给出答案;二是基于 Seq2Seq 的生成式模型
检索模型的优点是答案在预设的语料库中,可控,匹配模型相对简单,可解释性强;缺点是在一定程度上缺乏对语义的理解,且有固定语料库的局限性,长尾问题覆盖率较差。生成模型的优点是通过深层语义方式进行答案生成,答案不受语料库规模限制;缺点是模型的可解释性不强,且难以保证回答一致性和合理性。
在我们的聊天引擎中,结合检索模型和生成模型各自的优势,提出了一种新的模型 AliMe Chat [23],基本流程如图 13 所示。首先采用检索模型从 QA 知识库中找出候选答案集合; 然后利用带注意力的 Seq2Seq 模型对候选答案进行排序,如果第一候选的得分超过某个阈值,则作为最终答案输出,否则利用生成模型生成答案。其中带注意力的 Seq2Seq 模型结构如图 14 所示。经过训练后,主要做了如下测试:如图 15 所示,利用 600 个问题的测试集,测试了检索(IR)、生成(Generation)、检索+ 重排序(Rerank)及检索+ 重排序+ 生成(IR+Rerank+Generation)四种方法的效果,可以看到在阈值为 0.19 时,IR+Rerank+Generation 的方法效果最好。
对话管理
对话管理根据语言理解的结构化语义表示结果以及上下文,来管理整个对话的状态,并决定下一步采取什么样的动作。
对话交互分成两个阶段,第一阶段,通过多轮对话交互,把用户的需求收集完整,得到结构化的信息(出发地、目的地、时间等);第二阶段就是请求服务,接着还要去做选择、确定、支付、购买等后面一系列的步骤。
传统的人机对话,包括现在市面上常见的人机对话,一般都是只在做第一阶段的对话,第二阶段的对话做得不多。对此,我们设计了一套对话管理体系,如图 17 所示,这套对话管理体系具有以三个特点。
第一,设计了一套面向 Task Flow 的对话描述语言。该描述语言能够把整个对话任务流完整地表达出来,这个任务流就是类似于程序设计的流程图。对话描述语言带来的好处是它能够让对话引擎和业务逻辑实现分离,分离之后业务方可以开发脚本语言,不需要修改背后的引擎。
第二,由于有了 Task Flow 的机制,我们在对话引擎方带来的收益是能够实现对话的中断和返回机制。在人机对话当中有两类中断,一类是用户主动选择到另外一个意图,更多是由于机器没有理解用户话的意思,导致这个意图跳走了。由于我们维护了对话完整的任务流,知道当前这个对话处在一个什么状态,是在中间状态还是成功结束了,如果在中间状态,我们有机会让它回来,刚才讲过的话不需要从头讲,可以接着对话。
第三,设计了对话面向开发者的方案,称之为 Open Dialog,背后有一个语言理解引擎和一个对话引擎。面向开发者的语言理解引擎是基于规则办法,能够比较好地解决冷启动的问题,开发者只需要写语言理解的 Grammar,基于对话描述语言开发一个对话过程,并且还有对数据的处理操作。这样,一个基本的人机对话就可以完成了。
阿里智能对话交互产品
智能服务——小蜜家族
2015 年 7 月,阿里巴巴推出了自己的智能服务助理——阿里小蜜,一个围绕着电子商务领域中的服务、导购,以及任务助理为核心的智能对话交互产品。通过电子商务领域与智能对话交互领域的结合,带来传统服务行业模式的变革与体验的提升。在 2016 年的「双十一」期间,阿里小蜜整体智能服务量达到 643 万,其中智能解决率达到 95%,智能服务在整个服务量 ( 总服务量= 智能服务量+ 在线人工服务量+ 电话服务量) 占比也达到 95%,成为了「双+ 十一」期间服务的绝对主力。阿里小蜜主要服务阿里国内业务和阿里国际化业务,国内业务如淘宝、天猫、飞猪、健康、闲鱼、 菜鸟等,国际化业务如 Lazada、PayTM、AE 等。
随着阿里小蜜的成功,将智能服务能力赋能给阿里生态圈商家及阿里生态之外的企业和政府部门,便成了必然的路径。店小蜜主要赋能阿里生态中的商家,云小蜜则面向阿里之外的大中小企业、政府等。整个小蜜家族如图
智能设备,我们研发的智能对话交互平台为各种设备提供对话交互能力,目前在 YunOS 手机、天猫魔盒、互联网汽车等设备上已经大量应用。比如在天猫魔盒中,用户通过对话交互可以完成搜视频、查音乐、问天气等,可以进行闲聊,还可以进行购物。
总结与思考
过去几年中,结合阿里巴巴在电商、客服、智能设备方面的刚性需求和场景,我们在智能对话交互上做了大量的探索和尝试,构建了一套相对完整的数据、算法、在线服务、离线数据闭环的技术体系,并在智能服务和智能设备上得到了大规模的应用,简单总结如下。
(1)自然语言理解方面,通过 CNN/Bi-LSTM-CRF 等深度学习模型、分布式表示和符号表示的融合、多粒度的 wordembedding、基于上下文的意图排序等方法,构建了规则和深度学习模型有机融合的自然语言理解系统。
(2)智能问答方面,成功的将机器阅读理解应用在了小蜜产品中。
(3)智能聊天方面,提出了 AliMe Chat 模型,融合了搜索模型和生成模型的优点,大大提高了闲聊的精度。
(4)对话管理方面,设计了基于 Task Flow 的对话描述语言,将业务逻辑和对话引擎分离,并能实现任务的中断返回和属性的 carry-over 等复杂功能。
在智能交互技术落地应用的过程,我们也在不断思考怎么进一步提高智能交互技术水平和用户体验。
第一,坚持用户体验为先。坚持用户体验为先,就是产品要为用户提供核心价值。
第二,提高语言理解的鲁棒性和领域扩展性。
第三,大力发展机器阅读理解能力。
第四,打造让机器持续学习能力。
第五,打造数据闭环,用数据驱动效果的持续提升。
目前的人工智能领域仍然处在弱人工智能阶段,特别是从感知到认知领域需要提升的空间还非常大。智能对话交互在专有领域已经可以与实际场景紧密结合并产生巨大价值,尤其在智能客服领域(如阿里巴巴的小蜜)。随着人工智能技术的不断发展,未来智能对话交互领域的发展还将会有不断的提升。