一、智能外呼架构简介
智能外呼在国内已发展多年,整体的技术早已非常成熟。那么一个简单的智能外呼系统应该包含哪些东西呢?
- 运营商:运营商的线路资源是外呼系统的基础,国内就是移动、联通、电信,也有一些集成商。
- 呼叫中心:呼叫中心相关的软硬件用来对接运营商线路,市面上成熟产品很多,各大云厂商也都有相关的云服务。
- 开源方案也有一些,如freeswitch、asterisk,网上有很多的资料可以参考。
- 外呼SAAS平台:用来串起来整个通话流程,这部分的实现相对来说最容易,国内各厂商基本都是自研
- AI能力:语音识别、语音合成、以及智能对话平台能力,关乎到智能外呼系统核心的体验、是否智能、拟人化等
智能外呼简单流程
上面介绍了智能外呼系统的大概组成,那具体是如何运行的呢?下面是一个简单的疫情调研外呼电话例子。
示例中,存在两轮对话,方框内容为机器人语音播报,两次回答“是否本人”、“是否阳性”是客户回答,走语音识别后进行判定。
在智能外呼系统中,对接语音识别和语音合成的部分,通常来说有两种方式:
- 外呼SAAS平台直接调用语音识别、语音合成
- 这种方式一般用完整的客户音频流去做语音识别(以便支持播报中打断、播报中关键词逻辑、播报中打断&回复等功能)
- 通过IVR调用MRCP-Server接口来调用语音识别、语音合成
- 每次语音识别的音频,是机器人播报后,触发识别的一小段音频(类似上面示例中,就是“是否本人”“是否阳性”两段回答的语音片段)
下面我们分别看下两种方式对应的序列图。
无MRCP-Server流程
- 该方案的开发成本较高,通话流程的控制逻辑很大一部分在“外呼SAAS平台”内,且要对接语音识别、语音合成、智能对话平台等部分
- 外呼通话接通的时候,客户的音频流就持续推到外呼SAAS平台,音频流持续送入语音识别,得到实时识别结果
- 完整通话识别结果可以用来实现机器人播报中打断、播报中客户关键词识别&处理(如转人工、新回复等)等
有MRCP-Server流程
- 该方案的开发成本相对2.1要低不少,对接语音识别、语音合成的MRCP-Server一般各大厂商有现成的组件,不用去开发
- 该方案只有机器人播报完/被打断后,才会调用mrcp-server启动识别,送入客户音频去做语音识别
MRCP作为标准协议,基本市面上的呼叫中心都是支持的,对接起来也较容易,下面讲一下笔者对接腾讯云MRCP-Server的过程。
二、腾讯云MRCP-Server对接
开始对接之前,我们需要先开通腾讯云的语音识别、语音合成服务。
开通语音识别&语音合成
分别点击 腾讯云语音识别控制台 ,腾讯云语音合成控制台, 点击立即开通服务。
可以点击这里领取一个新人的体验资源包: 语音识别_实时语音识别_录音文件识别_语音转文本服务 - 腾讯云
获取调用服务的API密钥
访问腾讯云的服务,都需要一个秘钥,在腾讯云访问管理的API密钥管理页面,可以新建一个秘钥,这个一定要保管好,不能泄露出去,防止被盗用。秘钥后面我们要用到。
MRCP-Server部署
腾讯云的MRCP-Server有现成的部署包,不用自己开发对接ASR&TTS,可以大大节约时间。
只要你有一个干净的linux环境