浅析携程智能客服机器人实现

转载 原文 携程度假智能客服机器人背后是这么玩的 @ 2019-11-07

在原文基础上有所改动:投资回报一节选自另外一篇携程公开文章;本文机器人客服,智能客服,聊天机器人,机器人助手代表相同含义。

背景

随着人工智能的发展,基于自然语言对话的人机交互技术愈发成熟,应用场景也越来越多。智能客服是聊天机器人在客服领域的一个应用,服务于客人以及相关的客服人员。本文将介绍聊天机器人在旅游场景下的主要技术和应用。

当前度假的聊天机器人主要用于C端(客户端)面向客人,以及客服端辅助客服的两个角色。

面向客服端的是智能客服助手,用于对话窗口的侧边栏,提示客服人员当前客人问题的答案,客服人员可视情况来采纳;而面向C端的智能客服则是直接服务于客人,回答客人问题。

在这里插入图片描述

智能客服分类

智能客服又分为单轮问答的QA Bot和多轮对话的Task Bot,在携程的旅游场景下,以多轮对话的Task Bot居多。一般多轮对话的智能客服系统会切分为以下几个模块:客人的问题(Query)进来后首先经过NLU模块抽象化为客人的意图(intent)以及关键信息槽位(slot),意图及槽位传给DM模块后,经过DST、DPL、NLG模块返回答案。

• NLU(Nature Language Understand 自然语言理解),通过模型或规则的方式获取客人的意图和槽位;

• DST(Dialog State Tracking 对话状态追踪)存储对话状态,包括每一轮对话的意图以及已经抽取到的槽位信息、历史机器人的行为;

• DPL(Dialogue Policy Learning对话策略选取),DPL根据DST传输的内容决策机器人在该轮的行为。

在这里插入图片描述

自然语言理解技术

自然语言理解技术,NLU模块,也成为语义理解。其基础功能是获取客人的问题的意图及槽位信息,在业务比较复杂的场景,相对应客人可能问的问题维度也会很复杂。如果答案涉及的条件很多的情况,往往单轮的QA无法很好的解决客人问题。因此在度假业务的场景下,多轮次的Task Bot会占大多数。

错别字纠正

原始语句中难免会出现错字,错字可能会改变最终输出的答案。在识别意图之前首先通过纠错模块对错别字进行纠正。

在这里插入图片描述

兼容速度和准确率考虑,纠正分为规则部分和模型部分,度假业务中涉及到的地点比较多,在规则部分就能够覆盖大部分错别字的情况。模型部分首先会经过一个CRF模型输出字级别存在错误的可能性,生成候选集后,通过语言模型计算候选集句子的置信度,重排序得到最终纠正的结果。

在这里插入图片描述

  • 检查错误模型McM_c,主要使用了五种特征向量连接后进入Bi-LSTM-ATT-CRF模型,得到对每个字是否错误的判断。

  • 语言模型MlM_l计算候选集替换为该字的情况在语言模型内的得分,文本转为特征向量后经两层向前和后向前的Transformer,最后全连接计算softmax。

意图识别

意图实质上是对客人问题的抽象化,比如常见的客人问及“这个产品多少钱?”,可转换为“询问价格”意图。而在直接服务客人的C端上,对回答答案准确率有较高的要求,高质量的服务背后首先是高准确率,而且通常在设计意图前期会存在意图训练语料不足的问题,因此一个高准确率并且弱监督的意图识别模型非常重要。

意图识别模型

在这里插入图片描述
意图识别模型整体采用上图的类似matching network框架,每个意图会有一个类别表示lil_i,新的query经计算获得其句向量qjq_j,通过计算和每个类别的相似度得到该客人问题的意图。

当前的意图识别模型,相比于传统的文本分类模型,准确率更高,标注量更少,同时更方便迁移到多意图的情景。

在训练阶段,共有已知C个类别,每个类别N个样本,语句 {Sij}i=1,C,j=1N\{S_{ij}\}_i=1,\dots C,j=1\dots N 经特征向量经过Bi-LSTM层后再通过Transformer-Attention把一句话映射为一条向量 eije_{ij},最后经胶囊网络获得每个类别的类别向量 lil_i。每个训练语句 vjv_j 得到句向量 qjq_j 后,再通过Bilinear-Function-Sigmoid计算 qjq_jlil_i 的相似度得分,最后采用二分类的对数似然损失函数计算损失。

模糊意图的处理

我们研究表明,客人在和机器人对话及与人对话的时候一些行为习惯是不同的。在面对机器人的时候,客人倾向于把机器人作为一个“搜索引擎”,常常输入关键词来获得回答,但关键词的信息不完整,通过模型或模板都无法返回切合的意图。针对于此,我们采用了“联想问”和“猜你想问”的功能来引导客人的提问方式。

• 联想问

客人在聊天输入栏输入问题的同时,显示相关的一些问题以供客人点选,由于是实时显示,对速度的要求较高,这里我们使用的是检索算法计算文本相似度。

我们会为每一个意图人工设置一些用户常问问题,当用户输入的时候,我们会用文本相似度的算法,算出和用户输入最接近的三个常问问题,提示给用户供其选择。

• 猜你想问

对于“猜你想问”功能,主要是处理问句过短的语义不明的情况。举个例子,在签证领域,客人会输入“照片”,而和照片相关的意图有“是否需要照片”、“照片要求”、“照片尺寸大小”等等能够涉及到的十几个意图。在触发“猜你想问”后,会返回4个最关联的问题供客人点选。

在使用“猜你想问”和“联想问”的机制后,可以引导部分客人的用户输入习惯,提升单轮次下信息输入的完整性及纯净度。

发现新意图

一个新业务线设计意图的时候,不可能把所有会出现的意图都理清楚,而是循序渐进,逐步增加。业务人员本身对业务的熟悉程度可提供新业务线的意图大框架,在小细节上难免存在漏缺,或是因为实时政策的变化产生的新问题。

比如说,在今年六月份大陆禁止发放台湾自由行签证,这段时间就新产生了很多类似于“已办的台湾签证是否还可使用”、“是否还能办台湾G签证”等这些新的客户问题。

层次聚类

在这里插入图片描述
我们采用的是对原始问题聚类的方法,把相似句聚集在一起。经过数据预处理后,生成句向量,第一层使用高斯混合得到一个初步的聚类结果,再通过规则判断是否需要再进行一次聚类,随后在第二层使用OPTICS聚类。

在用算法发现意图后,并不会即刻投入使用,而是业务做重审确定,整体上新意图的定位在于辅助业务对意图体系的完善。

槽位抽取

在Task Bot中,槽位信息抽取主要是服务于检索答案。比如签证一个常见问题“办签条件”,需要确定客人的办签国家、户口所在地、居住地等信息后才能给出最终回答。

有时客人的问题中直接会涉及相关槽位,目前槽位抽取采用的是规则+模型的方式。在实际应用中,规则能够覆盖70%的情况,剩下的则由模型来负责。

在度假业务里需抽取的槽位词有一个明显的层次关系,比如地点-送签地、地点-办签国家、职业-在职、职业-自由职业等,在模型的设计上会先抽第一层,第二层才是对最终结果的二级识别,通过多任务的学习,实际上每一层的任务是在对特征进行自动抽取。

在这里插入图片描述
大型的语言模型,比如说今年大热的BERT,在很多NLP任务中大放光彩。在这个词槽抽取任务中,语句中会先经过BERT得到字向量 bib_i 后,第一层经Bi-LSTM-CRF模型得到第一类的结果 rir_i 以及Bi-LSTM的编码结果 ei1e_i^1rir_i 会映射为对应的类向量lil_i ,经lil_iei1e_i^1bib_i连接后进入第二层Bi-LSTM-CRF后得到最终的词槽。在加入语言模型后,对于语料比较少以及地点比较多的情况提升会比较大,尤其是一些语料中没出现过的地点,加入语言模型后也能识别出来。

对话管理系统

对话管理系统模块主要负责对话状态追踪DST(每轮意图、槽位的存储)、对话策略选取DPL(反问或给出答案)、答案生成NLG。在这部分接收NLU识别的意图和槽位结果,DST把对话状态信息发送给DPL,DPL根据知识库中的规则返回机器人在下一轮的决策(回答问题、反问或其它操作)。

在这里插入图片描述

智能客服平台

在整体上,智能客服业务和技术的部分是解耦的。业务相关信息的设定和操作都是通过智能客服平台,包括不同业务线的意图和词槽的设定、答案配置、数据审核、测试、标注等。新建一条业务线的智能客服应用,只需要在平台上新建项目,输入设定的意图、对应的语料、必要的槽位和对应的答案。

在这里插入图片描述

此外,平台上的答案配置也很灵活,可以是固定回答,可以是知识图谱的schema,可以是外部的接口,或是随不同词槽设定的回复等等。

结语

以上是度假人机交互的主要技术和成果,目前我们已经完成了一个智能客服项目落地的闭环,其中还有很多内容可以持续完善,比如多轮的意图识别、更多主动对话的探索等等。

未来的智能客服机器人将往多模态和多语言方向发展,支持语音和图像等模态的解析,支持英法日韩等多国的语言。智能客服还将提供主动服务模式、人机协同模式、群聊功能等多种模式。此外,采用大规模挖掘和生产的方式降低人工标注成本也是未来的主要方向之一。

作者简介

雷蕾,携程度假研发部资深算法工程师,负责智能客服算法工作。

鞠剑勋,携程度假研发部算法经理,负责智能客服、知识图谱、NLP算法等工作。

投资回报 / RoI

Return on Investment (ROI)

以下内容来源参考资料,并不在原文内。

从最初的电话客服起家,到如今运用“客服机器人”技术提升运营的自动化率,携程旅游目前机器人处理的业务已占机票预订总量的近40%,且还在不断提升。

携程联合创始人、董事局主席兼CEO梁建章7日表示,技术革新促进运营效率提升。与传统电话客服相比,利用智能化的系统效率最高可提升10倍以上。 这也成为携程网业务量逐年增加,服务成本却得到有效控制的关键。

最新财报显示,今年第二季度携程净营收达44亿元,比上一年同期增长75%,归属于携程股东的净利润为5700万元。携程是业内唯一保持盈利的在线旅游企业。

携程机票事业部负责人介绍,相当比例的来电用户是为了查询订单、比较价格、咨询政策等,这些都有标准答案和快速解决途径。2014年末,携程升级了“在线客服”功能,推出智能“客服机器人”,24小时为用户快速解决基础性查询需求。

经过持续完善,携程智能客服系统的识别功能不断丰富,基本覆盖了机票预订服务中的所有场景。客服机器人的使用大大提升了服务效率。据统计,一位技能熟练的人工客服每日的服务量约70至90单,如果改为客服机器人每天可处理1000单左右。

参考资料

  1. 携程AI平台及客服机器人-携程于磊

  2. 携程“客服机器人”大幅提升旅游企业运营效率

Hai Liang Wang 深度学习 算法 自然语言处理
Chatopera 联合创始人 & CEO,运营聊天机器人平台 https://bot.chatopera.com,让聊天机器人上线!2012年开始从事业务流程云,业务流程引擎开发,2015年开始探索聊天机器人的商业应用,实现基于自然语言交互的流程引擎、语音识别、自然语言理解,2018年出版《智能问答与深度学习》一书。
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值