沙龙干货 | 58同城—智能语音机器人助力企业提效增收
58同城技术委员会AI分会联合AICUG人工智能技术社区于2020年5月27日19:00-20:00举办一期线上技术沙龙,58同城AI Lab算法架构师李忠带来了直播分享《智能语音机器人如何助力企业提效增收》,以下是沙龙干货回顾。
(点击播放视频)
导读
智能语音机器人,即利用语音识别、语义理解和语音合成技术赋予机器多轮对话交互能力,使之能模拟真人与用户对话,识别和理解用户的会话意图,它被广泛应用于企业营销、产品推广、服务通知等多种业务场景。本次AICUG邀请到了来自58同城算法架构师李忠老师,与大家分享语音机器人的工程架构,并深度解析意图识别和对话管理两个核心模块,最后会结合几个语音机器人为企业提高人效和增加收益的案例来讲下实际的落地应用,为大家提供智能语音交互如何落地业务实践的一些想法或思路。
要点:
如何打造一款语音机器人
如何利用AI技术让人机交互更加智能
在不同业务场景下如何应用语音机器人为企业提高人效和增加收益
分享嘉宾:
李忠,58同城算法架构师,现任58同城AI Lab智能语音部负责人。主要从事智能语音交互、自然语言处理等AI技术相关的研发工作,主要负责产品有智能语音机器人、智能语音分析平台、智能写稿等。
主讲内容:
语音机器人整体架构
语音交互如何更智能
语音机器人如何为企业提效增收
58同城作为中国领先的生活服务平台,涉及类别招聘、房产、本地生活服务、车、金融相关等,如何将AI技术应用为用户服务是我们一直在探索追求的事。
1 语音交互架构
这是一个语音交互处理的通用架构流程。整体过程就是机器根据用户的不同输入做出相应语音响应输出。我们将用户输入分成了二类: 第一种输入为语音信号; 第二种是用户行为指令(如长时间不响应、硬件操作命令等)。根据用户的不同输入类型,语音机器人处理的整个对话流程稍有差异。
输入为语音信号
首先会做声音类型的分类,如果声音类型为听得清,再做语音识别(ASR, 将语音转换成文本), 得到文本后进行语义理解(NLU,一些常规方式如正则匹配、意图分类、文本匹配、槽位提取等), 最后将理解结果和对话上下文交给对话管理器, 对话管理器会根据对话类型选择采用是基于话术驱动还是知识库驱动方式来完成整个语音交互,基于话术驱动的对话主要由机器人主导(机器人主导问问题或者直接单向传递信息)从而完成整个对话流程。基于知识库的语音交互主要类似TaskBot 或者 QABot 智能客服的多轮对话的语音版。 当对话管理器基于用户意图并结合话术或知识库生成用于响应的语音信号返回给用户,上述过程就完成了一次语音交互处理。这里语音信号可以是TTS合成也可采用真人录音事先提前录制好,可根据业务实际需求进行配置。
输入为事件或指令
另一类输入是事件或指令,其中指令指的是用户在设备上的操作如电话按键输入、挂机、电话接听之类的。事件可以理解成用户响应行为如长时间不应答。语音机器人通过监控这些事件或者指令是否触发,一旦触发会交给对话管理器进行处理。对话管理器会根据事件或指令事先设置相应的响应策略。比如用户电话按键输入不同的数字,语音机器人会根据事先配置的电话按键数字进行响应,又如用户长时间无响应时语音机器人会提醒用户是否还在接听。
人机语音交互示例
(点击播放)
这是一段我们真实场景的人机语音交互的对话示例。
话术
话术是一个有向无环图,整个对话流程具有很强的目的性,比如完成用户回访、推销产品、信息播报等。通常会有一个开场白的话术结点(表示了由机器主导的开始)和多个结点分支组成。各个结点代表了机器预先设置回复内容,是根据用户预期有限回复方式进行设定,每次只会命中一种可能的跳转方式。在结点与结点相连边上可配置满足跳转的策略条件比如命中槽位、意图为肯定、正则匹配上某种表达式等。
以上图话术为例,机器人询问“用户是否有招人计划”,那在什么时候会跳转到“你招聘的是什么岗位呢”这个结点呢?结点与结点之间的跳转是依赖于响应策略如命中槽位、意图识别、正则匹配上某种表达式等。因此当用户的意图为有招聘意向的时候,就会相应跳转。“你招聘的是什么岗位呢”这个结点如何跳转“那你计划招多少人呢”,其中一种策略就是当用户回复能提取出某种职业的槽位词时,可进行相应的话术跳转。为了使得整个话术跳转更加流畅,需要意图识别、槽位识别足够精准。
刚才我们介绍了话术,那为了使得整个语音交互更加流畅和智能。一种方式是把整个话术逻辑设计得尽可能复杂,穷举用户所有的回复进行跳转, 但成本代价极高,迁移复杂,另一种主要是通过提升意图识别、槽位提取性能,目前主要采用后者。
2 人机交互如何更智能
这里分成了四点,其实主要是两大块,第一块是语音预处理,最大程度的去干扰,目的是让机器听得更清。后面三点的优化目的主要是为了让机器更能读懂用户的意图,会涉及到意图识别、语义匹配、槽位提取这三点。接下来我会围绕这两大块四点进行一个详细的阐述。
语音预处理
语音信号质量的好坏直接会影响语音识别的效果,语音识别结果又会直接影响到语义理解,为了尽可能避免语音信号数据源问题,在这里我们主要针对两类问题做了语音信号预处理: 1是声音信号类型分类(主要解决是否为真实的听得清语音信号) 2是针对语音端点检测VAD(Voice Activity Detection), 从含有噪音、静音的语音信号中找出人声的起点与终点)。
语音预处理——听不清分类
在我们的场景中我们将声音类型总共分成了12种,但通过分析发现对后续影响最大主要还是听不清语音信号,因此我们将目标简化成一个声音类型的二分类: 听得清或听不清。针对需要进行语音识别语音片段我们同时进行声音类型分类,目前我们将语音片段截取10s不足补齐送入到语音听不清分类模型,并将10s的语音信号平均分成10段,针对每1s的数据抽取其Fbank特征,再经过一个简化的VGG网络(四次卷积池化,外加二次全连接层)将语音信号映射到一个128维的向量,最终将这10段语音信号的特征向量进行拼接成一个1280向量进行softmax操作,输出判别为听不清或听得清的概率。一旦判别阈值超过一定的值,语义理解采用的ASR结果将不可信,机器会采用未识别用户意图的策略方式进行回复。此分类模型我们对比了其他声学特征如MFCC、原始波形数据、声音信号的短时傅里叶变换等,目前来看采用Fbank特征效果最好。引入语音听不清分类时,针对下游的意图识别,总体准确率提升了29%左右。
语音预处理——VAD
语音端点检测VAD(也就是Voice Activity Detection), 从含有噪音、静音的语音信号中找出人声的起点与终点)。好的VAD模块会避免语音信号丢失或者错误信号引入. 我们经历过三次迭代,主要从早期采用的双限门技术及通过短时能量、过零率来判断每一帧语音信号是否为人声帧; 中期采用Google WebRTC VAD模块,该方法主要基于6个子频带对人声帧与非人声帧构建了12个高斯模型,通过计算人声帧与非人声帧概率的释然对数比值与预先设置的阈值进行比较来决定是否为人声帧;当前我们正在探索使用VADNet模型, 该方法是基于深度学习的方式,提取语音信号的短时傅里叶变换(STFT)作为VGG网络的输入,最终判别人声帧的概率。当前采用的VADNet相比项目早期的双限门识别方法,在人声帧识别准确率上提升了46%。
这就是语音预处理的两个模块,第一个是语音听不清分类,第二个是讲的是VAD,就是语音端点检测,主要目的是保证输给ASR的信号更加干净。
意图识别
目前意图识别分类主要用于话术跳转,这里用户意图被分成了19类,针对不同用户的意图,话术的跳转或机器响应用户方式都是提前设置好的,当前意图识别分类模型主要采用的TextCNN,同时对比过fasttext、LSTM等方式,TextCNN的方式稍好。我们同时也尝试使用了BERT,将用户的回复经过BERT网络后,采用其cls输出作为用户回复文本的表示方式,后面再进行softmax意图分类。采用BERT的方式相比TextCNN在识别准确率有2%的提升。
标准问题匹配
标准问题匹配DSSM
基于Bert的相似度模型
当用户回复内容超出话术跳转的流程时,通常来说是因为用户对机器进行了反问,这个时候我们需要对用户的提问进行回复。针对用户的回复我们首先要理解用户问的是什么问题,这在智能问答里有二种方法一种是基于分类,另一种基于检索式的方法。分类的方法需要预先知道用户问题类别体系,建立成本较高,且不同话术流程下用户关心的问题存在差异,因此这里我们采用了基于检索式的方法,文本匹配。在训练句子表达时候,我们训练的时候采用了LSTM+DSSM的结构,同时也尝试过采用BERT的方法对用户回复进行表征,然后计算用户回复内容与话术对应的知识库的常用问题进行匹配,选择得分最高的问题答案进行回复。
槽位提取
槽位识别是从一段文字中找到有特殊含义的实体,用于有信息提取需求的对话理解应用中,如提取时间、地点、车型、车系、家电类型、姓名等信息,此处采用IDCNN+CRF实现实体识别工作,识别后根据话术配置决定对话流程跳转。
智能语音交互在58的应用
智能语音交互是一个通用处理模块,可以针对电话平台、音视频软件的语音交互、及其他IOT。在58同城主要实践应用是电话机器人。电话机器人是具有自动电话拨打、多轮语音交互、智能意向判断等多种功能的通用对话机器人。目前应用在多个业务场景类型: 通知、回访、信息验真、销售、商机挖掘等,能为企业的销售、运营、客服提效。语音机器人相对于人工坐席,具有低成本、高效率、工作态度稳定、数据记录全面客观等特点。下面将从几个实际案例出发进行分享:
电话机器人
电话机器人是模拟真人通过电话与用户进行语音对话交互。它能够实现自动外呼、意图识别、多轮对话等。电话机器人相对于人工来说有什么优势?在工作时间上,机器人可以全年无休,每天工作24小时,而人一年法定工作日为250天左右,且每天工作8小时;在拨打电话数量上,语音机器人是由线路资源及程序决定的,而人正常8小时工作的话拨打电话数量在200~300个;在工作态度上,机器人能始终保持情绪饱满的状态,而人的情绪其实是不可控的,容易波动; 在数据落地情况上,整个语音交互的时候,系统会把所有的数据进行存储,方便大数据分析,而人工打完一通电话,就会缺失很多东西或记录成本较高;在费用上来说,机器人只有电话费用以及技术研发的费用,而人工除了电话费,人力成本是长期存在的。
3 语音机器人如何为企业提效增收
销售提效
第一个场景是助力企业销售: 在一个企业里通常会维护一个客户商机信息库(一般由CRM进行管理),为了获取有意向的客户,电话销售是重要的手段,通常一个销售每天能向外拨打200-300个客户电话,但能获取到的有意向客户的比例非常少,没有意向客户群体主要由二大部分构成一是电话无法触达(如空号、关机、停机等),另外一部分会被用户直接拒绝。也就是销售每天工作大部份时间用在这部分无意向的客户上面。为了过滤掉这部分客户商机,我们通过设计话术与用户进行语音交互获取客户的初步意向及其电话号码状态,只将有意向的客户交给人工跟进,这样可极大节省销售的人力,提升其工作效率。在我们实验中发现销售跟进机器过滤的有意向商机比例是人工直接从海量商机中获取有意向的商机比例的46倍。
商机挖掘
第二个案例是针对58用户在平台浏览家电维修服务的项目时,当用户决定联系商家时,发现商家因某种原因没有接听。在此种情况下一是用户需求没有满足,二是商家商机会流失。为了解决这两个问题,通过设计话术,让机器人主动联系那些有需求的用户,并通过对话挖掘出需求,并将用户需求反馈给商家,平台从中收取一定的服务费用。通过这种语音交互的应用不仅满足了用户需求,也为商家挽回了流失的商机,同时还会为平台创收。
客服提效
第三个案例是利用语音机器人帮助客服去做一些常规的信息传达任务。当用户在58注册为会员时,传统方式客服会通过电话对用户进行安全事项提醒操作,由于此类任务简单,通过语音机器人完全能够代替客服完成相应工作,目前已经广泛应用在58业务客服场景中。
运营提效
校招面试提效
第五个案例是我们在2019企业校招的时候,利用语音机器人代替人力针对候选人进行电话通知、核对面试相关事宜,在确认用户意向的时候我们采用分析用户按键响应,达到更加精准地获取用户选择或意向。
AI智能面试
语音机器人相关技术文章如下:
【招聘信息】
AI Lab部门介绍
58同城TEG技术工程平台群AI Lab,旨在推动AI技术在58同城的落地,打造AI中台能力,以提高前台业务的人效和用户体验。AI Lab目前负责的产品包括:智能客服、语音机器人、智能写稿、智能语音分析平台、智能营销系统、AI算法平台、语音识别引擎等,未来将持续加速创新,拓展AI应用。
欢迎加入58 AI Lab技术交流社区