微信号:SSE-TechService

介绍:上海证券交易所为证券公司、基金管理公司等市场参与者及相关行业机构提供交易技术支持与服务,包括日常交易技术支持、技术交流研讨、市场调查反馈、证券信息技术知识库、测试等服务.

【交易技术前沿】证券信息技术智能客服应用研究

2019-06-14 16:11 上交所技术服务


本文选自《交易技术前沿》总第三十四期文章(2019年3月)


王敏慧 张逸 何浩 刘鹤立 / 上交所技术有限责任公司
李蔓林 李银鹰 刘勇 何志平 刘蓓芸 李倩 朱文婷 刘旖旎 / 安信证券股份有限公司

摘要:近几年,以大数据、云计算等为代表的新型信息技术发展迅猛,这些信息技术为人工智能发展提供了丰富的数据资源,协助训练出更智能化的算法模型,促进了人工智能的发展,人工智能进入商业领域。越来越多的专家研讨人工智能在中国证券市场的应用,应用场景可以总结为4大类6大应用:面向客户的智能客服应用;面向运营的智能运营、智能运维应用;面向投资的智能投顾、智能投研应用,以及面向监管的智能风险评估与监管。本文主要研究人工智能在智能客服领域的应用,通过承接上海证券交易所(以下简称“上交所”)联合课题,与上交所一同研究智能客服的应用,对智能客服的应用场景、关键技术、应用方法进行初步分析。
关键词:证券信息技术;智能客服;智能语音导航;在线智能客服

  

一、概述

  目前,世界各国都开始重视人工智能的发展。 2016年5月,美国白宫发表了《为人工智能的未来做好准备》的报告;2016年12月,英国发布了《人工智能:未来决策制定的机遇和影响》;2017年4月,法国出台了《国家人工智能战略》;2017年6月,在天津召开首届世界智能大会,中国工程院院士潘云鹤在大会论坛上发表了主题演讲“中国新一代人工智能”,概括了世界各国研究人工智能的战略。在中国,据不完全统计,2017年运营人工智能公司接近400家,行业巨头百度、腾讯、阿里巴巴等更是不断在人工智能领域发力[ ]。由此可见,人工智能势必会掀起一股热潮,在不久的将来成为国家、企业衡量核心竞争力的指标。
  现阶段,人工智能最擅长处理快速简单重复的问题,这已是科技界的共识。传统的客户服务大多通过电话或QQ、微信等媒介工具与用户取得联系,依靠客服中心的资料库解答客户问题。由于客户服务满足巴莱特定律(二八定律),即百分之八十用户关心的问题或遇到的疑惑是相通的,他们咨询的问题具有重复性。因此将人工智能运用于客服领域,将简单、重复的工作交由智能客服完成,能减少人力投入,提升客服工作的准确度和效率,实现用户与服务提供者的双赢。
  本文就参与上交所联合课题——证券信息技术智能客服应用研究的实践,总结了智能客服在上交所市场技术服务的三个具体应用场景的应用方法。除此之外,本次研究还有更深远的意义:
  (1)智能客服是一项目前发展较为成熟、实用性较强的人工智能技术,在智能客服应用研究中积累的经验能运用到其他人工智能技术的研究中。
  (2)由于智能客服能带来高效益,目前各个领域的企业都在投入成本打造智能客服,金融业也是如此。目前主流的智能机器人学习模式为监督学习,即需对机器人进行语料训练学习。各家券商独立打造智能客服,需分别对行业通用知识进行训练,对整个行业而言,存在资源浪费现象,且过高的开发成本可能对小型券商产生壁垒。上交所作为证券市场的组织者,肩负着规范发展市场、推进市场各项建设的使命,上交所探索智能客服的应用,可将经验和成果在行业共享,有利于智能客服在行业的推广。

  

二、智能客服的应用场景

  

(一)上交所市场技术服务现状

  智能客服应用需结合客服中心的服务现状,有针对性的设计应用场景,对现有服务方式进行完善。目前上交所市场技术服务的服务方式主要有两种:1、网上在线服务;2、技术服务热线,服务模式如下:
1.网上在线服务
  网上在线服务主要通过QQ、微信两种通讯工具展开。QQ服务通过QQ群的方式实现,用户在群内发起咨询,群内的客服进行解答,或采用群内用户与客服建立私聊会话的方式服务。微信服务通过微信公众号实现,用户触发公众号转人工指令后可建立与客服的对话。非人工服务时间则支持通过微信公众号自助查询功能和搜索功能提供技术支持服务。
2.技术服务热线
  技术服务热线采用的传统IVR即互动式语音应答系统,拨打电话进入服务中心后,系统播报语音,用户收听自动语音播报并逐层手动选择菜单编号进入最终节点,导航共有三层菜单。
  

(二)智能客服的具体应用场景

  应用智能客服是为了节省客户服务的人力投入,同时为用户提供优质服务。在梳理上交所市场技术服务的客服现状后,着重分析智能客服的具体应用场景。
1.在线智能客服
  目前网站、微信、QQ和其他APP等互联网服务媒介众多,多数企业有多个在线服务渠道,上交所也是如此,因此我们需要创建一个支持多渠道接入、统一管理的智能机器人。基于自然语言处理、语义分析和理解、深度学习等底层技术,智能机器人对获取到的知识和语料进行学习后,具备一定的逻辑推理、泛化能力,可理解用户自然语言,为用户提供智能、快速、精准的服务。上交所QQ、及微信在线智能客服的应用场景如下:
  (1)QQ智能客服。基于QQ目前的服务模式(在QQ群内咨询或群内用户发起与客服的私聊会话,客服解答),确定QQ智能客服的交互方式:用户在群里艾特智能机器人并提出问题或用户发起与智能机器人的私聊会话时,机器人自动回复用户问题,用户在群里咨询人工客服或发起与人工客服的私聊会话不受影响。
  (2)微信智能客服。用户发起会话,系统识别是否为转人工指令,若不是,则进入智能回复模式,回复中包含转人工服务指示;如遇到机器人无法回复的问题也提示用户转人工服务,用户输入转人工指令后,转至人工客服。
2.智能语音导航
  智能语音导航结合了人工智能领域的自动语音识别技术、语音合成技术,可对接传统IVR系统,实现导航菜单“扁平化”。具体交互方式:用户拨打电话,语音自动播报,用户口述来电意图,导航机器人根据关键词结合来电时间确定最终节点,并将用户带至最终节点;如未判断出相应部门,则转接人工服务处理。智能语音导航能达到简化用户与系统“交流方式”,帮助用户快速直达热线菜单节点,全面提升用户满意度的效果。
  

三、在线智能客服的应用方法

  

(一)智能客服机器人的关键技术

  智能客服机器人采用“搜索+深度学习”的技术方案,技术方案如图1所示:

图1 智能机器人技术方案图

1.搜索方案的四项技术
  (1)N-Gram:捕捉口语化表达中的关键语义信息。
  N-Gram是计算机语言学和概率论范畴内的概念,用来计算一段文本序列在某种语言下出现的概率。我们用了一个简化的N-Gram模型:
  N=1时称为UniGram,N=2称为BiGram,N=3称为TriGram,以此类推。
  举例:“已分红和尚未分红的”,根据分词的不同,它的BiGram依次为:
  P(“已”),P(“已”|“分红”),P(“分红”|“和”),P(“和”|“尚未”),P(“尚未”|“分红”),P(“分红”|“的”)
  P(“已”),P(“已”|“分红”),P(“分红”|“和尚”),P(“和尚”|“未”),P(“未”|“分红”),P(“分红”|“的”)
  可以计算出两种分词方式下句子对应的概率,达到消除歧义,确定正确分词方式的效果。
  因此通过上述公式可以计算所有词语在语料中出现的概率,我们可以实现:
  ①基于一定的语料库,利用N-Gram来预计或者评估一个句子是否合理。
  ②另一方面,可以评估两个字符串之间的差异程度。这是模糊匹配中常用的一种手段。
  此次课题中我们使用N=3来进行训练,即每个词依赖前面2个词的概率。
  (2)专词归一化:服务过程中,存在大量与用户个人信息相关的内容,归一化可以将人名、地址、电话、金额等信息统一到同一维度,减少干扰。
  (3)同义词&词权重:对词语词义进行扩展,删减非重要词汇,将用户的相似表达方式用于意图识别,提高了意图识别的准确性。
  (4)Word2Vec:能够从空间距离的角度计算词语之间的相似度,可以捕捉到弱同义信息。
  Word2Vec是Google在2013年开源的一款工具,可将词表征为实数值,并投影到K维向量空间,这样每个词语都可以用一个K维向量表示,然后将词语的K维词向量作为网络参数的一部分进行训练,通过输入的语料计算语言模型的概率,目的是最大化输入语料的概率,而在训练过程中修正神经网络中的参数,最后得到作为参数的一部分K维词向量。

2.深度学习
  (1)Language Model: 深度学习语言模型能很好的捕捉语义信息。每一个问句进来先通过分词将句子切分成词,然后每个词会被映射为一个多维的语义向量, 也叫词向量。词向量也是一种深度学习模型, 通过大量的语料训练得到, 词向量包含一定的语义信息, 作为深度学习模型的输入。课题设计的深度学习技术方案主要效果不依赖分词、近义词等技术手段,是从整个句子的训练模型角度去命中意图和自学习。
  (2)Classification:分类采用RNN神经网络模型,将用户的问题一步到位映射到每个FAQ上,以概率分布形式,即分类器的形式输出用户意图。每个意图类别对应一个FAQ,需要对每个FAQ进行一定数量的标注,即可进行模型的训练。每个业务的标注场景数量各不相同, 需根据业务的知识库情况进行标注, 上线业务的标注数量从几十到上万不等。
  RNN模型可以处理序列数据,但RNN包含了大量参数,时序维度的梯度消失和梯度爆炸问题难于训练,现有一系列对RNN优化的模型,比如网络结构、求解算法与并行化。近年来双向的RNN网络结构与 LSTM在各个领域有了突破性进展。LSTM是RNN的一种特殊情况,它通过门控机制很好的解决了RNN网络存在的梯度爆炸和梯度消失问题。
  课题研究将这两者采用传统的机器学习模型决策树进行Ranking,将搜索及深度学习的特征进行融合为置信度,置信度表征用户输入与FAQ表示的意图之间的相似程度。
  

(二)智能机器人的语料训练

  由于中文表达形式的多样化,对于同一个业务点用户的问法可能有几十上百种,例如“什么是A股”,可以表述为“A股的定义是什么”、“A股的含义”等。要创建一个理解用户自然语言的机器人,需以一定数量的语料训练作支撑,建立起用户问句与标准FAQ之间的联系。已具有逻辑推理、归纳能力的机器人能学习标注语料的逻辑,当用户采用新问法提问时,机器人也能识别出对应的FAQ,推送正确答案。
  语料训练采用3种方式:常规教育、快速教育、人工干预。常规教育可快速提高机器人泛化能力;快速教育旨在对尾部FAQ添加相似问句改善训练薄弱部分;人工干预适用于对机器人问答错误的问句进行诊断和强干预。训练操作步骤依次为常规教育、快速教育、人工干预。
1.常规教育
  完成的是用户真实问句与知识库标准FAQ的匹配工作,以加强机器人的泛化理解能力。教育方式是“数据标注”,标注数据一般来源于真实用户问句。
2.快速教育
  对教育数据不充分的FAQ添加相似问句,快速完善短板FAQ的过程。相比常规教育,快速教育的特点是有更强的针对性,可以快速提高机器人对新FAQ以及标注数据少的FAQ的泛化能力。
  原则上为保证机器人学习效果,每条FAQ应添加30条以上的语料数据。一般企业的客服知识库的FAQ高达几百上千条,语料添加工作量较大。考虑到人力投入和FAQ使用率(客户咨询问题满足二八定律,即用户咨询问题中80%的问题为知识库中20%的头部问题),课题选择利用标注数据和人工挑选结合的方法确定头部FAQ(咨询量较多的FAQ),按照头部FAQ至少添加30条语料,尾部FAQ至少添加10条语料的原则添加相似问,确保机器人能准确匹配头部FAQ,可解答80%以上用户咨询,非头部FAQ可在日常维护中根据机器人未命中数据逐步完善教育。
3.人工干预
  FAQ的语料过少或添加的语料数据有误时可能导致机器人回答错误,这时,需通过人工干预对回答错误的问句进行诊断,发现机器人回答错误原因,并对错误的知识点进行再教育。若错误回答中的标注数据有误,则将标注数据转移到正确的FAQ中或者直接删除;若应匹配FAQ标注数据太少,则需要适当增加相似问句。
  添加完语料并启动训练后,机器人可基于底层技术模型对添加的语料进行学习。我们可整理用户真实问句或编写测试问句,借助常用的统计方法评价机器人的学习效果。由于机器人会根据推送答案置信度的大小自动选择推送答案的形式,包括直接回答和推荐回答两种,直接回答指机器人对用户问题给出一个答案,推荐回答指机器人对用户问题给出三个推荐问题,用户进一步确认咨询问题后,再给出具体问题的答案。重点关注机器人直接回答率、综合准确率两个指标,并根据指标不停修正模型,完善语料,直至达到预期效果。

  

(三)智能机器人接入微信、QQ

1.智能机器人接入微信
  当前上交所技术服务公众号使用开源WeiPHP框架进行管理,并在框架基础上开发了微客服扩展,接入人工客服进行服务。WeiPHP框架使用关键字进行扩展匹配,当用户触发激活关键字时微客服插件被激活,进入人工客服的服务阶段。构建微信智能客服是在上交所已有微信公众号的基础上,通过引入智能机器人扩展现有公众号的服务能力,当用户输入咨询问题时由智能客服进行回答,如果用户输入转人工指令时,智能客服要让步于人工客服。
  另外,由于机器人会根据推送答案置信度的大小自动选择推送直接回答还是三个推荐回答,针对推荐回答的场景可进行优化,使用Redis作为推荐回答的缓存,用户直接输入推荐回答前面的数字序列,从Redis缓存中解析出用户上一问题的推荐问列表,从中选取对应的问句,并通过智能机器人获取对应的答案反馈用户。
  微信智能客服的核心代码如图2所示:

图2 微信智能客服伪代码

2.智能机器人接入QQ
  采用创建一个QQ角色并与智能机器人对接,基于SMART QQ协议实现QQ的登陆、接收消息和发送消息的方法。为保证用户在QQ的咨询体验和在微信公众号的体验大体一致,我们在开源的基于python的qqbot框架基础上进行扩展,增加了qq-chatbot插件,同时采用和微信公众号智能客服相同的Redis缓存方式,实现了推送推荐问题时直接输入数字进行快速问答的效果。
  qq-chatbot的核心代码如图3所示:

图3 qq-chatbot伪代码

  

四、智能语音导航的应用方法

  

(一)智能语音导航的关键技术

  智能语音导航的关键技术有智能语音识别技术(ASR)、语音合成技术(TTS)。智能语音识别可将用户的语音转化为文字,识别客户来电意图;语音合成可实现机器人与用户交互。目前许多的大型AI技术平台已能提供较为成熟的ASR、TTS技术服务。在课题中,我们直接通过UniMRCP服务对接百度ASR服务和讯飞TTS服务。

  MRCP(Media Resource Control Protocol)是一种媒体资源控制通讯协议,用于媒体资源服务器向用户端提供各种语音服务,目前已定义的媒体资源服务有语音识别(Speech Recognition)、语音合成(Speech Synthesis)、录音(Recording)、说话人鉴别和确认(Speaker Verification and Identification)。MRCP并不定义会话连接,不关心服务器与客户端是如何连接的,MRCP消息使用RTSP、SIP等作为控制协议,目前最新的MRCPv2版本使用SIP控制协议。UniMRCP是开源的MRCP协议的实现名称,我们采用UniMRCP开源框架进行扩展,为了展示MRCP协议的不同版本,语音识别采用的MRCP v2协议,而语音合成采用的MRCP v1协议。UniMCRP语音服务器框架如下图4所示:

图4 UniMCRP语音服务器框架

  

(二)智能语音导航的实现

  课题研究采用FreeSWITCH进行模拟,它是一个电话软交换解决方案,包括一个软电话和软交换机用以提供语音和聊天的产品驱动。FreeSWITCH可用作交换机引擎、PBX、多媒体网关以及多媒体服务器等。FreeSWITCH可以通过XML、脚本实现基本的IVR功能,再配合mod_unimrcp模块与MRCP服务器的TTS、ASR资源进行通信,即可实现一个简单的智能客服系统。FreeSWITCH架构如下图5所示:

图5 FreeSWITCH架构

  首先,在FreeSWITCH中配置UniMRCP v1协议连接方式:

图6 FreeSWITCH配置UniMRCP v1连接

  配置UniMRCP v2连接:

图7 FreeSWITCH配置UniMRCP v2连接

  配置FreeSWITCH的unimrcp模块使用上述两个协议:

图8 FreeSWITCH模块unimrcp配置

  在FreeSWITCH中配置服务热线电话号码,并使用Lua脚本处理用户呼入:

图9 FreeSWITCH中配置呼入电话

  增加空的grammar文件:

图10 FreeSWITCH配置空grammar

  增加unimrcp_ivr.lua处理脚本,电话接通后播放欢迎话术,引导用户语音输入,通过v2协议调用百度语音转文字服务获取用户语音内容,并根据关键字匹配转接至相应的服务部门。

图11 FreeSWITCH智能导航Lua脚本配置

  用户拨通电话后,FreeSWITCH通过MRCP v2协议建立与MRCP语音识别服务的连接。在MRCP v2协议中,FreeSWITCH通过SIP协议发送控制指令,控制服务器开始和结束语音识别,而用户的语音通过RTP协议发送给MRCP服务器,服务器调用百度ASR服务进行实时语音转文字识别,并将结果通过RTP协议返回给FreeSWITCH。FreeSWITCH判断结果中是否存在预定义的关键词,并通过MRCP v1协议与MRCP文字转语音服务器进行连接,向用户播报相应的提示信息,然后将电话转接至对应的部门。

  

五、总结与展望

  本文基于实践提供了一套切实可行的智能客服应用方案,涉及在线服务及热线电话两个方向,在在线服务方面,整合了目前主流的两个前段接入渠道QQ及微信公众号的接入方法,实现了可多渠道接入、统一管理的智能应答体系。
  但是,因为意图识别和实体抽取全为监督学习,所需要的训练数据为标注数据。目前主流的标注方法是“数据标注+人工生成”。这种方法导致机器人开发前期的人力投入高,并且语料质量不能得到有效保证。现有一些技术已能改进此现象,例如,数据标注前先对用户日志进行聚类,把语意相同的语料放置一起,形成一个“簇”,仅需人工核实该簇内语料是否可全部匹配到同一FAQ并进行相应操作即可,人工编写相似问则可借助基于规则的语言模型,实现半自动化生成语料,减少人力投入。我们可从如何减少语料训练的人力投入的视角出发思考下一步研究工作。
  另外,由于证券行业是一个相对敏感的行业,客服人员对用户咨询给出的指引可能会对用户造成较大的影响。为确保服务稳定,降低风险,企业可以考虑引入“人机协同”功能,在智能客服上线前期将机器人作为客服的智能助手,机器人可主动向客服推送每一条用户咨询的推荐答案,服务人员可选择直接发送给用户或编辑后发送给用户,服务人员也可关闭主动推送功能,待有咨询需求时向机器人咨询,通过这种方式人工校对机器人的回复,待机器人回答准确率得到实际验证并提高后,逐步将机器人推向前端。目前有部分企业已采用这种模式服务,引入此功能的重点在于如何将“人机协同”模式嵌入具体的场景中。

  

六、参考文献

[1]程广兵.运营商问答系统融入AI打造智能客服[J].通信世界,2018(14):45-47.
[2]张岩.基于用户场景的智能客服系统分析与设计[D].吉林大学,2018.
[3]房晓楠.从监督学习到强化学习,四种深度学习方式原理知多少[J].机器人产业,2017(04):50-55.
[4]竺宝宝,张娜.基于深度学习的自然语言处理[J].无线互联科技,2017(10):25-26.
[5]李斐,邵晓东,周力恒,金阳.智能客服机器人的现状及发展[J].中国传媒科技,2016(04):67-69.
[6]宁长英.智能聊天机器人的关键技术研究[D].杭州电子科技大学,2011.
[7]Sordoni Alessandro, Galley Michel,Auli Michael. A Neural Network Approach to Context-Sensitive Generation of Conversational Responses[J]. Transactions of the Royal Society of Tropical Medicine&Hygiene, 2015.


 
免责声明


本公众号内容仅供参考。对任何因直接或间接使用本公众号内容而造成的损失,包括但不限于因有关内容不准确、不完整而导致的损失,本公众号不承担任何法律责任。如有问题请反馈至tech_support@sse.com.cn。

-------------------------- 上海证券交易所为证券公司、基金管理公司等市场参与者及相关行业机构提供交易技术支持与服务,包括日常交易技术支持、技术交流研讨、市场调查反馈、证券信息技术知识库、测试等服务。

点击"阅读全文"了解详情

 
上交所技术服务 更多文章 面向证券行业的智能运维模型及落地机制研究 《交易技术前沿(第三十四期)》篇首语 关于开展科创板技术通关测试的通知 证通云盘 《交易技术前沿》总第三十四期文章(2019年03月)
猜您喜欢 迅达云SpeedyCloud获国科嘉和1亿元B轮融资 DTCC 2018 | 基于 Apache Kylin 的云上大数据 Array.prototype.join 的一点儿小意思 分库分表的几种常见玩法及如何解决跨库查询等问题 年底重磅:高可用架构主办GIAC全球互联网架构大会,推动技术架构未来