前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >干货 | 为了给你更好的体验,携程做了个“一站式”客服机器人

干货 | 为了给你更好的体验,携程做了个“一站式”客服机器人

作者头像
携程技术
发布2020-06-24 10:31:54
6990
发布2020-06-24 10:31:54
举报
文章被收录于专栏:携程技术携程技术

作者简介

经纬,从事客服机器人的算法研发工作,专注于nlp领域的算法研究和应用,喜欢数据和场景驱动的算法研发。

携程作为综合性的OTA,其覆盖的业务线很广,包括机票、酒店、火车票、景点门票、汽车票、租车、打车等。携程的客服体系也是根据业务线来构建的,归属于各个业务线的客服只能为客人提供该业务线的咨询。然而一次旅行涉及到的往往是全方位的资源调度,携程也致力于为用户提供“一站式”的服务体验,需要用户把旅行中的问题找到相应的业务线去咨询显然不是最优的实践。图1展现了目前用户在向客服咨询时需要先找到相关业务线的场景。

随着我们团队在各个业务线的咨询中引入机器人客服来辅助人工,并且成熟度越来越高,我们有了更进一步的计划,即在携程App推出“一站式”的机器人客服,能够让用户在单一的入口中解决一次旅行可能涉及到的方方面面的问题。

本文将首先对比目前用户咨询问题的入口与“一站式”客服入口的异同点,从而引出建立“一站式”的客服机器人的重要性以及面临的挑战,然后结合具体的案例讲述我们机器人的完整架构,并详述其中自然语言理解部分(NLU)的算法。

图1 售前咨询的各业务线入口

一、各业务线咨询入口与一站式客服入口

我们先从一个泛业务线咨询的例子来看各业务线的咨询入口与一站式客服咨询入口的区别。在图2中,携程用户因为私人事务取消了一次旅行,导致了机票和酒店等产品的退订。图2的左半部分,用户从机票的订单详情页进入到了咨询流程,咨询了机票的退款进度,随后又咨询酒店的退款进度。然而由于在机票的客服入口无论是人工客服还是机器人客服,都只具备机票产品的客服技能,面对用户咨询的酒店问题只能建议用户进行跳转。图2的右半部分,用户在一站式客服的入口进行咨询,就可以在单一的入口完成完整的咨询流程。

图2 机票订单详情页入口与一站式客服入口

机票订单详情页入口的机器人客服,只能回答本业务线的问题,对于跨业务线的问题只能提供转接服务;一站式客服入口的机器人客服,拥有解答全业务线问题的能力。

我们再来看一个酒店咨询和推荐混合需求的例子,在图3中,用户浏览某家酒店后,针对该酒店是否有游泳池的问题进行咨询,得知酒店没有游泳池后希望能在附近的区域内找到一家有游泳池的酒店。图3的左半部分是用户通过酒店详情页进入到咨询入口后的服务流程,由于该入口限定了所有的咨询都只能针对这家特定的酒店,因此对于用户的推荐类需求只能选择转接人工。图3的右半部分是用户在“一站式”客服入口得到的服务流程,“一站式”客服兼具了咨询和推荐的功能。

图3 酒店详情页入口与一站式客服入口

酒店详情页入口的机器人,情境被限制在某一家特定的酒店,只能提供该酒店相关的信息类问答;一站式客服入口可以灵活地提供酒店信息、酒店预订、推荐类功能。

综上,我们可以看到“一站式”客服相比于目前已有的各业务线的咨询入口,具有两个明显的优势。

第一,“一站式”客服拥有全业务线的知识,可以为用户提供一次旅行中全方位的客服支持,而不需要用户进入各个业务线咨询相应的问题。

第二,“一站式”客服拥有除了咨询技能以外的更多技能,比如推荐、预订等,为用户带来更便捷的“一站式”体验,另外也为企业创造了精准营销的可能性。

二、“一站式”客服机器人架构

我们在第一部分中看到“一站式”客服机器人相比于目前的客服体系有着很大的优势,但同时也存在着巨大的挑战。

由于用户进入“一站式”客服入口时,不同于各业务线的咨询入口带有明确的情境,我们需要通过自然语言理解的算法来获知用户的服务需求。另外,“一站式”客服入口具有的众多技能也需要在合适的时候被激活,因此我们需要一个对话管理的模块来控制这些技能的激活,同时对话管理模块也会与自然语言理解模块共同使用,更精准地解析用户的真实需求。

图4是“一站式”客服机器人在算法端的完整架构,服务端的接口调用以及前端的展现逻辑在该架构中省略。自然语言理解的模块主要包含三个子模块,领域分类、意图分类以及槽位解析,该模块的结果输出到对话管理模块。对话管理模块更新当前的对话状态,并根据解析出的用户意图选择合适的机器回复。最终的回复生成模块负责调用各类问答、推荐以及技能类服务,并使用自然语言对用户的需求做出回复。

图4 一站式客服机器人算法端架构

在对“一站式”客服机器人的架构有了初步的了解后,我们再重新回顾第一部分的两个例子。

在图5中用户进入该入口并发起咨询,“我取消了机票订单但还没收到退款”,自然语言理解模块解析出领域为机票,意图为机票领域的问答。对话管理模块选择机票问答对应的Action,调用机票业务线的业务常见问题服务(FAQ)回答用户的问题。用户的需求得到满足后,进一步地咨询酒店的退款,自然语言理解模块识别到用户的意图为酒店领域的问答,对话管理模块选择酒店问答对应的Action,调用酒店业务线的业务常见问题服务(FAQ),从而满足了用户完整的服务需求,达到“一站式”客服的目标。

图5 一站式客服机器人完成用户跨业务线的服务需求

我们再看图6的另一个例子,用户在酒店预订的过程中咨询某家酒店是否有游泳池,自然语言理解模块解析出用户的意图是酒店领域的问答,并且解析出酒店和酒店设施的槽位,对话管理模块填入酒店和酒店设施的槽位,并请求酒店的KBQA服务,获知该酒店无游泳池。用户进一步询问附近是否有其他的酒店是有游泳池的,自然语言理解模块解析出用户意图是酒店领域下的推荐,并且解析出酒店设施的槽位。对话管理模块更新酒店设施的槽位,并把中心地标和酒店设施带入接口,查询满足相应条件的酒店。

图6 一站式客服机器人完成用户酒店咨询和酒店推荐的需求

三、自然语言理解算法

我们在第一部分描述了建立“一站式”客服机器人的动机,并对比了其与目前各业务线咨询入口的异同点。在第二部分,我们给出了“一站式”客服机器人的算法端架构,并结合两个例子具体描述了其工作流程。从机器人的架构来看,自然语言理解是其中的第一步,也是非常重要的一个模块。只有正确的理解了用户Query的含义,机器人才能通过对话管理和自身具备的各项技能来服务用户。

自然语言理解模块对用户Query的解析主要包括两个部分,意图识别和槽位解析,其中意图识别又被细分为领域分类和领域下的意图分类,主要使用分类算法,槽位解析主要使用实体识别和实体链接的一些算法。在此我们着重介绍意图识别中使用到的分类算法。

考虑到我们的场景下领域和意图有着级联的关系,即每个意图都是某个领域下的一种意图,因此我们在设计算法时充分体现了这种级联性的关系。如图7所示,我们使用词表把用户的输入转换成one-hot的形式,通过Embedding层转换为连续型的向量,这里用户的输入可以是字级别或词级别的,也可以将字级别的结果通过CNN或Highway Network的方式与词级别的Embedding结合。

然后我们使用LSTM或GRU的RNN类序列表征层学习序列的表征。通过一个全连接层以及softmax激活函数,得到领域的预测结果。领域的预测结果一方面会与真实的领域标签作为损失函数的一部分,另外也会与一个随机初始化的领域Embedding矩阵进行点乘操作,得到句子相关的领域向量。该领域向量与之前的序列表征共同构成意图分类的输入,我们使用另一个LSTM或GRU的RNN类序列表征层来进一步表达序列,再次引入领域向量对序列结果做Attention操作得到最终的句子表征。通过一个全连接层以及softmax激活函数,得到意图的预测结果。

图7 领域及意图分类算法

在我们的实验过程中,Embedding层的各种方法区别不显著,我们尝试方法包括词级别Embedding、字级别Embedding以及字级别的CNN结合词级别共同作为Embedding;序列表征层的各种方法区别不显著,包括GRU、LSTM以及Self-Attention层。而得到最终表征层时,基于领域向量的Attention操作相比于CNN的特征抽取方法以及对RNN输出的隐向量做max-pooling的方法有显著提升,分类准确率绝对提升约1.5%-2%。级联性的意图分类方法相比于平铺的意图分类方法有显著提升,分类准确率绝对提升约2%-3%。我们认为这种方法能带来提升的原因在于,其先预测较为简单的领域标签,再使用领域的信息辅助预测意图,类似于curriculum learning的思想,从易到难的过程能使得模型更好地学习。

我们在离线数据集的训练集上训练模型,在开发集上进行调参,调参优化后的模型在测试集上进行评测。测试集的领域级别分类准确率在90%左右,意图级别的分类准确率在87%左右,模型达到上线的可用标准。

四、结语

在本文我们向读者描绘了携程的“一站式”客服机器人愿景,并提出了其优势与挑战。我们使用了自然语言理解和对话管理结合的算法端架构,使得“一站式”的客服机器人得以落地。

未来,我们会从多个角度持续优化,包括更精细化的自然语言理解、更准确的意图分类和槽位解析模型、可容错的对话管理流程、更丰富的知识库、更好的意图扩展性等,希望能藉此打造一个智能的一站式客服机器人,与各业务线的客服人员一起更好地服务携程用户。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 携程技术中心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档