前段时间,阿里巴巴小蜜情感语聊算法负责人宋双永对外分享了基于小蜜业务场景的智能对话中的情绪回复能力,以及开放域语聊能力的算法研究成果。
而在 7 月 12 日深圳 ArchSummit 全球架构师峰会上,阿里巴巴高级算法专家张佶将分享《多语言阿里小蜜——七步构建跨越语言鸿沟的对话机器人》话题,重点介绍构建多语言对话机器人过程中如何应用 NLP 技术,需要解决哪些问题。(以下为 DataFun 公众号赵文娇整理的文章)
传统的客服模式始于电话客服,会有专业的咨询顾问帮客户解答问题。之后有了在线客服和线上申请,在线客服类似于文字聊天,线上申请是非实时的通讯方式,可以理解为类似留言或者邮件的形式。
在阿里场景下我们对问题进行了区分,将其分成问题咨询和交易纠纷,分别有专门的顾问进行解答。在智能服务模式下,在问题咨询端建立了小蜜这样的产品,小蜜解决不了的复杂问题会转到人工顾问这一端,为用户提供更全面的服务。即便这样,在人工客服一端,也有对应的智能辅助产品,帮助提高人工客服的服务效率,比如检索是否有历史相似答案提供给人工客服,帮助他们快速完成解答。
智能客服能力建立之前,人工服务的能力来自于自营客服、外包客服和云客服。模式升级之后,利用智能服务的能力,形成了平台能力、三方能力、智能人机交互这三种服务模式。服务的对象可以理解为三个层次,其中,阿里是包括指淘宝、天猫、咸鱼、淘票票等阿里巴巴内部产品平台的范围;商家是指依托于阿里巴巴淘宝和天猫等平台之上的外部商家;企业则是指纯粹外部的企业。
如图,最下面这层其实是为小二进行服务的,小二是阿里客服的简称。在上面机器人配置平台这一层是为机器人服务提供一些能力。再往上一层是按照产品进行划分,分成阿里小蜜、店小蜜和企业小蜜。阿里小蜜主要服务阿里内部的淘宝天猫这样平台,店小蜜服务阿里平台上的商家,企业小蜜服务于外部企业。
接下来介绍阿里小蜜在情绪回复能力上的技术发展。情感机器人的两个主要发展方向:
类人:就是情感越像人越好。
多模态:就是情绪的表达其实可以有多少手段,对人而言,可以是语言、表情神态、肢体语言等。
从情感处理能力上来说,可以把机器人分成三类:
第一类是机器人没有情感处理能力。阿里小蜜最开始的版本确实是没有情感处理能力的,只是对高频场景中的问题进行解答,比如用户说我要退货、如何退货、赶紧给我退货,得到的答复都是阿里平台上如何退货的文字描述,但其实第三句是有强烈情绪表达的,但是初期的阿里小蜜没有这样的理解能力;
第二类机器人是有完整的情绪识别能力。目前体现最多的是在一些闲聊场景下,比如小冰,比如在对骂场景下,如果客户骂机器人,机器人虽然没有直接的对骂,机器人也会有婉转的方式,比如 " 180 度反弹 " ,虽然没有直接对骂,但是也表达了对自己辱骂的情绪,这是一种情绪比较完整的机器人;
第三类机器人产品,客服机器人。客户可以骂人,但是人工客服和客服机器人是绝对不能有这种情绪的,辱骂、讽刺、挖苦是机器人绝对不能有的情绪。但是有一些,比如高兴、委屈是机器人可以有的,所以小蜜的定位是部分情绪能力缺失的客服机器人。
从多模态角度来说,阿里小蜜目前只考虑了文本,和少量语音。
情绪回复介绍两个方面,一个是理解情绪,另外一个是表达情绪。
从三个方面进行介绍:服务质量检测,客户情绪安抚和情绪回复生成。
先看客户情绪安抚,针对常见场景,我们不仅仅只是告诉客户一些流程,比如退货流程,还是有一些安抚在里面。然后看右面的情绪回复能力,这个情绪回复能力,和情绪安抚的主要区别是,情绪安抚是业务专家之前预设好的各种答复,但是情绪回复采用纯生成式的模型,用在闲聊场景,内容不是提前配置好的;最左边的服务质量监测,如果从小蜜转到人工客服,小蜜也是继续服务的,针对服务质量不好的时候,会对人工客服做一些警示,就是提示他,注意自己的服务态度。下面针对这三块进行更为详细的介绍。
针对客户情绪安抚分成离线端和在线端。
离线端,从下往上是如下几个离线处理,首先是情绪分类模型,这是整个流程最基本的东西,我们要去识别客户交流过程中体现的情绪;然后是主题分类模型,也就是说我们不仅要识别出情绪,还要知道聊的是哪方面的内容;第三步是知识构建,这里的知识构建应该就是一个问答对,做这一步的原因是,因为情绪分类和主题分类都比较粗,针对一些高频的问题,希望给用户更具体的回复方式。
在线端,其实是一个相反的过程,首先识别用户所说的是不是和之前总结的知识点比较接近,如果有就拿出来进行回答,如果没有就看是否可以归结到某种主题这样的情况上,如果再没有的话,就监测它是不是仅仅是属于一种情绪表达,然后给出更宽泛的情绪安抚。
其中的情绪分类模型:
通过数据分析以及参与常用的情绪字典,我们将情绪划分为 38 类 ( 感激、惊奇、失望、抱歉、期待、疑惑、尴尬、高兴......) ,但是阿里小蜜针对最常用的 7 类 ( 委屈、恐惧、着急、失望、愤怒、辱骂、感谢 ) 模型训练出单独的分类模型,这样对这 7 中情绪分类的更准确。
上面是模型图,最左边的两个 poolling 是在做句子级别的语义特征抽取,这个实际上用的是 swem 算法;中间是 n-gram 多元的特征抽取,用的是 cnn 的模型,我们提取了两元、三元、四元这样的信息形成特征;最右侧的一块是 emotion embedding,用到了 18 年发表一篇文章的思路。
在阿里的场景下,label 就是 emotion,所以这一块叫 emotion embedding,这里将 word embedding 和 emotion embedding 结合起来其实是算某个词在某个 emotion 下面的 attention score,attention 可以理解为权重。这样更直接的体现了词级别的语义特征,整个句子从左到右,就是将词级别的、n-gram 级别的和词语级别的语义信息结合起来,才能获得比较好的语义分类。因为在线端用户打的句子都比较短,用这种方式才能实现比较好的语义识别的结果。
第二部分就是主题分类,我们定义的时候称呼为 " 情绪主题类别 " 。比如阿里小蜜有查天气的功能,并且被高频使用,这部分有没有必要放到这个模块呢?其实没有必要,一般是通过点击按钮引导操作,只是想看看天气,几乎没有情绪表达。而这里提到的模型是用于识别情绪主题类别,从情绪的角度,归结常见的主题,而其它不带情绪的主题是没有归到里面。下面是针对 7 类情绪,做了 35 种情绪主题分类,主题分类架构和刚才的情绪分类的架构一致。
最后,基于知识的安抚,就是看用户说的话是不是和某个知识点很相近,这时候我们就用到匹配回复这样的模型能力,在文本匹配这一块儿可以分成两个功能能力。首先是分成两部分,最左边两块是一部分,最右侧是一部分,最左边的两块是两句话,他们分别在提取特征,最后把特征合并到一起做分类,最右边的部分是把两个句子从一开始就进行交互,把交互的结果,一层层做特征抽取,这相当于一个交互时间点的不同,一个是最后交互,另一个是一开始交互,我们把两种交互抽取特征的结果结合到一起,做一个准确率更高的文本匹配模型,来实现在线匹配问答。
我们只探讨两种服务问题,一种是消极,一种是态度差,消极是指爱搭不理的态度,态度差是指客服虽然给了客服充分的回复,但是态度不好,比如可能有反怼客户,讽刺客户的现象发生。这套服务提供给平台端和商家端,平台端就是比如淘宝,天猫这样阿里自家平台,商家端是商家自己的店铺的客服检测,这是两个不同的模型,因为两种场景在服务质量的要求上存在不同的衡量标准。
在机器人端典型的对话方式是一问一答,而在人工客服端往往出现多问多答的情况,比如客户连着说几句,客服是连着回答几句。这时候我们对客服服务质量进行评价就需要非常关注上下文,并且上下文每句话是谁说的,等等这些信息。
模型如下图,考虑了句子长度、说话人角色,以及内容的语义信息等等特征。
下图是比较通用的语义生成模型,这种传统的生成模型存在的一个问题就是 ’ safe response ’ 的产生,就是很泛泛的一个回复,很少有情感传达在里面,比如好,哦哦,可以这样的回复。
我们的目的是让机器人产生带情绪的回复,另外希望回复更具有针对性一些,而不是全部都是通用的 ’ safe response ',在下面的模型里,除了情绪,我们还可以添加 topic 相关的信息,分析出聊天的主题。下面的例子里,客户说今天心情很好,聊的是生活化的主题,表达的是高兴的情绪,这时候我们生成 ’ 好开心啊 ',回复用户。
针对上述的用户和机器人的情感对应关系,可以进行预设。比如客户在表达高兴的时候,我们也要表达出高兴,用户在辱骂我们的时候,我们要表达出委屈。
未来,我们要做一个 session 满意度预估,这里的 session 就是一个完整的对话,目前是通过人工用研分析,是设计一个调查问卷的形式,随机抽取每天的用户,然后让用户打分,最后的分数就是满意用户的占比。
存在的问题就是:一是耗费人工;二是每天的统计量是不足的,因此会产生每天统计结果比较大的自然震动。
除了阿里小蜜机器人构建话题,会议上还设置了前端、微服务、金融、机器学习算法等架构师感兴趣的专题,邀请 Apple、Google、阿里、腾讯等国内外 30+ 一线大厂的技术专家与大家一起分享各自的实践和经验,点击 阅读原文了解更多,购票请联系灰灰 17326843116
同程艺龙多地域服务网格设计与多环境基础架构实践
Shopee 数据事件中心的设计和实现
基于微服务的混合云和同城双活实践
产品技术如何更好的服务产业互联网