title: 对话系统之智能客服
subtitle: 对话系统之智能客服
date: 2021-10-31
author: NSX
catalog: true
tags:
- 对话系统
- 智能客服


本文简述对话系统的组成和逻辑,以及如何应用于智能客服。

主要包括如下内容:

  • 一、对话系统的定义
  • 二、对话系统的概述
  • 三、对话系统工作流程
  • 四、对话系统核心技术
  • 五、 AI智能客服介绍

一、对话系统的定义

智能对话系统是可通过语音识别、自然语言理解、机器学习等人工智能技术,使机器理解人类语言并与人类进行有效沟通, 进而根据对人类语言中的意图进行理解并执行相应任务或做出回答的系统。智能对话系统可加载于智能硬件,基于对话交互满足智能硬件的操作控制需求,使人机交互更加自然;智能对话系统也可赋能于服务场景,以文本机器人、语音机器人、 多模态数字人、智能质检和坐席辅助等对话机器人产品形式服务于客服、营销、企业信息服务等场景。

2021-10-31-✨对话系统→智能客服 - 图1

二、对话系统的概述

首先,对话系统的一些基本概念进行介绍:

对话系统调研报告

  • 对话代理人 (Agent):在对话系统内部,你可以简单地将对话代理人理解成机器人。
  • 会话 (Session):是对话代理人与用户之间发生的一次连续对话。
  • 对话策略 (Dialogue policy):在收到用户的发言之后,机器人要决定回复什么内容,这个决定的根据就是系统中设定的对话策略。
  • 意图 (Intent):意图是系统能够识别的最小的用户目的,是系统决策的基本元素之一。只有在识别用户发言背后的含义后,机器人才能决定回复什么。从发言的角度出发,意图约等价于发言中的动词。如「下周我要飞去上海」中的「飞」就是意图。
  • 实体 (Entity):实体可以认为是发言中的名词,如「我想订 7 月 20 日从北京飞到云南的机票」中的「7 月 20 日」、「北京」、「云南」和「机票」对应着时间、出发地、目的地和票据,四者都是实体。
  • 槽位 (Slot):可以想象成去打疫苗时填写的一张表格,表中的每个空就是一个槽位,你填写的内容就是槽位值,这张槽位表格会存储整个会话过程中提取到的所有信息,用于后续对话系统决策的过程中。
  • 动作 (Action):理解用户的意图后,对话代理人除了回复消息外,可能需要帮助用户去做一些动作,如回复消息、查询天气等。

2021-10-31-✨对话系统→智能客服 - 图2

常见的对话系统可分为三类: 聊天型,任务导向型和问答型(如上图):

  • 闲聊型:通常是不关注某项特定任务,它的主要的目标是和人进行开放领域的对话,关注点是生成流畅、合理且自然的回复,以对话轮次为目标。
  • 任务型:通常是帮助用户完成某项任务指令,如查找酒店、查询订单状态、解决用户的退款申请等等。用户的需求通常比较复杂,需要通过多轮交互来不断收集任务所需的必要信息,进而根据信息进行决策,执行不同的动作,最终完成用户的指令。
  • 问答型:侧重于一问一答,即直接根据用户的问题给出精准答案。问答型和任务型最本质的区别在于,系统是否需要维护一个用户目标状态的表示和是否需要一个决策过程来完成任务

一般来说,对于非任务导向型对话系统,目前用的主要是两种主要方法:

  • 检索式:主要思路是从对话语料库中找出与输入语句最匹配的回复,这些回复通常是预先存储的数据。优点:问答是可控的、不会出现语言结构错乱的问题;缺点:需要更多的精力去维护问答知识库,同时也会存在意图识别不准,问东答西的情况。
  • 生成式:主要思路是基于深度学习的Encoder-Decoder架构,例如序列到序列模型(seq2seq),从大量语料中习得语言能力,根据问题内容及相关实时状态信息直接生成回答话术。优点:灵活、更像人;缺点:容易出现语言结构混乱、语无伦次看不懂的回复。

一图总结如下:
2021-10-31-✨对话系统→智能客服 - 图3

三、对话机器人工作流程

对话流程:用户说话,对话系统的语音识别器(ASR)将输入转为文本,文本由自然语言理解组件(NLU)进行语义理解,接着对话管理器(DM)分析语义信息,保持对话的历史与状态,并管理对话的一般流程;自然语言生成器(NLG)根据对话管理器的对话策略生成对话的文本,最后文本通过语音合成器(TTS)渲染输出;

image.png

四、对话机器人核心技术

对话系统调研报告 2021中国对话式AI行业发展白皮书.pdf

对话系统的关键是要让计算机“理解”并“生成”自然语言,主要涉及到NLP的三大核心任务:

自然语言处理

自然语言处理可分为自然语言理解、对话管理、自然语言生成三个部分,其关键是要让计算机“理解”并“生成”自然语言;对于对话机器人来说,如何做好自然语言理解(NLU)中的意图识别,是保证人机交互效果的关键。根据业内专家普遍反馈,目前意图识别的应用效果良好。 虽然对话机器人尚难做到人与人之间的理解程度,但人在知道是在与机器人交互时后,表达会相对标准化,因此意图识别 的实际效果会普遍优于预期。而在情绪的判断与理解上,对话机器人仍有很长一段路要走,这也是未来可给行业带来技术 突破与产品颠覆的方向。
image.png

  1. 自然语言理解(Natural Language Understanding,NLU)

NLU 模块负责从用户的发言中解析出对话中包含的关键信息,如领域、意图、槽位等。在早期的对话系统中,主要依靠基于规则匹配的方式提取信息,而现代对话系统则主要采用统计机器学习模型,基于大量语料训练得到。目前意图识别的应用效果良好。 虽然对话机器人尚难做到人与人之间的理解程度,但人在知道是在与机器人交互时后,表达会相对标准化,因此意图识别 的实际效果会普遍优于预期。而在情绪的判断与理解上,对话机器人仍有很长一段路要走,这也是未来可给行业带来技术 突破与产品颠覆的方向。

  1. 对话管理器(Dialog Management,DM)

DM 模块为对话系统的主体,负责管理当前对话的状态 (State) 和策略 (Policy),其中State包括用户与对话代理人之间的历史聊天记录以及关键信息,Policy是根据状态输出回复的函数。 DM 由两部分构成:

  • 对话状态跟踪(Dialogue State Tracker,DST):接收上文的对话状态以及NLU的输入,更新当前对话的状态,和背后数据库或知识库进行交互,查询满足用户条件的实体;
  • 对话策略学习(Dialogue policy learning,DPL):根据当前对话状态,选择下一步系统需要回复的结构化信息,输出action传递给NLG/TTS模块;
  1. 自然语言生成(Natural Language Generation,NLG)

将机器输出的抽象表达转换为句法合法、语义准确的自然语言句子,以自然语言文本去表达给定的意图。

语音技术

语音识别准确率至关重要,决定后续自然语言理解效果

在对话机器人产品中,智能语音技术主要应用于语音机器人与视频机器人/数字人产品的对话交互,由语音识别(ASR) 与语音合成(TTS)两部分组成。从工作流程来看,用户真人的语音会先通过ASR(语音识别)技术将其转化为文本,再接入NLU(自然语言理解)进一步理解用户意图。因此,智能语音技术中的语音识别准确率至关重要,转换的正确与否直接决定了后续自然语言处理的效果。现阶段,语音识别的效果与成熟度已达到了相对先进的水平,对话式AI厂商正从 VAD静默检测、ASR声学模型与ASR语言模型三部分入手,对应突破各部分的技术难点,以进一步提升语音识别的准确率。

image.png

知识工程技术

1) FAQ检索型问答: 深度神经网络推动FAQ知识库精细匹配
FAQ,全称为Frequently Asked Questions(常见问题集的问答系统),作为基础发展的问答系统,被对话机器人厂商广 泛使用。FAQ Based知识库的建立方法为基于业务文档资料整理标准问题、相似问题与其相应答案。当问题输入后,系统会在知识库内查询与之相匹配的问句并输出对应回答。由于中文含义的丰富性,传统文本匹配方法(信息检索中的BM25, 向量空间模型VSM)通常很难直接根据关键字匹配或者基于机器学习的浅层模型来确定问题的相似度。近几年,利用神经网络,尤其是深度学习模型学习文本中深层的语义特征,对文本做语义表示后进行语义匹配的方法被应用于FAQ问答系统。 基于深度学习的模型可大量节省人工提取特征所需的人力物力。此外,相比于传统方法,深度文本匹配模型可从大量样本中自动学习文本之间的内在规律和表示层次,使FAQ知识库的文本匹配更加精细。

image.png

2) 知识图谱: 深化事物规则联系,建立结构化知识库
基于知识库内容间存在关联,或为上下位关系、约束关系、递进关系等,由此在知识库的概念下引入知识图谱技术。基于自然语言理解对文字内容在语义上进行初步认知和自动抓取,经由知识图谱对概念间的关系属性进行联结、转换,进行知识融合与知识加工形成行业知识图谱。行业知识图谱可分为通用知识与垂直行业知识图谱: 通用知识图谱注重横向广度, 知识积累和问答应用相对通识广泛;垂直行业知识图谱注重纵向深度,考虑到不同的应用场景与业务背景,通常需要以大量一线行业数据去“喂养”对话机器人,实现基础词库储备,并对垂直行业知识图谱进行持续深化。

image.png

3) 文档问答: 基于机器阅读理解直接提取答案生成回复
文档问答是基于机器阅读理解直接从非结构化文档中提取答案的方法。近年来基于深度神经网络的机器阅读理解 ( Machine Reading Comprehension,MRC ) 技术得到快速发展。MRC模型以问题和文档为输入,通过阅读文档内容来预测问题的答案。根据需要预测的答案形式不同,阅读理解任务可以分为填空式 、多项选择式 、片段抽取式和自由文本式,由前到后的预测难度逐步提升。

image.png

五、AI智能客服介绍

智能客服是什么

智能客服背后的技术主要是以对话交互技术为核心,它能让大部分简单的问题得以快速自助解决,让复杂问题有机会被人工高效解决。

image.png

用户的沟通对象可能有两个,除了跟机器人沟通外,还可能跟人工沟通。机器人的能力主要包括问题推荐、问题理解、对话管理以及答案供给。

目前,衡量机器人能力好坏的评价一般有外在和内在的评价指标,外在指标指的是我们业务可见的一些指标,比如智能客服的问题解决率(满意率)和转人工率,分别衡量问题解决的好坏,以及能帮人工处理多少问题;内在指标指的是模型算法的一些指标,信息检索常见的评价指标:准确率(precision)、召回率(recall)、F1值等。可根据具体业务场景选取适合的评价指标。而在人工辅助方面,我们提供了话术推荐和会话摘要等能力,核心指标是ATT和ACW的降低,ATT是人工和用户的平均沟通时长,ACW是人工沟通后的其它处理时长。

智能客服——多轮对话

理解了用户意图后,有些问题是可以直接给出答案解决的,而有些问题则需要进一步厘清。机器人对话示例:

image.png

这个例子背后的机器人是怎么工作的呢?首先当用户输入“如何联系骑手”的时候,问题理解模块将它与知识库中的拓展问进行匹配,进而得到对应的标准问即意图“如何联系骑手”(NLU)。然后对话管理模块(DM)根据意图“如何联系骑手”触发相应的任务流程,先查询订单接口,获取骑手电话号码,进而输出对话状态给到答案生成模块,根据模板生成最终结果(NLG),如右边的红框内容所示。在这个过程中涉及到要先有意图体系、定义好Task流程,以及订单的查询接口,这些都是业务强相关的,主要由各业务的运营团队来维护。那么,对话系统要做的是什么呢?一是将用户的输入与意图体系中的标准问进行匹配,二是完成多轮交互里面的调度。

image.png

问题理解是将用户问题与意图体系进行匹配,匹配到的拓展问所对应的标准问即用户意图。机器人的工作过程实际是要做召回和精排两件事情。召回更多地是用现有检索引擎实现,技术上更多地关注精排。

此外,一些场景需要先行确定用户要咨询的是哪个业务,这里的一个任务是“判断用户Query是属于哪个业务”,该任务我们叫做领域识别。若能明确判断领域时,则直接用该领域知识来解答;当不能明确判断时,则还需要多轮对话交互与用户进行澄清。

智能客服——问题推荐

当用户进入服务门户后,机器人首先是要如何引导用户精准地表达需求,这样即可降低用户迷失或者直接转人工服务,也降低了若机器人不能正确理解时带来的多轮澄清等无效交互。

该问题是一个标准的曝光点击问题,它的本质是推荐问题

智能客服——评价体系

你问我答之「智能客服评价体系」 智能对话系统评测标准

image.png

从客户层面来讲,不论是智能客服还是人工客服,最核心的评测指标都是客户问题的解决率以及客户服务的整体满意度。客户希望自己提出的问题可以尽可能多地被解决,同时客户与客服进行会话的满意度也同样重要。

从运营的层面来讲,企业使用智能客服的一大重要原因就是其可以省去大量人力成本。由智能客服完成解答的问题越多,智能客服的拦截率也就越高,对运营层面来说效果也就越好,因此机器人对用户咨询的拦截率也是需要重点考察的指标。

从技术的层面来讲,意图识别准确率是评测智能客服的最关键指标。为了准确解答用户问题,机器人客服需要有意图识别的能力。当用户咨询时,智能客服需要根据用户的问句以及上下文信息,准确识别出用户的咨询意图是什么,并返回相应的答案。除此以外,为了保证用户体验,还需要借助机器人的情绪识别的能力。拥有高情绪识别率的机器人判断用户的情绪是正向还是负向,用户情绪的负向程度如何等等。这样不仅能够提高客服满意度,还能帮助运营对业务进行分析,如判断其刚上线或刚更新的业务的用户反馈情况。

技术层评价指标(计算公式):

  • 问答准确率是最重要的一个指标了

Accurace=(正确召回数+正确拒绝数)/ 所有测试样本数

  • 召回率:

RecallRate=(正样本中被正确召回数/正样本数)

  • 误触率

FAR(false acceptance rate)=(负样本中被召回数+正样本中被预测到其他意图数)/模型预测为正样本数

  • 多轮对话

完整执行率= x任务被完整执行的次数/x任务的对话总数
进入多轮对话任务后,完整执行率越高,意味着该任务设计越合理,语义准确率也较高
插话占比率(节点)= 某节点插话的数量/任务某节点的交互总数
插话占比越高的节点可以优化其话术

  • 推荐准确率

RecomRate=推荐的内容中包含用户所需要的次数 / 推荐总次数

image.png

附录:对话系统开源框架

ChatterBot ❤❤❤

8K+ star: https://github.com/gunthercox/ChatterBot

ChatterBot是一个Python库,使用一系列机器学习算法来生成不同类型的回答。 (主要是 匹配式

  1. pip install chatterbot

程序通过搜索与输入匹配的最接近的匹配已知语句来选择最接近的匹配响应,然后从选择对该语句的已知响应中选择响应。

rasa ❤❤❤

对话管理:https://www.jianshu.com/p/515385a7c7f0 rasa中文:https://jverson.com/2018/09/11/rasa-nlu/

使用rasa_nlu 理解用户的意图(预定义好) ,纯任务型对话。

  • 意图识别
  • 实体识别

DeepQA
DeepQA项目试图重现神经会话模型的结果(又名谷歌聊天机器人),它采用了RNN(seq2seq模型)判刑预测,使用Python和TensorFlow实现。如果需要自研 闲聊对话系统,可以参考这个。 但是需要大量中文对话数据,在数据来源方面,没有调研。

DeepPavlov❤❤❤❤

3.2K star https://github.com/deepmipt/DeepPavlov 参考:https://zhuanlan.zhihu.com/p/58133705

开源的对话 AI 库,建立在 TensorFlow 和 Keras 上。

参考

美团智能客服核心技术与实践
对话系统的简单综述及应用智能客服
《自然语言处理实践:聊天机器人技术原理与应用》 王昊奋,邵浩 等 著
NLP实践:对话系统技术原理和应用
NLP 算法工程师的学习、成长和实战经验 | 知乎 Live 笔录
回顾·五八同城智能客服系统“帮帮”技术揭秘
58智能客服QABot问答机器人算法实践
大话知识图谱—聊聊智能客服