一个智能外呼机器人的诞生(一个智能外呼机器人的诞生)
- 技术基础:智能外呼机器人核心是AI的基础技术,赋予产品识别语音、语义理解、合成语音的能力,简单来说就是如何准的确地识别客户所表达的意思,一般称作识别意图。而另一方面,Fs、sip构建的话务服务赋予产品对外通话的能力,可以拨通客户的手机进行交流。
- 资源许可:构建的机器人服务需要耗费一定的资源,一般将整个过程分为话务、TTS、ASR、机器人方面的资源。如果要完成完整的外呼服务,一般是1:1的关系。如果是saas产品,可以将整个许可打包成一个商品出售。按这样区分可以清晰划分产品框架,后续的运维、扩容也十分方便,也利于计算成本、产品定价。
- 话务模块:话务模块是管理话务能力方面的功能,语音通讯、录音等。
- 语音服务:该模块是管理语音方面的能力,包括ASR服务、TTS服务。也会有一些产品将这些能力纳入话务模块。
- 算法模块:算法模块是外呼机器人的核心能力,需要完成数据的处理、模型的构建与训练等,让机器人具备识别能力。
- 对话管理:机器人识别客户的意图之后,需要做出一定的回应。怎么说、说什么由对话管理去控制。
- 运营管理:基于上述模块的协作完成一个外呼服务的构建,对于业务人员来说则需要在运营层面去管理外呼名单、外呼策略等,让机器人运转起来。
对产品有全局的架构思维,有助于全面地看待问题,无论是产品设计还是后续的运营都是很有帮助的。
二、业务流程智能外呼,简单来说就是模拟人的对话能力,教会机器人去识别语音内容,然后根据内容做出应答。在运营管理发起外呼动作,整体的业务流会经过以下几个步骤:
1.由话务服务出局通话请求,拨通客户的电话后,收集客户语音并实时返回至语音服务模块;
2.语音服务将客户的语音经过ASR处理,输出客户的文本给到算法模块;
3.算法模块经过算法分析,识别客户的意图,了解客户想表达的意思。有一点需要注意的是,不一定非要语音才能分析意图,比如客户静默太长时间,可输出一个静默的意图,让机器人再次唤醒客户对答。也不一定是对文本内容直接分析,比如机器人未播完话术时被客户打断,这时候应该输出一个打断的意图,停止播报,让客户说完再识别。各种各样的情景,跟人与人之间的对话情景对应;
4.得到客户的意图后,对话控制根据对话流程,输出机器人需要对答的内容。对答文本流转至TTS合成语音(如果文本不涉及变量,可以一次性保存为录音,不占用TTS资源),或者调用已录好的音频,传至话务服务模块,对客户输出语音。然后再次得到客户语音,循环这个过程直至结束后将对话数据返给外呼管理模块,进行后续的分析。
三、产品设计1. 话务服务模块
依托于FS强大的拓展性,搭建一个电话软交换平台,可对接运营商的sip线路,也可用网关设备搭建话务中心,提供呼叫控制、资源分配、录音、计费等能力。一般大企业会有独立的话务服务,专供需要的业务系统接入,而自建外呼服务或者构建saas产品则需要从0到1去搭建了。
2. 语音服务模块
ASR、TTS是基础底层技术,自研成本非常高,而且经过长期的发展也很成熟,市面上有科大、阿里云、腾讯云等厂商的服务。一般有两种模式,一种是接入云服务,按调用次数收费,如果有开放的开发环境建议使用这种模式,可以随时升级调优。另外一种是买断服务,购买完整的语音服务,包括模型、资源,一般在较为封闭的开发环境使用,比如银行业务。但这种模式成本较大,而且调试升级不方便。
3. 对话管理
对话管理是智能外呼机器人产品的核心模块,涉及VUI设计、话术管理等。VUI设计是指语音交互流程,就是机器人的应答逻辑,是机器人的主心骨。我对于VUI的设计主要有以下几个步骤:
1)梳理外呼业务的主流程
产品必定会有一个流程,以期望客户按我们的设计走,完成一定的动作,达到业务目标。所以在设计前应当梳理清楚我们要做的是什么业务,业务涉及什么环节,业务目标又是什么。以一个信用卡欠款催收为例:
2)归纳意图
在业务运转过程找中,会遇到哪些情况,然后归类起来,形成一个意图,代表客户反馈给机器人的状态。可将意图分为三种类别:通用意图、业务意图、QA。
- 通用意图:顾名思义就是整个人机对话环节都可能会发生的情况。咱们可以想想现实中打电话,对方可能会正在忙没法接电话,可能信号不好听不清等等,可以归纳出“正忙、听不清”的意图;
- 业务意图:与业务相关的情况,比如客户表示是不是本人、已还清欠款等情况,可归纳出“是本人、非本人、已还款”的意图;
- QA:通用意图以及业务意图是固定的,在实际运营中会有些频率不高或者未想到的语料,可以在线上添加QA语料,然后在后台经过关键词提取、预定训练方式实现模型建设,可减少算法投入成本,也比较灵活。如果某个QA出现频率高,可以考虑增加一个通用意图或者业务意图。
确定意图后,有助于我们梳理流程框架:
3)编写对话剧本
确定了环节、意图后,还是比较零散的信息,典型的对话场景是怎么样的?实际的对话流又是怎么体现的?这时候可以借助对话剧本去模拟人机对话。如果客户按推荐的流程走,并完成了目标,称之为愉悦路径。如果客户没有按推荐的流程走,无法完成外呼目标,则成为非愉悦路径。
举个例子:
编写对话剧本其实就是梳理主流程、异常分支如何处理,尤其是非愉悦路径,通话环境的情况很复杂,各种不在目标内的情况要做好处理。
4)设计对话跳转逻辑
经过对话剧本的编写,VUI有了雏形,接下来需要整合成一个完整的流程。对于VUI,我理解为一个庞大的决策树,在某个节点,根据客户的反馈决定往哪个分支走,主体设计是环节 意图 跳转。
对话的跳转逻辑设计是个十分复杂的过程,需要反复推敲跳转是否合理,是否符合业务场景,是否覆盖了常见的情况。从开场白到完成业务目标会有多种分支,而且有时候跳转较多,单纯看路径会比较抽象,可以借助对话剧本具象化。另外建议设置好结束点,路径设计不宜过长,机器人没法像人这么灵活,对话轮次过多反而会阻碍业务目标的达成。如果某个意图出现频率高,而且处理方式是一致的,可以提炼出来作为一个全局节点。
5)设计话术
确定了对话跳转逻辑后,需要明确每个节点机器人的应答话术。话术内容的设计也很考究,基本原则是通用化、封闭化。应答内容尽量通用化,往主流程引导,兜住未知的情景,复杂的内容引导客户去确认。虽然AI大大提升了效率,但是还没有达到可以处理全部开放化的情景,比较适合做标准化的工作。举个例子,你想确认客户的地址是否正确,不应该去问”请问您所在的地级市是哪里“,答案千千万万,而且asr识别不准,可行性可想而知,倒不如改为”请问您是在xxx地方吗?“,这样范围可控。
参照对话跳转逻辑设计每个节点话术,包括环节 客户意图 机器人话术 跳转节点:
经过5个步骤的思考以及设计,对话管理模块的功能已完成,产品展示层面比较多的是画布的模式,可以自由组合各个环节、节点以及话术。但VUI设计是复杂性的功能,不建议普通客户去操作,交由专业人员管理,或者采用模板的方式推广。
4. 算法模块
VUI里面涉及的意图是由算法分析出来的,建议在意图设计的环节也保持与算法的同事沟通。算法模型是核心资产,也是产品护城河。目前市面上会有厂商提供NLP服务,但作为核心能力,建议采用自研,契合自身业务去构建算法能力。智能产品需要众多的语料去完善其模型,即使产品上线后也需要不断去调优,一套完整的算法优化流程尤为重要。
作为产品经理,重点关注其中的标注结果,核对分类是否正确、是否存在与产品设计违背的地方、是否可以达到可用的效果,这样可以减少效果与最终目标的不适应情况。另外还有需要关注模型校验的结果是否符合预期,生产对客的效果如何。
虽然AI技术很强大,但也不是无敌,也要看与各个技术的配合度以及局限性。语音机器人特别依赖ASR的准确率,曾经踩过一个坑,询问客户的所在地,以判断是否可办理金融业务,但ASR对短句的转译能力差,无法精准转写,导致识别准确率很低,效果很不理想。如果前期关注到ASR的局限性,就很有可能会规避这个问题。
算法能力的构建涉及多个角色、多个流程以及持续性优化,如果业务比较成熟,可以搭建一套运营后台系统去支撑这部分工作,发现热点知识、拒识等内容,实行标注质检工作等。
5. 运营管理
经过各个模块的搭建,已经具备了机器人外呼能力、识别能力、对答能力,运营管理模块就负责如何使用机器人,根据业务需要设计各种外呼策略,比如重拨、定时外呼、防骚扰等。
四、结语智能外呼机器人是AI落地较为广泛的产品,涉及了多个领域的知识,也需要多种角色参与,因此需要掌握的东西比较多,很考验产品的整合能力。同时也是十分重运营的产品,不是搭建完成就完事了。如果功能建设完成了,我认为只是从0到0.5,要达到真正的对客效果,还需要持续优化,采集更多的语料去丰富意图、提升识别效果等。
以上为本人的一点经验之谈,欢迎大家一起交流。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com