免费下载案例集|20+数字化领先企业人才培养实践经验 了解详情
写点什么

智能客服系统在机票售后的应用实践

  • 2019-11-18
  • 本文字数:3931 字

    阅读完需:约 13 分钟

智能客服系统在机票售后的应用实践

引言

客户(用户)的需求不能得到切实有效的满足往往是导致企业客户(用户)流失的最关键因素,所以很多企业都会成立客服团队来解答客户(用户)的各类问题以提升满意度。传统的客服服务无论是对用户、客服还是企业来说都有很多弊端(见图 1 )。因此智能客服系统也就应运而生,它成为人工智能(AI)重要落地应用之一。



(图 1.客服行业面临的痛点)


智能客服系统是建立在大规模知识处理、自然语言理解、知识管理、自动问答、推理等技术之上,通过大幅度降低人力成本以及提供人性化服务来优化用户体验。智能客服不仅为企业提供了细粒度知识管理技术,还为企业与海量用户之间的沟通建立了一种基于自然语言的快捷有效的技术手段,同时还能够为企业提供精细化管理所需的统计分析信息。


去哪儿机票事业部有一个庞大且专业的客服团队,业务涉及售前、售后。服务形式有文字客服(Chat)和电话客服。因为机票的业务场景非常复杂,虽然我们的客服工作已经很高效,但也存在着一些问题,例如:航变时业务量暴增导致用户等待时间过长等问题。


我们本着“提升服务质量,节约服务成本”的目的,推进“智能客服”这一项目,使用 AI 赋能客服在机票售后业务中做了一些创新和尝试。



(图 2.智能客服的关键点是成本和质量)

机票客服需要“智能”

日志中问题分布分析

我们通过一组数据说话,根据机票积累下来的客服聊天日志,我们发现用户的基本问题和业务问题的占比大约为 3:7,工单的平均对话轮数约为 13 轮,不同业务长短分布有所不同,简单咨询类业务较短,类似行程单等复杂业务会超过 20 轮,在极端情况下部分业务处理比较棘手,长度甚至超过 100 轮。


那么客服在解决业务问题的对话中都在做什么呢:20% 是业务相关的核心问题,剩余 80% 都是闲聊,此“闲聊”不是彼“闲聊”,除了日常寒暄之外还包含对业务涉及信息的问询以及对用户情绪的安抚与调整。可以说客服都是熟读各类百科全书的聊天超人,见图 3。



(图 3.日志中问题分布情况)

客服日常工作模式

人工智能最主要的是让“人工”变得“智能”,所以了解业务人员平时的工作模式是很关键的。根据调研,客服平时的工作模式是根据问题类型的不同而采取不同的解决方案,见图 4。



(图 4.客服平时针对不同问题类型使用不同的解决方案)


机票业务极其复杂,用户需求涉及出、退、改等十余个业务场景,每个场景下又能衍生出几十甚至上百个业务意图。以出票场景(见图 5)为例,用户诉求既会涉及到购票类型、支付手段、出票进度等咨询类问题,也会有诸如修改信息、申请购票等操作类型问题。得到这些诉求的解决方案需要根据订单状态、航司政策、用户主观原因等多种因素做出判断,这要求客服有极强的业务素养与信息获取能力。



(图 5.出票场景下的业务意图举例)


业务问题之外,客服同样会面对一些琐碎的日常问题。例如托运规则、天气咨询、乘机注意事项等。对于高频的日常问题,每个客服都会手动积累和维护一个文档,日积月累再加上互相交流,渐渐的就成了一个小型文本知识库,这在一定程度上提升了客服的工作效率。

“智能客服”的应用场景

我们在人工客服场景与机器自助场景都进行了智能化的尝试。在人工客服中通过“客服助手”辅助客服与用户沟通。客服助手中的推荐可以分为两类,一类是业务问题,遇到退票、出票、改签等的业务问题,比如图 6 中的申请退票。我们会通过意图识别确认用户诉求,然后基于业务知识库梳理业务逻辑,根据用户当时的订单状态生成相对应的退票规则,生成合理的业务答案,推送给客服。另一类是非业务问题,我们会通过搜索匹配的方式在基本问答知识库中进行检索,搜寻合适的答案反馈给客服。如果客服觉得可以采纳,轻轻一点,话术就推送给用户了。项目推进到现在我们的客服助手在每天发生的会话中有 90% 以上的会话会出现答案推送,消息维度的推荐覆盖率为 60% 以上。意图识别准确率 90% 以上,答案准确率也达到了 70%。



(图 6.客服助手的产品形式举例)


在线客服小驼机器人中,我们也做了很多交互体验上的优化。原始的小驼机器人解决用户问题的流程是用户描述自己的问题后,小驼会给用户推荐相关的业务标签,用户通过点选的形式来进行确认,进入相应的业务流程。现在通过意图识别接口和点击反馈模型优化现有的标签推荐功能后,线上标签推荐指标绝对提高了 28%。同时我们提供“精准答案”的产品方式,不需要用户点选操作,提升用户使用体验。


除此之外我们也在协助客服分单,电话客服等多个场景进行了其他尝试,在此不再逐一介绍。

“智能客服”的技术实现

智能客服中包含一套完整的对话逻辑控制系统。图 7 中是智能客服控制逻辑的核心结构,首先通过 query 理解模块对用户输入进行预处理和意图识别,预处理包含 query 清洗、命名实体识别、query 改写、向量化等操作。当确定用户 query 为闲聊(基本问答)时,通过 QA 知识库检索的形式搜索合适的答案。当确定用户 query 包含业务意图时,则进入对话管理模块。模块中通过对话上文信息与当前槽位填充情况确定新的对话状态,最后通过业务知识库生成合适的备选答案。



(图 7.智能客服控制逻辑流程)


下面分别介绍解决基本问答与业务问答的思路与方案。

基本问答

智能客服能够回答用户基本问题的前提是它具备相关的知识,这些知识是客服在经验和交流中积累起来的,我们就通过历史日志来挖掘这些知识。知识挖掘涉及的技术较多,我们通过训练语言模型进行问题质量判别、使用 textRank 提取语料中的领域词,通过句向量相似性,答案相似性以及检索策略扩大有效问答对的召回。考虑到篇幅长度,具体细节考虑在之后的挖掘专题文章中再详谈。使用挖掘得到的基本问答 QA 对进行检索推荐服务,见图 8。



(图 8.问答检索框架)


为了提升推荐服务效果,我们在 Query 理解模块做了很多前期工作,通过收集与挖掘我们积累了多个基础词库,同义词库协助 query 改写,领域词与英文专属词词库能够提升切词的准确率,通过海量日志数据学习词权重,引入了正排索引的同时,使用 word2vec 的向量相似度进一步修正计算结果。现在我们尝试新的预训练模型计算 query 相似度,通过 ES+bert 的形式升级现有的问答检索框架。

意图识别

在项目初期,考虑到模型迭代效率与样本规模,智能客服一直采用 fasttext 作为主要的意图识别模型。但随着项目进展,类别种类膨胀,样本语料数量低且质量差的问题逐渐凸显出来。Google 推出的 bert 预训练模型很好的帮忙解决了我们的痛点。它支持在少样本情况下微调模型,使模型能够支持识别 200+ 的意图,在语料质量有保证的情况下,准确率会非常理想。


Bert 也有一些明显的缺点,模型庞大,微调需要设备资源,我们通过一些简单的策略在一定程度上降低了模型迭代的成本。在 Bert 模型输出预测结果的同时我们使用模型的副产物(词向量)作为 SVM 模型的输入,来给当前输出意图做进一步细分。这样就可以在仅调整 SVM 的情况下根据实际 badcase 快速的迭代模型。



(图 9. 意图识别模型框架)


模型迭代至今,线上推荐服务在支持近 200 个意图的情况下的准确率稳定在 91%。



(图 10. 意图识别评测结果)

技术实现方案

在技术实现上智能客服问答推荐系统划分成 4 个模块:


  • 基础服务模块

  • 负责 query 分析、实体识别、意图识别以及 NLP 相关基础服务的实现。

  • 对话控制模块

  • 主要负责对话状态管理以及槽位填充,对其他模块的服务进行封装,对接业务线不同的服务和需求。

  • 对话生成模块

  • 基于现有的业务知识库,通过现有的订单状态与用户意图生成合理的业务答案。

  • 数据管理模块

  • 由于客服助手需要根据用户诉求与客服的输入同时更新对话状态,所以实时更新答案推荐的采纳情况,辅助更新对话策略。



(图 11. 智能客服系统架构)

未来规划

现在智能客服在多个业务场景得到应用,从人人对话到人机对话,从售前到售后。接下来我们会对系统做进一步的完善:


  • 继续优化现有的意图识别体系,打造机票业务知识图谱。同时继续尝试新的深度学习技术,进一步提高现有意图的准召。

  • 提升实体识别、时间提取等技术的准确率,完善多轮对话中的槽位填充逻辑。

  • 不仅在 NLU 方向提供支持,尝试使用历史日志语料结合场景下订单状态,使用模型在 NLG 方面提供支持。

  • 进一步与相关业务解藕,模块化各个功能,提升整个体系的独立性,形成一个专注于 NLP 的技术服务平台。

参考文献

  • Devlin, J., Chang, M., Lee, K., Toutanova, K.: BERT: pre-training of deep bidirectional transformers for language understanding. CoRR abs/1810.04805 (2018). http://arxiv.org/abs/1810.04805

  • McCandless M, Hatcher E, Gospodnetić O. , Lucene in Action , 2010 USA Manning Publications

  • Tomas Mikolov, Kai Chen, Greg Corrado, and Jef-frey Dean. 2013a. Efficient Estimation of WordRepresentations in Vector Space. InICLR Work-shop Papers.

  • Jay Alammar. , 2018 blog, The Illustrated BERT, ELMo, and co. (How NLP Cracked Transfer Learning). https://jalammar.github.io/illustrated-bert/

  • Armand Joulin, Edouard Grave, Piotr Bojanowski, andTomas Mikolov. 2016. Bag of tricks for efficient text classification. arXiv preprint arXiv:1607.01759.


作者介绍


贾自艳,2018 年加入去哪儿网机票大数据团队,主要负责价格预测、搜索优化、智能营销、智能客服、风控等方向。2004 年中科院计算所博士毕业后先后任职于微软亚洲研究院、腾讯等互联网公司,一直从事搜索排序、数据挖掘、智能对话和自然语言处理等相关领域研究工作。


本文转载自公众号 Qunar 技术沙龙(ID:QunarTL)。


原文链接


https://mp.weixin.qq.com/s?__biz=MzA3NDcyMTQyNQ==&mid=2649263110&idx=1&sn=7d0760ad3fa860b89f55ba38adb260d1&chksm=87675df8b010d4eecfdada7bf0bda531000a7429e48078f51ead86b6834cbdabec0b4b42e567&token=2032634643&lang=zh_CN#rd


2019-11-18 08:002660

评论

发布
暂无评论
发现更多内容

插件化框架解读之android系统服务实现原理(五),毕业工作5年被裁

android 程序员 移动开发

教你如何使用Flutter和原生App混合开发,androidstudio项目实战

android 程序员 移动开发

搞Android开发为什么这么难?想哭了!,kotlin中文

android 程序员 移动开发

搞了三年Android开发终于把线程、多线程和线程池全搞懂了,掌握这些核心知识(1)

android 程序员 移动开发

收好这份钉钉和抖音的客户端面经,真的很重要!,ndk开发环境

android 程序员 移动开发

新鲜出炉的Android面试题,确定不来看看吗?还有超详细的答案解析哦

android 程序员 移动开发

文字太多?控件太小?试试 TextView 的新特性 Autosizing 吧

android 程序员 移动开发

最全-BAT-大厂Java和Android面试题整理!为接下来秋招金九银十做准备(聪明人已经收藏了

android 程序员 移动开发

来自程序员的感叹:我怎么就没有阿里,腾讯,安卓内存监控悬浮窗

android 程序员 移动开发

数据结构篇11、映射Map及其三种底层实现,android插件化框架

android 程序员 移动开发

普通程序员,三年成为年薪70w架构师,只因有了这些习惯

android 程序员 移动开发

插件化框架解读之Class文件与Dex文件的结构(一),Android详解

android 程序员 移动开发

揭秘 Android 百万开发被迫转行背后的残酷真相,只是你没找对方向罢了

android 程序员 移动开发

曾经身为一名Android面试官的我,如今去别的公司面试被虐成狗!我也有今天7

android 程序员 移动开发

月薪20+的Android面试都问些什么?,android实战开发记账本app视频

android 程序员 移动开发

无意苦争春,一任群芳妒!看完这份2020年度大厂Android面试总结

android 程序员 移动开发

最新 Android 热门开源项目公布,androidframework开发书籍

android 程序员 移动开发

来自Android菜鸟的思考:普通公司的程序员技术跟大厂的差距在哪?怎样才能达到大厂技术水平

android 程序员 移动开发

最后再说一次!!不要在你的App启动界面设置SingleTask-SingleInstance

android 程序员 移动开发

最新-Android-面试点梳理,我收藏了你呢?,事件分发机制怎么回答

android 程序员 移动开发

插件化框架解读之Android-资源加载机制详解(二),kotlin语法印章类

android 程序员 移动开发

搞了三年Android开发终于把线程、多线程和线程池全搞懂了,掌握这些核心知识

android 程序员 移动开发

收割腾讯等十几个Offer后,揭秘进大厂的秘诀和Android技术面试题汇总!

android 程序员 移动开发

教你如何使用Flutter和原生App混合开发(1),Android开发面试解答之Handler

android 程序员 移动开发

数据结构(三), 弄懂红黑树RBTree(多图警告!!!),帮你突破瓶颈

android 程序员 移动开发

春招结束,腾讯+字节,android移动开发基础案例教程答案

android 程序员 移动开发

插件化库VirtualAPK详解,你头秃都没想到还能这样吧

android 程序员 移动开发

教你如何使用Jetpack绘制天气图,史上最详细!,跨平台app开发框架

android 程序员 移动开发

数据结构篇09、哈希表--简化版HashMap,一线互联网移动架构师360°全方面性能调优

android 程序员 移动开发

文档06-H264解码流程,android实战开发项目阅读器

android 程序员 移动开发

最好用的安卓按钮,含泪狂刷Android基础面试118题

android 程序员 移动开发

智能客服系统在机票售后的应用实践_AI&大模型_贾自艳_InfoQ精选文章