Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

邱陆陆作者

蚂蚁金服MISA:比用户更懂自己的自然语言客服系统

当手机取代了钱包,支付宝甚至比现金更常用,与蚂蚁金服的产品端一同忙碌起来的还有公司的服务端。95188 服务热线就是其中之一。

然而当我们谈起客服电话,想到的仍然是传统的按键菜单(「普通话服务请按 1,for English service please press 2」)和在机械而漫长的语音播报里等待的焦躁。「在过去的统计里,只要用户没转接人工,就算作『问题被自助解决了』,其实在我们看来那不叫『解决』,叫『损耗』。」蚂蚁金服的产品运营专家弈客说。秉承着这样的理念,团队开发了 MISA(Machine Intelligence Service Assistant),一个能够通过识别用户的语音中包含的业务需求来直接进行回应的客服系统,他们称之为「37 摄氏度的自助语音交互」。

在金融业务领域,客户服务涉及许多环节,通过人工智能的技术解决客服问题,为广大用户提供高效、个性化的普惠金融服务,成为金融科技领域非常基础、非常具有挑战性的课题。

最近,在蚂蚁金服发起的「ATEC 蚂蚁开发者大赛——人工智能大赛」上,这支团队在初赛就拿出了来自实际应用场景的 10 万对标注问题集,并开放相关资源与专家指导,邀请人工智能开发者来挑战「问题相似度计算」这一客服领域最基础也最核心的任务。

如今,赛事已经集结了来自全球超过两千支队伍报名,并开启了激烈的准确率打榜竞赛。近日机器之心也有幸探访蚂蚁金服,采访了 MISA 团队中的三位核心成员:人工智能部资深算法专家深空(张家兴)、客户服务及权益保障事业部产品运营专家弈客(于浩淼)以及人工智能部算法专家千瞳(崔恒斌),聊了聊如何利用深度学习算法构建能够「未卜先知」的客服系统。以下内容根据采访实录整理,机器之心对内容作了不改变原意的调整。

MISA 的「成长故事」与「近照」

机器之心:开发 MISA 系统的初衷是什么?

弈客:95188 支付宝服务热线是一个典型的 IVR 场景(Interactive Voice Response,互动式语音应答),作为一个语音渠道,它的业务目标很简单,就是「定位用户的问题,匹配相应解答方案」。一开始,它就是一个传统的按键菜单,后来随着蚂蚁金服业务线的日益增长,按键菜单无法满足业务需求,同时语音识别技术也进入了一个基本可以投入应用的阶段,所以从 16 年初开始,我们和算法工程师一起,尝试找新的解决方法。

最初的想法是让用户描述自己的问题与场景,然后将描述与我们的业务与知识进行一次匹配。后来,我们发现单次匹配也很难做到特别精准,因为用户很难在单次描述里给出全部所需要素,所以就尝试以多轮交互的形式,用一个对话系统来帮助用户补全其描述中缺失的部分。

再后来,我们发现与其让用户完全清楚地描述自己的问题,不如我们率先发问。我们做了大量的市场调研,发现如今市面上的客服系统也基本上以「描述与匹配」模式为主,涉及多轮交互的本身就很少,在多轮基础上发展方向也没有那么明确。因此我们就回到了蚂蚁自身。我们就想,能不能基于用户在提问时所积累的行为特征,以「猜问题」的形式让系统率先发起对话,降低用户的使用难度。相比于「你有什么问题?」,「你是不是想问 XXX 问题?」就要容易回答得多,即使用户回答「不是」,我们的问题也会为他接下来的描述提供一个示例。

如今的 95188 语音服务流程

机器之心:现在 MISA 的系统由哪些部分组成?分别完成什么任务?

深空:MISA 的主要模块有猜问题、问题识别、反问交互三个。「猜问题」是蚂蚁金服在客服领域的首创,是一个利用用户可能与本次致电相关的信息,基于深度学习算法框架构建的问题识别模型。「问题识别」是根据用户的描述定位他可能遇到的问题。「反问交互」是在用户给出的信息不全时,利用「要素拆解和补全」的方式帮助问题识别模块圈定范围,降低问题识别的难度,以反问的形式与用户进行交互。

机器之心: 除了用户转为文本的语音输入外,MISA 的系统还会接收哪些输入?如何分类?

深空:我们将输入分为因子、轨迹、文本三类。因子是由业务方定义的、具有明确含义的特征,例如:过去 24 小时是否有还款行为、过去 24 小时是否发生过转账行为等。因子大约有数百个。轨迹是用户最近的 120 个「行为」组成的时间序列,其中一个行为指对远程服务器发生一次请求。行为的种类超过一万种。文本是用户的描述以文本形式表达;在「猜问题」环节,文本指用户的历史描述,在正常的「问题识别」环节,文本即把本次电话里用户对问题的语音描述转换成文本。文本是一个长度各不相同,甚至可能空缺的输入。

机器之心:作为一个以识别为主要目的的系统,MISA 会将用户的问题匹配到多少种类型里?如何给出应答?

弈客:需要匹配的问题类型的具体数字随着业务上线与下线会有浮动,规模大约在「数千」这个量级。

大框架上,应答可以分为三类。第一类,如果用户的问题很简单,能用一两句话说清楚,我们就以播报的形式输出。比如之前余额宝一个业务的产品方案进行了调整,从不限转入金额到每天最多只能转入两万。这时候当用户转入出错前来咨询,我们就会以播报形式把业务调整通知给用户。第二类,如果方案需要用户在某一个产品页面进行操作与交互,我们就会把相应页面在用户的 app 里拉起来。用户挂掉电话打开 app,就能看到解决方案页面的推送,点开就可以完成操作了。最后一类,我们判断相对复杂的问题,就转接人工小二处理。

机器之心:一位用户平均需要与系统进行多少轮对话能够定位到自己的问题呢?

弈客:一开始系统能力还没有那么强的时候,我们把最多对话轮数设置为 4 轮,如果 4 轮对话之后用户的问题仍然没有得到解决,就转交人工客服。通过不断的优化,现在用户的平均对话轮数不超过两轮,大概在 1.8-1.9 左右。

客服系统是怎样炼成的:模型选择、评估与优化

机器之心:在处理自然语言文本时,用到了哪些深度学习模型?

千瞳:我们首先用自己预训练的词向量对文本进行表示,然后分别用到了卷积神经网络(CNN)和以 LSTM 为基本单位的循环神经网络(RNN)对文本进行处理。

卷积神经网络中,模型对由词向量组成的文本做一维单层卷积池化,形成一个向量,RNN 则把文本视为一个序列,处理后也得到一个向量,最后,将两个向量相加,得到一个代表本段文本的新向量,然后与代表因子和轨迹的向量加在一起,进行分类。

机器之心:为什么同时采用 CNN 和 RNN?

千瞳:两种模型提取特征的能力不同。CNN 的能力在于提取关键词。RNN 更善于捕捉序列关系。

机器之心:分类模型与问题识别模块的关系是?

千瞳:问题识别模型是由多个子模型+融合模型的形式组织的。分类模型只是其中一种子模型,除此之外,还有搜索、意图树等多个结构化子模型。不同模型的输出格式也各不相同,分类模型返回不同类别的可能性打分,而意图树可能只返回某一个最可能的类别。在子模型各自进行问题识别后,我们会通过一个 GBDT 的模型,对前四个模型的结果进行融合。在融合模型阶段,我们取每一个模型的 top1 输出,根据标注数据来选择输出可能性最高的那个模型的结果。

机器之心:反问交互是如何实现的?

弈客:如今一百通电话里,有三十通会率先通过猜问题的形式对用户进行发问。如果没有猜中,就要思考如何在较短的轮数内摸清用户的需求。用户的大多数问题都能够以「业务、框架、类型」三要素方式进行拆分。例如「花呗不能还款」,「花呗」就是涉及的业务,问题的核心动词「还款」就是框架,「失败」是导致用户提问的诉求类型。有超过一千个用户问题都可以被拆解成三要素的形式,其中包括一百多类业务、不到一百类框架和不超过十种问题类型。

三要素拆分方式的方式能够帮助快速缩小识别范围。用户在描述中,可能不能一次把三要素都描述清楚,但是如果给出了某部分要素,比如用户说「我要还款」,就给出了框架「还款」和类型「如何」,这时我们就可以就缺失的「业务」要素进行反问,比如,「您是要进行花呗还款、借呗还款还是信用卡还款?」

千瞳:从技术的角度上来讲,我们在构建了语义要素库之后,是可以实现 zero-shot 的问题识别的。即,不需要见到特定的要素组合的训练样本,只要在其他训练样本中见过单独的要素在其他场景下出现,一样可以识别这个要素组合,对应到相应问题。

另外,我们也构建了多任务学习的框架。三要素识别任务的目标是非常类似的,都可以看做是多分类问题多任务学习让不同任务间的数据可以共享。虽然每一个单独的任务都有足够的数据,但是不同任务间目标会让特征提取各有侧重,提高模型效果。相比单模型,识别准确率可以提升 7 个百分点。

机器之心:如何评估匹配的精确程度?这些评估是否会反过来影响模型的优化?

千瞳:匹配的评估指标有多个层级,第一个是 CTR(Click Through Rate),比如在「猜问题」阶段,用户会确认系统猜的是不是他的问题。第二个是分流的准确率,如果分配到人工还有小二派单准确率,最后是问题解决率。

至于用户的评估如何影响模型优化,一言以蔽之,用户的反馈就是模型的训练数据,系统自己能形成一个闭环迭代体系。MISA 的大部分模型一周迭代两次。

关于比赛:客服领域里的相似度计算

机器之心:比赛中的「判断两句话是否为同义句」任务和利用分类法进行问题识别任务之间的关系是什么?

深空:当我们拿到一个用户的自然语言问句,想判断它是知识库里的哪一类问题时,通常有两种做法:一是做分类,也就是上面讲到的问题识别;还有一种做法就是判断同义句,给出每一类问题的几条例句后,当一个新的问句出现,就计算新问句与每一条例句之间的相似度。

相比于识别,同义句是一类相对昂贵但具有重大意义的做法。对于许多拿不到丰富数据的场景来说,训练分类器变得不可能,而搜集例句、计算相似度相较之下更为可行和合适。

基于相似度计算的分类算法对于数据的需求要灵活得多,可以根据数据的情况分层次安排:有的方法可以不需要训练数据,基于规则来做;有的方法可以基于领域无关的、有公开语料的通用数据进行训练;当然,如果提供领域相关的数据,可以让相似度计算得更好,就像我们这次提供的数据这样。

从工程的角度来讲,这种一开始对训练数据依赖较小的办法,有利于工程师按部就班把一个问题解决掉。

机器之心:选择判断同义句作为本次大赛赛题的原因都有哪些?

深空:第一,在将用户的问句分类的场景下,相似度计算是一种基础而实用的做法。在客服领域里,大多数应用场景仍然是缺少数据的。第二,问题的相似度计算在其他场景下也有广泛的应用,例如,在「挖掘用户常见问题」任务里,就要对用户问句进行聚类,将每一类常见问题归为一类。聚类的基础就是计算每两个问句之间的相似度。还有许多其他类似的应用。总而言之,相似度计算是客服大领域中非常基础、非常核心的一个问题。

这次比赛的重点就是鼓励选手找到好的相似度计算方法。本次我们在初赛就提供了 10 万条数据。作为对比,现在的相似度计算比赛中最大的公开数据集大概在 1 万条左右。但是我们不强制选手使用提供的数据,完全不基于数据或者引入外部数据的做法都是被允许的,希望选手们不拘一格,找到最好的相似度计算方法。

机器之心:是否会考虑将比赛中出现的做法投入到实际生产中?

千瞳:这是肯定的。蚂蚁的业务发展非常快,因此在设计算法的过程中会遇到很多现实的问题:比如用户描述口语化、描述多样性、纠错以长句问题等等,都需要相似度计算方法去解决,我们自己也在进行大量相似度计算方面的探索,希望能够和选手们一起,找到最合适的方法。

产业蚂蚁金服阿里巴巴金融
相关数据
英特尔机构

英特尔(NASDAQ: INTC)是全球半导体行业的引领者,以计算和通信技术奠定全球创新基石,塑造以数据为中心的未来。我们通过精尖制造的专长,帮助保护、驱动和连接数十亿设备以及智能互联世界的基础设施 —— 从云、网络到边缘设备以及它们之间的一切,并帮助解决世界上最艰巨的问题和挑战。

http://www.intel.cn/
相关技术
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

卷积技术

知识库技术

知识库是用于知识管理的一种特殊的数据库,以便于有关领域知识的采集、整理以及提取。知识库中的知识源于领域专家,它是求解问题所需领域知识的集合,包括基本事实、规则和其它有关信息。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

多任务学习技术

推荐文章
暂无评论
暂无评论~