携程基于云的软呼叫中心及客服平台架构实践

标签: dev | 发表时间:2018-12-20 00:00 | 作者:
出处:http://itindex.net/relian

作者简介

 

蒲成,携程云客服平台研发部资深研发经理。2015年底加入携程从事呼叫中心相关产品的研发工作,主导建设了携程呼叫中心智能语音平台、统一配置中心,目前正在努力推进云客服平台的设计研发工作。

本文来自蒲成在“ 2018携程技术峰会”上的分享。


一、背景及设计理念


自携程创立以来,呼叫中心就一直伴随着公司业务一同发展壮大。经过近20年的迭代,目前携程的呼叫中心系统已经演进为第五代呼叫中心系统了,也就是我们完全自主研发的基于FreeSwitch的软交换与IVR、微信Server、邮件系统、无线IM Server的全渠道全媒体客服系统。


那么,基于现有可扩展架构的这套客服系统为携程的客服业务提供了什么样的支撑呢?我们可以从以下几个方面一窥全貌。


  • 多渠道

目前支持传统电话、VOIP电话、IM、微信公众号、邮件等通信渠道的接入。


  • 多地域

目前携程的客服坐席分布在全国及海外各地,其中包括国内的上海、南通、合肥、如皋、信阳,以及海外的爱丁堡、韩国、日本等地。


  • 多业务

本系统目前支撑着携程200多条业务线以及15000+坐席的服务业务落地。


  • 多语种

目前提供中文、英语、日语、韩语、法语、俄语等多语种支持。


  • 海量会话

目前电话日均通话量约100万通以上,而IM会话日均消息量约1000万条以上。


上述场景的背后是一套什么样的架构体系在提供服务支撑呢?我们又为何会选择建设这样一套架构体系呢?后文将给出答案。

       

传统的客服运营通常面临六大痛点,即沟通单一、信息碎片化、智能化程度低、效率低下、移动性不足、成本高昂。在企业发展壮大的过程中,传统的客服运营就逐渐成为制约企业业务发展的瓶颈。有鉴于此,我们研发了一套基于云和容器化的软呼叫中心及客服平台,并且引入了场景化的AI能力,从而在源头上消除了前面所说的六大痛点。


现在,我们的客服系统是这样的:


云客服平台 =  软交换云平台(公有云/私有云)

全渠道座席(Call/Chat/IM/SNS)

全媒体座席 (Voice/Txt/Pic/Video)

多模式(集中/在家/移动)

+  AI 引擎(客服机器人/语义解析…)

+  CRM 、工单系统、知识库

 

二、核心架构


2.1 系统结构


我们先来看看整体的系统结构,如下图所示。



从上图可以看出我们云客服平台的整体链路结构,其中最核心的就是中间的渠道服务和通信分配层,这一层中的每个节点都可按需进行水平扩展,从而支撑未来的业务发展。


通过这一中间层的转换,我们就将上图左侧来自各个渠道的客人服务请求整合为统一的服务请求,并通过右侧的全渠道坐席界面统一分配给客服人员进行服务响应。这样一来,也就实现了多个通信渠道融合的目的。下一节我们来看看其背后的处理逻辑。

 

2.2 逻辑架构



通信渠道由我们自研的各渠道Server构成,其中也包括无线平台研发部所研发的IM Server。坐席所使用的全渠道通信端(XAgent/APP)使用WebSocket协议与这些渠道Server保持通信,同时也使用WebSocket协议与统一通信分配服务保持通信。


其余诸如分配服务、业务数据服务、AI能力服务等,均以微服务API的方式在平台内部暴露。为此,我们搭建了一套名为方塔尖的微服务框架来提供基础设施的支持。


2.3 方塔尖微服务框架



这套框架是基于SpringCloud搭建的,分别采用consul、zuul来实现服务发现和服务路由。此外,在方塔尖中我们还加入了一些功能级服务,比如用户/权限管理、短信验证码、数据加解密、数据访问层封装等等,以便让其上的逻辑层仅关注业务实现即可。

 

2.4 统一分配


下面我们来看看核心的统一通信分配服务的实现,其架构如下:



顾名思义,这个核心组件的目标就是实现各通信渠道的会话统一分配,其核心逻辑如下:



LinkServer是坐席服务端,坐席端通过WebSocket连接到LinkServer。


LinkServer负责维护坐席连接、收发坐席请求和反馈、传递坐席状态。其处理流程如下:



StatusManager是状态管理服务,负责处理LinkServer传递来的坐席状态变化,负责对外提供坐席状态查询。其处理流程如下:



ACD是IM+系统的核心模块,其主要功能是实现客人坐席分配,ACD指令和消息的收发、ACD会话管理等。其处理流程如下:



其中的分配逻辑是基于抽象的业务规则表达式来进行处理的,为此,我们采用了开源的表达式运算器EvalEx,其好处在于:


  • 使用BigDecimal进行计算和返回结果

  • 不依赖于外部库

  • 可以设置精度和舍入模式

  • 支持变量

  • 支持标准布尔和数学运算符

  • 支持标准的基本数学和布尔函数

  • 可以在运行时添加自定义函数和操作符

  • 函数可以用变量数量的参数来定义(参见最小和最大函数)

  • 支持十六进制数字和科学的数字符号

  • 支持函数中的字符串文字

  • 支持隐式乘法,例如(a+b)(a-b)或2(x-y),等于(a+b)*(a-b)或2*(x-y)


基于此,我们提供了一些基础分配逻辑,并且也支持第三方分配逻辑的对接。


  • 上次服务优先

优先分配给上次服务的客服


  • 熟客优先

优先分配给为该客户服务次数最多的客服


  • 均衡分配

按客服工作量平均分配


  • 最闲分配

优先分配给空闲最长时间的客服


  • 指定分配

指定分配给某几个客服


  • 第三方分配

调用第三方接口分配

 

2.5 智能化


人工智能现在很火,但是在人工智能众多细分领域中,其实NLP技术的发展和应用才是人工智能“皇冠上的明珠”,它也是众多AI大厂持续投入的领域。


而就目前的市场环境和技术条件而言, 客服业务的智能化是最有希望落地NLP技术的场景。因此,我们也着力构建了云客服平台的智能化应用框架。该框架结构如下:



其中智能质检和对话机器人是两大重点应用场景,这两个场景的落地能够极大地提升客服业务运营效率并且显著降低运营成本。


对话机器人在我们的客服平台中分为语音机器人和在线IM机器人。语音机器人的服务对象是IVR(交互式语音应答),即电话的呼入呼出IVR场景。其处理流程如下:



在线IM机器人主要对接的是IM、微信等即时通信和社交媒体渠道,从广义上可以理解为我们常见的聊天机器人范畴,只不过在客服系统中,其模型是针对专有业务场景进行训练的。因此,相较于通用聊天机器人,在线IM机器人其实更容易达到比较好的智能交互效果。其整体模块结构如下:



智能质检对于客服运营管理而言是一项非常重要的功能,借助ASR语音转文字的能力,它能将非结构化的音频、文本数据转换成客服运营甚至企业运营统计分析所需的结构化数据,最终形成对业务管理运营的良性反馈闭环。下面两张图分别是我们云客服平台中智能质检的场景顺序图和处理流程图。


 

三、平台级能力输出


客服系统不同面向C端的应用,我们的目标并非寻求用户的长时间驻留。相反,在客服领域,我们希望能够以最快的时间去响应客户的需求,这样才能提升客户满意度并最大限度降低运营成本。所以,我们客服平台的每个模块、每项功能都是围绕这一主旨而设计构建的。


那么,基于前面的核心基础架构和上述考量,我们的客服平台能够对外输出哪些能力呢?


3.1 外呼


外呼通常是呼叫中心会高频使用的业务场景,传统的外呼都是坐席人工发起外呼,费时费力且成本高昂。因此,我们围绕外呼应用研发了四种外呼形态,以满足不同业务场景的需要。这四种外呼形态是,自动外呼、预测外呼、预览外呼和智能外呼。


篇幅所限,就不一一讲解每种形态的具体特性了,但它们的核心都是以自动外呼系统为基础的,其业务处理简图如下:



以此为基础,结合云端基础设施和容器特性,辅以我们自研的各种组件,我们的外呼系统就能提供以下特性:


  • 支持高并发,吞吐能力可扩展

  • 高可靠外呼平台,包含完善的保护机制

  • 支持预测外呼、预约外呼、虚拟坐席外呼

  • 提供智能呼叫算法,提升工作效率

 

3.2 中转


中转即号码埋名,也就是用虚拟号码替换真实号码的功能。这项功能的目的是让通话双方无法获悉对方的真实号码,从而实现隐私保护的目的。



作为该能力的配套,我们开发了配置界面、录音模块,以及对应的查询/统计报表等功能,用户可以基于浏览器操作完成实时的配置生效操作,并浏览话务中转结果。


3.3 VOIP


VOIP也就是大家所熟知的IP网络电话。我们的平台提供了VOIP SDK,方便第三方应用集成,并且自研了音频编解码和动态码率技术,能够满足弱网下的正常语音通信。其特性如下图所示:



3.4 全渠道客服工作台


我们为客服人员提供了一站式全渠道的客服工作台,以便客服人员可以在统一的工作界面中为来自各个渠道的客人需求提供服务响应。其特性如下:


  • 全渠道统一,一站式服务体验

       - 统一电话、网页IM、APPIM、邮件、微信等多个渠道

       - 快速响应用户咨询


  • 全媒体融合,服务形式更丰富

       - 文本、图片、电话、语音、视频等多媒体融合

       - 服务形式多样化


  • 数据整合,一目了然

       - 完整用户信息与服务轨迹记录

       - 提升服务质量



3.5 客户支持


我们的客服平台在核心客服业务能力支持之外还提供了以客户为中心的服务周边配套模块,比如CRM、工单、知识库等。这是为了给客服人员提供更为详尽的客户信息,以期为客户提供全方位的服务支持。


CRM



  • 客户数据管理

      - 完整记录用户数据

      - 用户信息统一管理

      - 提高客户留存率

      - 提升企业获客能力

 

工单



  • 速流转,协同处理

     - 促进企业内外协作,共同处理用户咨询

     - 企业服务更高效

 

知识库


  • 座席服务规范高效     

      - 常用问题

      - 常用语

      - 客服话术标准化


3.6 报表监控


作为客服业务运营的日常管理手段,报表和监控是必不可少的支持方式。我们的客服平台自然也提供了相应的运营报表和监控界面。具体特性如下:


  • 实时报表

      - 多维度、实时展示座席指标数据

      - 可按日、周、月等多条件查询

      - 图表展示方式支持自定义


  • 全面监控预警

     - 系统、服务、座席,全方位监控

     - 可设阈值告警与告警通知


  • 话务预测

        - 智能预测后续话务量

        - 突发事件等因子对话务量的影响预测


 

四、结语


客服平台是异常复杂和庞大的结构化体系平台,要在一篇文章中全面论述其技术体系架构几乎是不可能完成的任务。受篇幅限制,本文仅摘取了部分核心架构和核心模块功能略作阐述。如果读者有兴趣了解更多与我们客服平台有关的信息,欢迎在留言区和我们互动。


2018携程技术峰会PPT和视频可见 这里


【推荐阅读】



 

 

 


相关 [携程 呼叫中心 客服] 推荐:

携程基于云的软呼叫中心及客服平台架构实践

- - IT瘾-dev
  蒲成,携程云客服平台研发部资深研发经理. 2015年底加入携程从事呼叫中心相关产品的研发工作,主导建设了携程呼叫中心智能语音平台、统一配置中心,目前正在努力推进云客服平台的设计研发工作. 本文来自蒲成在“ 2018携程技术峰会”上的分享. 自携程创立以来,呼叫中心就一直伴随着公司业务一同发展壮大.

携程:上万坐席呼叫中心异地双活架构及系统设计

- - 运维派
携程旅行网  通信技术中心高级经理. 拥有十几年的呼叫中心系统建设和运维管理经验,经历了携程呼叫中心系统架构的多次转型设计,使之从单一系统逐步演进到异地冗灾、异地双活,从单品牌到多平台的融合架构设计. 目前负责携程上万座席呼叫中心的产品管理和架构设计工作. 之前,我先拜读了《Google SRE》 这本书的几个章节,我对这些章节中的内容非常认同,特别是基于自动化运维以及故障响应时间的阐述,感同身受.

呼叫中心的组件

- - 行业应用 - ITeye博客
呼叫中心一般均包括这样一些设备:. 自动呼叫分配系统(ACD). 交互式语音应答子系统(IVR) . 计算机电话集成子系统(CTI). 业务数据库系统(DATABASE). 电话(耳机)和座席软件(AGENT) . 局域网(LAN)或广域网( WAN)系统. 辅助功能模块(如VoIP、自动传真、语音信箱、电话会议、邮件服务器、Web服务器等)和开发接口等.

呼叫中心质检的简单梳理

- - CSDN博客推荐文章
按照6W1H思想,简单梳理一下呼叫中心质检工作.  呼叫中心做质检工作的肯定就是质检员了. 规模较大的可能会有质检班组长、质检主管等职位.  呼叫中心质检服务的是整个呼叫中心,统计分析结果汇报给呼叫中心的主管,让主管及时掌握呼叫中心的服务情况,为制定下一步计划提供支撑.. 做这项工作是为了挖掘呼叫中心存在的问题,将问题提前暴露出来,通过培训指导等方式来加以改进.

呼叫中心的进化与发展趋势

- - 行业应用 - ITeye博客
起初,呼叫中心是从旅游服务行业演变而来的,因为该行业拥有中央式的电话预订系统和预订中心. 当第一个大规模、高容量的电话程控交换机诞生后,随之而来的是呼叫中心在银行、目录销售公司以及电话营销公司的应用,并使迅速形成了呼叫中心产业. 如今,在美国你购买的任何一种产品的包装上,都印有1-800电话. 同时,在许多情况下也都印有网站的名称.

自建一个电话呼叫中心要多少钱?

- - idea's blog
我十分看不惯任何行业的潜规则行为. 自建一个电话呼叫中心的报价是多少钱. 我明说吧,自建一个电话呼叫中心,只需要3万元左右,而且还能更省钱. 这个报价是针对小型企业的,也就是广大人民群众. 至于大型企业,它们自己去定制,钱不是问题. 3万元建一个电话呼叫中心,包括什么. 软件是硬件设备上免费赠送的,不要钱.

AI 在携程智能客服的应用

- - IT瘾-geek
作为国内 OTA 的领头羊,携程每天都在服务着成千上万的旅行者. 为了保障旅行者的出行,庞大的携程客服在其中扮演着十分重要的角色. 但在客服的日常工作中,有一部分的行为是重复劳动,这对于客服来说是一种资源浪费. 如何通过算法来提升客服效率成为技术一大挑战. 本场 Chat 将介绍智能算法如何辅助客服工作,并介绍QA问答背后的技术和难题,以及如何用机器学习和深度学习在提升用户体验和客服效率上进行落地.

呼叫中心(Call Center)每接通一个电话的平均成本是多少钱?

- - 知乎每日精选
这个问题有点复杂,主要取决因素大致有以下几点:. 1、人员成本,话务员素质以及所在城市有关. 例如招商银行的VIP客服,都是本科毕业,一些外国航空公司的客户服务都是外语专业的大学生,也有一些呼叫中心的话务员招个技校得就可以了. 在北京、上海、广州、深圳这些地方技校毕业可能都要4000一个月,在三类城市可能2500就可以了.

“携程们”的危机

- - 派代网 - 资讯
今年的在线旅游市场,热度绝对不逊于电子商务的任何一个领域. 继6月份艺龙、芒果网、酷讯网和途牛网等在线旅游网站陆续推出“返利促销”优惠活动之后,在线旅游行业老大携程也加入了这场混战:7月6日,携程宣布投入5亿美元(约合32亿元人民币)开展低价促销,促销活动从7月起持续一年时间,涉及酒店、机票和旅游门票等,并宣称此次促销将“拉开国内在线旅游业以价格战为前奏的洗牌大幕”.

爬取携程信息

- - IT瘾-geek
print("评分为:{}".format(userRating)). print("评论内容为:{}".format(commentText)) '''. 数据库操作 ''' #获取数据库链接 connection = pymysql.connect(host = 'localhost',.