作者 | 宋双永 王超 陈海青
前言
人机对话一直是自然语言处理领域内的重要研究方向之一,近年来随着人机交互技术的进步,对话系统正逐渐走向实际应用。其中,智能客服系统受到了很多企业尤其是中大型企业的广泛关注。智能客服系统旨在解决传统客服模式需要大量人力的状况,在节约人力的同时,使得人工客服在针对特别问题或者特别用户时能够提供更高质量的服务,从而实现“智能客服 + 人工客服”在服务效率和服务质量两个维度上的整体提升。近年来,许多中大型公司都已经构建了自己的智能客服体系,例如富士通的 FRAP、京东的 JIMI 和阿里巴巴的 AliMe 等。
智能客服系统的构建需要依托于行业数据背景,并基于海量知识处理和自然语言理解等相关技术。初代智能客服系统主要面对业务内容,针对高频的业务问题进行回复解决,此过程依赖于业务专家对高频业务问题答案的准确整理,主要的技术点在于精准的用户问题和知识点之间的文本匹配能力。新型的智能客服系统将服务范围定义为泛业务场景,除了解决处理核心的高频业务问题,智能导购能力、障碍预测能力、智能语聊能力、生活助理功能以及生活娱乐交互等方面的需求也同样被重视和涵盖。其中,情感能力做为类人能力的重要体现,已经在智能客服系统的各个维度的场景中被实际应用,并且对系统类人能力的提升起到了至关重要的作用。
智能客服系统中情感分析技术架构
图 1 给出了经典的人机结合的智能客服模式,用户能够通过对话的方式,接受来自机器人或者人工客服的服务,并且在接受机器人服务的过程中,能够利用指令的方式或者机器人自动识别的方式跳转到人工客服。在上述的完整客服模式中,情感分析技术已经被实际应用在多个维度的能力之上。
用户情感检测
- 用户情感检测模型介绍
用户情感检测是很多情感相关应用的基础和核心。在本文中,我们提出一种集成词语义特征、多元词组语义特征和句子级语义特征的情感分类模型,用于识别智能客服系统用户对话中包含的“着急”、“气愤”和“感谢”等情感。关于不同层次语义特征的抽取技术,相关工作中已经多有提及,我们将不同层次的语义特征结合到一起,能够有效提升最终的情绪识别效果。图 2 给出了该情感分类模型的架构图。
- 句子级语义特征抽取
Shen 等人[3]提出 SWEM 模型,该模型将简单的池化策略应用于词嵌入向量,实现句子级别的语义特征抽取,并且基于此类特征进行训练得到的分类模型和文本匹配模型能够得到与经典的卷积神经网络类模型和循环神经网络类模型几乎持平的实验效果。
在我们的模型中,我们利用 SWEM 模型的特征抽取能力,获取用户问题的句子级别语义特征,并将其用于对用户问题的情感分类模型中。
- 多元词组语义特征抽取
传统的 CNN 模型在很多情况下被用于抽取 n 元词组语义特征,其中 n 是一个变量,表示卷积窗口大小。在本文中,我们根据经验将 n 分别设置为 2、3 和 4,并且针对每一种窗口大小,我们分别设置 16个 卷积核,以用于从原始的词向量矩阵中抽取丰富的 n 元词组语义信息。
- 词级别语义特征抽取
我们利用 LEAM 模型 [1] 抽取词级别的语义特征。LEAM 模型同时将词语和类别标签进行同维度语义空间的嵌入式表示,并且基于该表示进行文本分类任务的实现。LEAM 利用类别标签的表示,增加了词语和标签之间的语义交互,以此达到对词级别语义信息更深层次的考虑。图 3(2)中给出了类别标签和词语之间的语义交互的图示,并且给出了 LEAM 模型与传统模型之间的对比。
最后,不同级别的语义特征会在被合并在一起之后,输入到整个模型的最后一层,由逻辑回归模型进行最终的分类训练。
表 1 中给出了我们提出的集成式模型和三个只考虑单个层次特征的对比模型之间的线上真实评测效果对比结果。
用户情感安抚
- 用户情绪安抚整体框架介绍
本文中提出的用户情绪安抚框架包括离线部分和在线部分,如图 4 所示。
- 离线部分
首先需要对用户的情绪进行识别。此处我们选取了需要安抚的用户常见的七种情绪进行识别,它们是害怕、辱骂、失望、委屈、着急、气愤和感谢。
其次,我们对用户问题中包含的主题内容进行识别,此处由专门的业务专家总结了用户常见的 35 种主题表达内容,包括“抱怨服务质量”和“反馈物流太慢”等。主题识别模型,我们使用与情绪识别同样的分类模型设计。
知识构建是针对一些用户表达内容更具体的情况,整理其中高频出现的并且需要进行安抚的用户问题。这些具体的用户问题之所以没有合并到上述的主题维度进行统一处理,是因为主题维度的处理还是相对粗粒度一些,我们希望针对这些高频的更聚焦的问题,同样进行更聚焦的安抚回复,实现更好的回复效果。
针对情绪维度、“情绪 + 主题”维度和高频用户问题维度,业务专家分别整理了不同粒度的安抚回复话术。特别地,在高频用户问题维度,我们将每一个“问题 - 回复”搭配称为一条知识。
- 在线部分
基于知识的安抚是针对带有具体情绪内容表达的用户进行安抚,在此我们使用了一种文本匹配模型来评价用户问题与我们整理好的知识中的问题的匹配度。如果在我们整理好的知识中存在与当前用户输入问题意思非常相近的问题,则对应的回复直接返回给用户。
基于情绪和主题的情感回复,是指同时考虑用户表达内容中包含的情绪和主题信息,给予用户合适的情感回复。相比于基于知识的安抚,此种方式的回复会更加的泛化一些。
基于情绪类别的情感回复,是只考虑用户表达内容中的情绪因素而对用户进行相应的安抚回复。此回复方式是上述两种回复方式的补充和兜底,同时回复的内容也会更加的通用。
图 5 给出了在线情感安抚的三个示例,分别对应上述的三种不同层面的回复机制。
表 2 给出了针对需要安抚情感的分类模型效果对比,包括每种情感类别的单独效果以及最终的整体效果。表 3 给出了针对主题的分类模型效果对比。表 4 给出了针对几种负面情感,增加了情绪安抚之后,用户满意度的提升效果。表 5 给出了针对感激这种情感,增加了情绪安抚之后,用户满意度的提升效果。
情感生成式语聊
- 情感生成式语聊模型
图 6 中给出了智能客服系统中的情感生成式语聊的模型图。图中,source RNN 起到了编码器的作用,将源序列s映射为一个中间语义向量 C,而 target RNN 作为解码器,则能够根据语义编码 C 以及我们设定的情绪表示 E 和主题表示 T,解码得到目标序列 y。此处的 s 和 y,分别对应图中由词语序列组成的“今天心情很好”和“好开心呀!”两个句子。
通常,为了使解码器能够保留来自编码器的信息,编码器的最后一个状态将作为初始状态传递给解码器。同时,编码器和解码器往往使用不同的 RNN 网络用以捕获问句和回复句不同的表达模式。具体的计算公式如下:
虽然基于 Seq2Seq 的对话生成模型取得了不错的效果,但是在实际应用中模型很容易生成安全但是无意义的回复。原因在于该模型中的解码器仅仅接收到编码器最后的一个状态输出 C,这种机制对处理长期依赖效果不佳,因为解码器的状态记忆随着新词的不断生成会逐渐减弱甚至丢失源序列的信息。缓解这个问题的一个有效方式是引入注意力机制[2]。
在引入注意力机制的 Seq2Seq 框架中,最后解码器的输出层根据输入预测出单词的概率为:
训练过程的目标函数与预测过程中的搜索策略与传统 RNN 一致,此处不再赘述。
- 情感生成式语聊模型结果
模型训练完成之后,在真实的用户问题上进行测试,结果由业务专家进行检查,最终的答案合格率约为 72%。另外,回复文本的平均长度为 8.8 个字,非常符合阿里小蜜语聊场景中对回复长度的需求。表 6 中给出了本文模型 AET(Attention-based emotional & topical Seq2Seq model)与传统 Seq2Seq 模型的效果对比。对比主要集中在内容合格率以及回复长度两个方面。添加了情绪信息之后,回复内容较之传统 seq2seq 模型会更为丰富,而符合用研分析的“5 - 20字”最佳机器人语聊回复长度的内容占比也会大幅增加,最终使得整体的回复合格率提升明显。
图 7 中给出了阿里小蜜情绪生成式语聊模型在小蜜空间中的应用示例。图中两个答案均由情绪生成式模型给出,并且,对于用户辱骂机器人太傻的用户输入,我们的模型可以根据设置的对应合理的话题和情绪,产生不同的答案,丰富了答案的多样性,图中两个答案,则是由“委屈”和“抱歉”两个情绪产生。
客服服务质检
- 客服服务质量问题定义
本文所说的客服服务质检是针对人工客服在和客户对话的过程中可能出现的存在问题的服务内容进行检测,从而更好地发现客服人员在服务过程中存在的问题并协助客服人员进行改进,达到提高客服服务质量,最终提高客户满意度效果。据作者所知,目前还没有公开实现的针对客服系统中客服服务质量检测的人工智能相关算法模型。
与人机对话不同,人工客服和客户的对话并不是一问一答形式,而是客户和客服分别能够连续输入多句文本。我们的目标是检测每一句客服的话术内容是否包含“消极”或者“态度差”两种服务质量问题。
- 客服服务质检模型
为了检测一句客户话术的服务质量,我们需要考虑其上下文内容,包括用户问题和客服话术。我们考虑的特征包括文本长度、说话人角色和文本内容。其中,针对文本内容,除了利用 SWEM 模型对待检测的当前客服话术进行特征抽取,我们还对上下文中的每轮话术进行情绪检测,发现用户情绪类别和客服情绪类别作为模型特征,而此处使用的情绪识别模型也如第 2 章中所述一致,亦不再赘述。此外,我们还考虑了两种结构(图 8 中模型 1 和图 9 中模型 2)对基于上下文内容的文本序列语义特征进行抽取。
其中,模型 1 在对当前客服话术及其上下文每句文本进行基于 GRU 或 LSTM 的编码之后,针对编码结果,考虑利用正向和反向 GRU 或者 LSTM 分别对当前待检测客服话术的上文和下文的编码结果进行再次的序列化编码,如此得到的两个序列化编码结果均是以当前话术为尾句,能够更好的体现当前话术的语义信息。模型结构如图 8 所示。
另外,模型 2 将当前客服话术及其上下文的编码结果,再次按照前后顺序进行整体的正向 GRU 或 LSTM 编码作为最终的语义特征。模型结构的部分展示如图 9 所示。模型 1 与模型 2 相比,模型1会更加凸显当前待检测话术的语义信息,而模型 2 则更加多得体现整体上下文的序列化语义信息。
- 客服服务质检实验结果
我们比较两种上下文语义信息抽取模型的效果,表7中给出了对比结果,结果显示模型 1 的效果要优于模型 2,可见对于当前待检测话术的语义信息确实需要给予更多的权重,而上下文的语义信息可以起到辅助识别的作用。此外,之前提到的 GRU 或者 LSTM 两种方法在实际的模型训练过程中,效果差别不大,但是 GRU 方法要比 LSTM 方法在速度上更快一些,因此所有的模型实验过程中均使用了 GRU 方法。
此外,区别于模型层面的指标分析,我们针对模型在实际的系统层面的指标也进行了相应的分析,包括了质检效率以及召回率两个维度。这两个指标,我们是以模型的结果与之前纯人工质检的结果进行对比得到。如表 8 中所示,不管是质检效率还是质检的召回率都得到了非常大的提升。其中,人工质检的召回率比较低的原因,是因为人工不可能检测所有的客服服务记录。
会话满意度预估
- 会话满意度
目前在智能客服系统的性能评估指标中,有一项最为重要的指标为用户会话满意度。而针对智能客服系统中的用户会话满意度自动预估的工作,据作者所知还没有相关的研究成果。
针对智能客服系统中的会话满意度预估场景,我们提出了会话满意度分析模型,可以更好的反应当前用户对智能客服的满意度程度。由于不同用户存在评价标准差异,会存在大量会话内容、会话答案来源、会话情绪信息完全相同的情况下情绪类别不一致的情况。因此我们采用了两种模型训练方式:第一种是训练模型拟合情绪类别(满意、一般、不满意)的分类模型,另一种是训练模型拟合会话情绪分布的回归模型,最后对两种方式效果做了对比。
- 会话满意度特征选取
会话满意度模型考虑了各种维度信息:语义信息(用户话术)、情绪信息(通过情感检测模型获取)、答案来源信息(回复当前话术的答案来源)。
语义信息是用户与智能客服交流过程中所表达的内容信息,它可以从用户话术中较好反应用户当前满意状况。我们在模型中使用的语义信息是指会话中的多轮话术信息,在模型处理过程中,为了保证每次模型能够处理相同轮次的话术,我们实验中只使用会话中最后4句用户话术,选择此种方式的原因是通过会话数据分析,用户在会话即将结束时的语义信息与整体会话满意程度更为相关。比如,用户在会话结尾时表达感激之类的话术基本表示满意,而表达批评之类的话术则很可能表示了对服务的不满。
情绪信息一般在用户满意度方面起着非常大的参考作用,当用户出现愤怒、辱骂等极端情绪时,用户反馈不满意的概率会极大。此处的情绪信息与语义信息中的话术一一对应,对选取的几轮话术分别进行情绪识别,获取对应的情绪类别信息。
答案来源信息可以很好的反应用户遇到何种问题,由于不同的答案来源代表着不同业务场景,不同场景问题产生的用户满意度状况差异性比较明显。比如,投诉、维权类会比咨询类更容易导致用户不满意。
- 会话满意度模型
在本文中,我们提出了结合语义信息特征、情绪信息特征和答案来源信息特征的会话满意度预估模型。模型充分考虑了会话中的语义信息,并且使用了数据压缩的方式将情绪信息和答案来源信息进行了充分表达。模型结构如图 10 所示。
语义特征抽取。语义信息抽取方式使用层次 GRU/LSTM,第一层获取每句话的句子表示(图 10 中 first layer GRU/LSTM 部分),第二层根据第一层句子表示结果获得多轮用户话术的高阶表示。
(图 10 中 second layer GRU/LSTM 部分),此处充分利用了用户话术的序列信息。除此之外,还将获取最后一句话的 SWEM 句子特征,以增强最后一句话术语义特征的影响。
情绪特征抽取:由于获取的情绪特征是 one-hot 类型,而 one-hot 缺点比较明显,数据稀疏且无法表示情绪间直接关系。此处我们学习一个情绪 embedding,来更好的表达情绪特征。
答案来源特征抽取:初始答案来源特征同样为 one-hot 特征,但由于答案的来源有 50多种,导致数据非常稀疏,因此需要进行特征压缩,此处同样使用了 embedding 学习方式,来表示答案来源特征。
模型预测层:分别尝试了满意度类别预测和满意度分布预测,前者预测属于分类模型,后者属于回归模型。
- 会话满意度预估实验结果
实验结果如图 11 中所示。从实验结果来看分类模型满意度预估效果较差,平均比实际用户反馈高了 4 个百分点以上,回归模型可以很好的拟合用户反馈结果,而且减小了小样本结果的震荡,符合预期。如表 9 中所示,回归模型的均值与用户真实反馈的结果的差值仅为 0.007,而方差则比之前减小了三分之一,证明了回归模型的有效性。
总结
本文总结了目前智能客服系统中情感分析能力的一些实际应用场景以及相应的模型介绍和效果展示。虽然情感分析能力已经渗透到了智能客服系统人机对话过程的各个环节中,但是目前也只能算是一个良好尝试的开始,其在智能客服系统的类人能力构建进程中还需要发挥更大的作用。