彼聆智能语音机器人
背景智能语音机器人是58集团TEG架构平台线AILab自主研发的具有自动电话拨打、多轮语音交互、智能意向判断等多种功能的智能对话机器人,可应用于自动电话销售、产品服务推广、信息审核、语音通知等多种业务场景。语音机器人总体架构如下图所示,包括接入层、编辑运营层、逻辑层、基础服务层和WEB接入平台等模块,本文主要介绍基础服务层的语音通话模块,其他模块会在后续文章中进行具体介绍。
语音通话是语音机器人的基础能力,总体架构如下图所示,支持机器自动拨打电话,自动判断通话状态,如正常接听、空号、通话忙、无人接听、快速挂断、停机、关机等。SIP对话建立层通过SIP协议直连SIP代理服务器完成SIP信令建立,包括SIPINVITE、监听器SipListener和麦克风数据接收线程。SIP语音交互层通过对话监听器监听发送队列和接收队列实现,同时实现语音发送控制、音频采样和编解码。
电话拨打流程语音机器人首先通过SIP协议直连SIP供应商的代理服务器与被叫建立SIP信令并启动RTP会话,RTP会话启动后的语音交互流程如下图所示。语音机器人从话术库里选择开场白语音数据放入发送队列,发送程序从发送队列取出16KHz的开场白语音后先进行语音采样,转成代理服务器需要的采样率,再进行编码转成代理服务器需要的编码格式,然后将编码后的数据通过代理服务器发给被叫用户。被叫用户说话语音数据通过代理服务器传回语音机器人,首先会进行解码处理,然后再进行语音采样转成16KHz语音数据放入接收队列,接收程序拿到语音数据后会执行语音断句、语音识别、意图识别等操作并选择回复语音。整个通话过程中需要对语音数据进行采样、编码、解码等处理。
SIP信令建立语音机器人通过SIP协议与SIP供应商的代理服务器进行通信,完成SIP信令的建立,具体流程如下图所示。语音机器人发送INVITE请求到代理服务器负责启动会话,代理服务器以100Trying应答,同时获取被叫地址后转发INVITE请求。被叫响铃后产生的180响铃状态码回传给语音机器人。被叫接听电话后回传200OK给语音机器人,语音机器人收到200OK后以ACK进行应答,此时语音机器人和被叫建立RTP会话,进行语音数据传输,任何一方发送BYE请求可以结束会话状态。
语音机器人使用JAINSIP开源库进行SIP信令建立。INVITE请求发送使用SDP,SDP是SIP会话描述协议,用于描述参与者通过网络理解格式的多媒体会话。以下为语音机器人发送INVITE请求时的SDP示例,其中包括了通信的本地IP和端口、支持的编解码格式、语音采样率等信息。
语音发送语音机器人向被叫用户发送语音数据时需要根据语音采样率进行分包,同时需要控制语音包的发送速度,这样才能保证用户听到的语音数据是正常的。语音分包需要先计算每帧PCM数据的大小。
PCMBuffersize=采样率*采样时间*采样位深/8*通道数(Bytes)
采样时间可以设置的范围较大,可以使用20ms或者200ms,一般来说时间越短时延越小,语音机器人选取的采样时间为20ms,音频为16KHz、16bit的单通道PCM数据。这样语音机器人每帧数据大小为16*20*16/8=640Bytes。发送数据时,语音机器人每次发送640Bytes的PCM语音数据,每次发送完sleep20ms。
语音编解码和采样语音机器人对接了多家SIP供应商,如东信、承启通、腾讯、漫道等,不同SIP供应商采用的语音采样率和编解码方式不尽相同。语音机器人支持了Opus、G711、G729等编解码方式,以适应不同的SIP供应商,并通过语音上采样和下采样来兼容不同的采样率。
语音编解码
代理服务器返回给语音机器人的180Ringing数据包中指明了使用的编解码格式,语音机器人发送语音时需要将原始的PCM语音数据按约定格式进行编码。接收被叫用户说话语音时,需要将编码后语音按约定格式进行解码以进行下一步的语音处理。SIP电话RTP通信过程中对音频数据进行编码是为了减少网络传输包的大小同时保证音频的质量。音频编码过程是将模拟的、连续的声音波形数字化,把模拟的声音信号通过采样、量化和编码过程转变成数字信号,解码过程再将这些记录的数字信号还原为模拟信号,获得连续的声音。
语音机器人兼容了Opus、G711、G729等编解码格式,以JNI方式调用开源C/C++库实现。Opus是一个有损声音编码格式,能处理各种音频应用,可以从低比特率窄带语音扩展到非常高质量的立体声音乐。G711是国际电信联盟制定出来的一套语音压缩标准,主要用脉冲编码调制对音频采样,采样率为8k每秒。它利用一个64Kbps未压缩通道传输语音讯号。起压缩率为1:2,即把16位数据压缩成8位,G711有两种压缩算法,分别为PCMA和PCMU。G.729采用的是共轭结构的代数码激励线性预测算法,能够实现很高的语音质量和很低的算法延时,被广泛地应用于数据通信的各个领域。三种音频编解码格式对比如下表所示。
语音采样
语音机器人后台使用的语音数据格式统一为16KHz采样率、16bit量化的PCM原始数据。由于有的SIP供应商采用的语音采样率为8KHz,这样语音机器人在发送语音数据时需要进行下采样将16KHz语音转换为8KHz,在接收到代理服务器发送的8KHz语音后则需要进行上采样转换为16KHz。
如上图所示,从高采样率到低采样率的过程称为下采样,下采样主要是通过抽取实现,上采样是下采样的逆过程,主要通过插值实现。由于抽取可能产生混叠,内插可能产生镜像,因此需要在抽取前进行抗混叠滤波,在内插后进行抗镜像滤波。抗混叠滤波和抗镜像滤波都是使用低通滤波器实现。
总结语音机器人线上已经正式接入招聘、黄页业务线的商机过滤场景,每天外呼电话量数万,后续将接入客服通知、简历验真等更多的业务场景。本文主要介绍了语音机器人语音通话的实现过程,包括SIP信令的建立、语音发送控制、语音编解码和语音采样。语音通话是语音机器人的基础能力,后续将持续进行优化,兼容更多的SIP供应商、提高通话质量。
欢迎大家关注“58架构师”微信公众号,定期分享云计算、AI、区块链、大数据、搜索、推荐、存储、中间件、移动、前端、运维等方面的前沿技术和实践经验。
AI智能电话客服机器人的交互流程
就目前来说语音对话形式的智能客服机器人已经越来越多。人们想要处理什么事情,电话打到客服中心大多数的第一站是智能客服机器人,实在复杂的才有可能会交给人工客服处理。那么你知道智能电话客服机器人是怎么交互的吗?
从交互形式来划分,智能客服包括纯语音(如联信志诚智能客服机器人),纯可视化界面(如一些电商的客服,完全通过界面交互来完成对话)。交互形式没有好坏,这一点同非AI产品一样,根据用户使用场景选择最合适的形式即可。
从产品定义出发,智能客服类产品,最根本的价值在于以低成本取代人工客服工作中大量重复性的部分,再基于这个前提,去挖掘更多商业变现的可能性。人工客服的工作大致分为两种,一种是咨询类的,客服只需回答问题;另一种是申请类的,客服要帮客户完成一些业务办理。
智能语音机器人呼叫流程的交互时序流程(以呼入为例),主要流程为:
1.客户拨打电话给智能语音客服机器人。
2.智能语音客服机器人接听电话后,呼叫中心平台调用业务流程管理接口,启动并初始化对话流程状态图。
3.业务对话流程管理模块初始化对话流程状态图后,发送开场白话术给呼叫中心。
4.呼叫中心平台接受到开场白话术,根据配置选择进行TTS语音合成或者直接播放录制好的录音,并进行放音操作通知客户。
5.客户收到开场白语音后同样做出相应的语音回复,开始进行对话流程。
6.呼叫中心平台收到客户的回复语音后通过MRCP协议调用ASR服务进行语音识别。
7.呼叫中心收到ASR返回的文字结果后,通过HTTP协议调用业务流程对话管理接口进行对话状态更新。
8.业务流程对话管理接收到呼叫中心传来的请求信息后,调用语义解析模块进行语义解析,并根据语义解析的结果选择话术返回给呼叫中心平台并更新对话状态。
9.呼叫中心收到当前话术,根据配置选择进行TTS语音合成或者直接播放录制好的录音,并进行放音操作通知客户。
10.根据配置好的业务流程状态图,重复6-9步骤,直至呼叫对话流程结束。
11.业务对话流程结束后,呼叫中心通知ASR服务结束当前的语音转写时间请求。最终通知业务流程对话管理模块挂机操作,并向呼叫管理平台上报呼叫结果。
而作为智能电话客服机器人的建设者来说,越了解用户的需求,客服机器人才会越智能,与用户交互也会更顺畅。
智能机器人语音识别技术详细解析
语音控制的基础就是语音识别技术,可以是特定人或者非特定人的。非特定人的应用更为广泛,对于用户而言不用训练,因此也更加方便。语音识别可以分为孤立词识别,连接词识别,以及大词汇量的连续词识别。对于智能机器人这类嵌入式应用而言,语音可以提供直接可靠的交互方式,语音识别技术的应用价值也就不言而喻。
如今智能语音设备或者机器人很多,如智能手机(例如Cortana,Siri,OkGoogle,。。。),个人助理(例如GoogleHome,AmazonEcho,。。。),交互式语音应答(银行,应答机,。。。。。。),语音机器人(电话机器人、客服机器人、电销机器人,……),在生活中很常见,表现都让人惊喜。同时他们工作原理也大致相同。
1语音识别概述
语音识别技术最早可以追溯到20世纪50年代,是试图使机器能“听懂”人类语音的技术。按照目前主流的研究方法,连续语音识别和孤立词语音识别采用的声学模型一般不同。孤立词语音识别一般采用DTW动态时间规整算法。连续语音识别一般采用HMM模型或者HMM与人工神经网络ANN相结合。语音的能量来源于正常呼气时肺部呼出的稳定气流,喉部的声带既是阀门,又是振动部件。语音信号可以看作是一个时间序列,可以由隐马尔可夫模型(HMM)进行表征。语音信号经过数字化及滤噪处理之后,进行端点检测得到语音段。对语音段数据进行特征提取,语音信号就被转换成为了一个向量序列,作为观察值。在训练过程中,观察值用于估计HMM的参数。这些参数包括观察值的概率密度函数,及其对应的状态,状态转移概率等。当参数估计完成后,估计出的
电话智能客服机器人的语音通话功能
目前市面上有很多电话智能客服机器人,而电话智能客服机器人如何选择和复购,对于企业来说是一大难点,首先可以看语音通话功能。电话智能客服机器人-语音通话功能电话智能客服机器人的语音通话功能,是一种通过使用语音识别和自然语言处理技术,为用户提供优质的服务体验的技术。它能够自动识别用户的声音,并将其转换为文本,并将其发送到用户的手机或电脑上。通过使用这种技术,客户可以获得更好的服务体验,并且无需使用键盘或鼠标即可完成操作。语音通话功能包含真人语音、多轮对话、支持打断等。通过试听可以很好的考察语音通话功能。那么在试听中,企业要把握的关键点是什么呢?是小姐姐声音是否甜美吗?非也。是问一些奇怪的问题来验证机器人是否能对答如流吗?也不是。要搞清楚的是,试听电话智能客服机器人的本质就是试听话术。也就是说,要考察下它:是否能够在话术库的范围内懂人话?在听不懂的情况出现时,能否顺利的“蒙混”过去,从而保持通话流程的顺畅进行?能否根据通话上下文迅速理解客户意图,并针对客户的语言做出合适的处理应答?语义理解代表着机器的认知智能水平,即思考和判断的能力。自然语言处理(自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。技术方面有多年的积累,尤其对于一些数据容错率较低的行业,例如医疗行业,当前市面上可以做到的准确率仍不能满足需求的情况下,沃丰科技的技术系统测试结果能达到95%的准确率。》》点击免费试用智能语音机器人,优势一试便知
智能语音机器人底层系统设计逻辑
编辑导语:未来最大的交互,不是现在的人机交互,而是人与人工智能的交互。人工智能行业现今取得了不少的成就,也逐渐进入了千万家庭,陪伴在了很多人的身边,其中就包括智能语音机器人。本文笔者将以智能客服领域为出发点,结合自己的工作实践进行详细分析。
3月4日,中共中央政治局常务委员会召开会议,指出要加快推进包括5G网络、人工智能、数据中心等新型基础设施建设进度。
结合此前人工智能赋能技术在疫情防控中发挥的重要作用,加上新基建政策,可以预见的是未来人工智能必将迎来新一轮的发展。
据艾瑞网发布的《2019年中国人工智能产业研究报告》中显示,到2022年中国智能客服业务规模将突破160亿元,泛智能客服市场将突破600亿,也预示着这一领域依然拥有广阔的市场空间。
本篇笔者将着重就智能客服这一应用较为成熟的领域,结合自己的工作实践进行详细分析。
一、智能客服背景智能语音客服机器人是在传统的客服系统基础上,集成了语音识别、语义理解、知识图谱、深度学习等多项智能交互技术,能准确理解用户的意图或提问,再根据丰富的内容和海量知识图谱,给予用户满意的回答,目前已广泛应用于金融、保险、汽车、房产、电商、政府等多个领域。
对比于传统客服,智能客服具有为企业降本增效,提升商机转化率,提升用户体验、更加方便简洁、移动性及时性社交性能一体化的优点。
智能客服机器人应用场景十分丰富,
从交互模式上来看:可以分为文本客服机器人、语音客服机器人两大类;从场景和功能类型来看:又可分为问答机器人、任务机器人、闲聊机器人三大类。那么语音外呼机器人这个形态的产品在实际场景中如何应用的呢?
下面我会从语音外呼机器人工作流程、外呼系统搭建、应用案例,应用重难点等4个模块来做详细阐述。
二、智能外呼机器人工作流程AI外呼机器人是集合了自动拨打电话、多轮语音交互、客户意向智能分级、外呼任务自定义等多功能于一体智能语音对话机器人。
以下是一个基本的智能外呼机器人工作流程:
如上图所示,一个完整的智能外呼流程(不涉及转人工)包含了四个环节,各环节会由外呼系统整体串联起来进行运作:
用户接听:外呼工作流程的开始,外呼系统需识别用户接听信号。客户机器人响应:这一环节关键在策略输出,外呼系统需根据用户应答,识别用户意图或动作,根据机器人预设任务流和策略给出响应话术。用户应答/动作:这一模块主要在外呼系统需对用户的意图和动作进行精准识别,做用户状态记录,以便一下步策略的实施。用户/客服机器人挂机:当机器人走完任务流会主动挂断,或用户提前自主挂断,外呼工作流结束。三、外呼系统设计以上工作流的实现依赖于外呼系统同时涉及多方技术,下面整体来介绍下外呼系统的底层架构。
上图为笔者结合所学及所做机器人的实际业务逻辑梳理的呼叫系统架构,如图,整体上语音外呼系统可分为五大模块:
1.通讯管理模块由通讯线路和FreeSwitch电话系统构成,通过SIP和RTP协议,实现进行各种信令和语音流的传输。其中,通讯线路包括三大运营商、各家集成线路商,用于提供线路资源将电话拨打出去。
电话系统采用的是开源的FreeSwitch,主要用于处理外呼请求和传输SIP信令和语音流。
2.语音模块负责语音相关操作,包括语音识别(ASR)、语音合成(TTS)、录音播放等。
其中ASR和TTS这块,目前一般采用阿里云、科大讯飞等技术较为成熟的供应商服务,主要通过接口形式对接使用。
3.中控模块主要任务是实现与其他模块之间的通信互联,负责将ASR识别后的文本传输给机器人模块,将机器人模块的指令策略转化为电话系统的执行指令,并将数据同步至Saas后台(中控模块命名各家公司都有所不同)。
4.后台管理模块负责机器人外呼任务的发起和相关业务操作,主要包括外呼任务的创建,通话流水查询,客户管理,数据统计等功能。
5.机器人管理模块此为整个外呼流程中的核心AI模块,通过自然语言处理(NLP)和对话管理(DM),进行用户意图理解,对话状态追踪,机器人应答策略匹配等,实现人机对话交互。
关于NLP和DM模块比较复杂,笔者将会在下一篇文章中单独对任务机器人对话系统的设计做详细阐述,这里就不过多补充了。
四、应用案例下面以58同城二手车回访的业务场景,具体分析下外呼机器人是如何通过外呼系统进行作业的,外呼系统各模块间又是如何耦合实现业务需求的。
1.对话管理设计正常情况下,外呼业务场景一旦确定,产品需先梳理出任务场景的主干流程,选定深度意图,设置匹配QA,设置槽位,准备话术,设计对话状态追踪,设计对话策略等一系列工作。
这里的对话管理的设计配置,涉及到外呼系统里机器人管理模块。
如:上图对话框中机器人话术均为事先根据二手车回访业务提前设计好的主干话术。
2.外呼任务创建对话管理模块配置完善后,业务人员可在Saas后台创建外呼名单,通讯管理模块接受任务指令,拉取话单进行电话外呼。
3.拨打流程拨打流程涉及模块较多,主要包括通讯管理模块,语音模块,中控模块,机器人管理模块。
运营商的通信线路根据业务人员创建的外呼任务,开始逐个拨打用户电话;用户接通电话后,开始进入对话处理循环流程;通讯管理模块的FS将用户语音流传输给语音模块进行ASR识别为文本信息,然后将动作/文本信息一起输送到中控模块;中控模块将用户文本/动作信息推送至机器人模块,并将机器人返回的策略指令转化成电话系统的执行指令;电话系统结合语音模块,进行语音合成后,执行话术播放或转人工、挂机等机器人动作策略,随后开始新一轮对话循环处理流程;机器人/用户挂机后,中控模块将相关录音文件、系统信息,状态信息等数据进行存储并同步至管理后台。五、智能外呼机器人应用重难点我们考虑一个外呼机器人的外呼质量会从两方面去看,一个是能保证外呼流程的通畅性,另一个是保证外呼任务的完成率。
决定机器人外呼质量的影响因素有很多,笔者从产品的角度去理解,除去目标客户的精准度、客户接听电话的环境、客户状态等非可控因素外,主要还受限于以下几个方面:
1.电话线路的稳定性在呼叫失败的原因中,很大部分是由于供应商提供的线路不稳定。
关于这一点的问题规避,更多的还是申请基础运营商的线路或寻找到正规渠道的认证供应商,以保证线路质量。
2.FreeSwitch的并发量FreeSwitch的具体性能根据实际使用环境差异较大,如果因前期预估不足,设置的FS并发量过低,超过并发则会出现呼叫异常或语音卡顿等现象。
应从系统的实际业务需求去考虑并发数,保证FS的性能稳定。
3.ASR识别准确率虽然目前很多供应商标明的语音识别率都达到了97%甚至98%,但此指标对环境的要求较高。
而实际环境在噪音较大,口音,语言混合等场景下,ASR识别准确率均有一定程度的下降。
4.语义理解在对话机器人中语言理解(NLU)模块主要包括意图识别和槽位识别,这两点直接影响语义理解的效果。
语音场景下,经常出现用户回复单语气词的情况,如“嗯”,“啊”等,或语音特有意图,如“大点声”,“说快点”,要求“重说”等,在意图设计时需考虑到此类特殊场,以及其应答策略。
前面提到的ASR识别错误会导致语义理解部分受影响,目前可采用加入多模态学习的优化方案,同时融合音频特征,纠正语音识别结果,此方案经验证对意图识别模块准确率会有近2%的提升。
5.对话管理模块设计合理性机器人对话管理模块设计的合理性,直接决定了整个呼叫任务流程的体验感和完成率。
对话管理模块的重点在于对话状态追踪(DST)和对话策略设计(DPL)的合理性,如:打断、无声等语音特有场景,如何在提升用户体验的同时确保外呼任务流的正常正常进行。
6.话术设计的合理性话术设计也是语音任务机器人设计中非常重要的一个部分,为提升用户的体验。
话术设计可遵循以下几个原则:
话术设计更贴合应用场景;主干话术设计精简有吸引力;话术拟人化;不同状态下话术变化。六、结语目前,随着AI技术的不断进步,市场需求的进一步扩大,智能语音机器人在实际应用场景中的表现也越来越好,逐渐能胜任更多的业务工作。
不过其难点仍然存在,期待未来在更多AI技术的赋能下,智能客服机器人能力有更大程度的提升,能让我们在生活中体验到更贴心智能的机器人服务。
以上内容基于笔者结合学习和工作实践的思考,若有理解不到位之处,还望大家指正,更希望通过这篇文章能与各位多多交流。
参考资料:
IDC《中国人工智能市场软件及应用半年度研究报告(2019H2)》艾瑞网《2019年中国人工智能产业研究报告》58同城《智能语音机器人助力企业提效增收》
本文由@岑为原创发布于人人都是产品经理,未经许可,禁止转载
题图来自Unsplash,基于CC0协议