导读
语音机器人是58同城TEG技术工程平台群AI Lab团队自主研发的具有自动电话拨打、多轮语音交互、智能意向判断等功能的智能对话机器人。该机器人可广泛应用于自动电话销售、产品服务推广、信息审核、语音通知等多种业务场景。其中,语音端点检测模块(VAD)是语音机器人实现自动语音识别的重要部分,负责检测人声的起始点与终止点。
背景介绍
语音端点检测模块在人机语音交互流程中起着至关重要的作用。它从含有静音、噪音等的语音信号中识别出人声的起点,开始进行语音识别,并在检测到人声的终点时结束识别。语音端点检测的性能直接影响语音交互的流畅性和用户体验。
在VAD的优化过程中,团队尝试了三种不同的VAD方法:双门限端点检测、WebRTC VAD以及基于深度学习的VAD方法VADNet。经过多次迭代,人声帧识别的F1值从最初的52.28%提升至83.51%。
基于双门限端点检测的VAD方法
双门限端点检测可以看作一个语音分类任务。我们将人声视为正类,声视为负类。在语音机器人的任务中,我们主要关注切分的句子是否完整包含了所有的人声,同时希望VAD截取的句子的前后尽量少地包含声。我们重点关注的VAD模型效果是正向的准确率与召回率。
语音学中,发音时声带振动的音称为浊音,声带不振动的音称为清音。我们需要找的人声段包括清音与浊音,语音特征中的短时能量更适合检测浊音,而短时过零率更适合检测清音。最初采用的VAD方法是双门限端点检测法,它利用短时过零率与短时能量作为判断指标。
计算了短时能量与短时过零率后,使用各自的上限与下限阈值判定人声段的开始与结束。当短时过零率与短时能量均超过各自的上限阈值时,则找到人声帧开始;当短时过零率或短时能量中有一个低于各自的下限阈值时,则找到人声帧的结束。
双门限端点检测法虽然正向召回率较高,但正向准确率较低,说明这种方法可能会包含较多冗余的声。为了进一步提升VAD模块的效果,团队尝试了WebRTC VAD。
基于WebRTC VAD的VAD方法
WebRTC是一个由Google发起的实时通讯解决方案,其中的语音端点检测模块(VAD)被应用于音频流的静默检测和噪声抑制等领域。WebRTC VAD基于高斯混合模型(GMM)进行建模,具有快速判别和自适应参数更新的特点。其初始化参数和似然比阈值都是预先设定的初值,无需训练即可使用。它支持多种语音输入时长和激进模式选择,可以根据实际需求进行调整。相对于双门限端点检测法,WebRTC VAD在正向准确率和召回率方面都有了显著的提升。但在实际应用中,仍存在一定的提升空间。为此,团队尝试将深度学习模型VADNet应用到VAD任务中。
VADNet的初步探索
VADNet是一个可应用在VAD任务上的深度学习模型。它以声音波形或声学特征作为输入,输出当前语音帧为人声或声的判别结果。在初期实验中,团队尝试了不同的输入和模型结构以探索最佳模型配置。最终发现使用声音波形作为输入时模型的性能最佳。在实际应用中,还需要考虑输入语音的时长和在线预测耗时等因素以达到实时性和准确性的平衡。目前线上使用的是一种组合方案:语音帧长度为200ms的输入、模型结构为conv4与一层RNN的组合通过滑动窗口的形式获取语音帧进行在线预测。尽管VADNet在正向F1值上取得了较高的成绩相对于其他两种方法但其计算复杂度较高每帧的判别耗时也相对较长后续还需要进一步优化在线预测耗时以提高实时性能同时部门将继续尝试不同的输入特征和断句方法以优化预测结果和用户体验总结本文介绍了语音机器人的核心组件之一语音端点检测模块的迭代优化历程重点介绍了双门限端点检测WebRTC VAD和VADNet三种不同的语音端点检测方法在语音机器人中的应用以及它们各自的优缺点未来部门将继续优化和创新以提供更快捷和精准的语音端点检测为提升用户体验做出贡献部门简介 58同城TEG技术工程平台群AI Lab致力于推动AI技术在58同城的落地打造AI中台能力提高前台业务效率和用户体验目前负责的产品包括智能客服语音机器人智能写稿智能语音分析平台智能营销系统AI算法平台语音识别等未来将持续拓展AI应用领域为创新和发展做出贡献。