随着语音识别技术的不断发展,当前的语音识别系统在安静环境下对朗读语音的识别可以达到非常高的识别精度。但是无处不在的噪声带来了训练和测试环境之间的不匹配,语音识别系统的性能在噪声环境中急剧下降,这种问题主要是说话人因素和识别系统声学环境因素造成的。
说话人对识别系统的影响是指因说话人生理上的差异、说话人存在的口音和方言(中国的方言太过多样,而且方言影响的不只是声、韵母发音,还包括声调、韵律等)及说话人说话方式的随意性等造成的系统性能下降。生理上的差异是指不同说话人的声道形状、声门特性等存在差别,这都会导致语音频谱特性的不同。说话人所带的口音和方言将会导致他们语音的特征参数处于不同的参数空间中,使不同的语音单元的分布出现更大的交叠(语音中会出现大量的连音、吞音、发音变形,还会有“嗯啊呃”,“这个”一类的无意义发音和重复、纠正等),并给识别器带来更大的困难。对一个实用的可能需要面对成千上万潜在客户的非特定人语音识别系统而言,可能的使用者常常是带有一定口音和方言的。因而,对口音和方言的处理也就成为这类系统的设计与实现中一个很重要的方面。此外由于说话人的随意性,语音识别系统在实际应用中往往要面对语音断断续续、不规则等情况,这都对语音识别系统提出了较高的要求。
语音识别系统应用于实际环境中,除说话人因素外,还需要面对声学环境噪声对系统的影响。语音识别系统在实际环境噪声下的性能不稳定,在大多数实际环境中,存在各式各样的噪声,例如风扇转动的声音、汽车引擎发出的声音、关门声音、以及语音数据在信道传输时产生的噪声。噪声也会随时间经常发生变化,有些噪声类型的出现存在不可预测性,因此会经常遇到训练环境与识别环境的不匹配问题,对识别性能产生很大的影响。环境噪声的类型对语音污染的程度也大不相同,在一些嘈杂的环境下,语音几乎被淹没。另外对语音污染的形式也存在这不同,有些噪声与语音存在明显的相关性,有些噪声表现为与语音不相关。大量实验表明,现有的非特定人语音识别系统,如果使用不同于训练时所用的麦克风或处于不同训练时所处的外部环境时,即便在安静的办公室内测试,性能也会严重下降。而对汽车、工厂等环境中的语音信号来说,现有识别系统的稳健性更差。对于当前一些主流的云端引擎,信噪比较低的时候识别结果会大量丢字,可能是把语音也判成噪音丢弃了,也可能是因为识别出的字置信度太低被丢弃。要让语音识别系统应用于实际环境中,噪声是必须要面对的问题之一。
要将语音识别拓展到大规模应用,唯一的方法就是承认语音识别失败并采取措施解决它们,可采取的措施包括但不仅限于以下方面:
1. 基于声学模型的语音识别后文本拒接受
随着DNN等技术的应用,对噪音的鲁棒性有一定的提高,但是当信噪比较低的时候性能还是会下降的厉害,特别是当背景噪声是人声,或者是不平稳非高斯噪声(类语音特性)。除此之外,电信网域通话场景十分广泛,语音识别面临的噪声环境种类多样,不仅要适应各类缓变噪声,而且必须在噪声强度和种类多变的情况下保持稳定性能。对于电信网域通话的音频事件而言,大的类别包括人声、音乐、小孩/婴儿声、工厂的声音、风噪、交通工具的各种声音等等;小的类别,比如人声里面包括的说话声、口哨声、咳嗽声、拖音类填音、鼓掌声等等。对于现在的技术来说,声音种类的判断并不是非常困难的事,不过对于声音种类非常多的时候,识别也会有一定的困难。
目前,正在收集标注这样一个数据集。首先,基于特征门限来辅助人工收集声学拒识语料库,减少人工标注的工作量,并构造一个语音大数据信息处理工具,应对机器学习的不确定性,通过多试快速迭代出语音大数据信息处理工具,便于通过该工具方便地添加新数据、新特征,并快速训练出一个新模型通过海量的拒识语料来进行性能指标测试;然后,基于高斯混合模型GMM算法、支持向量机SVM算法,并结合语音大数据信息处理工具提取出来的多种语音特征值,在语音识别后端,开发实现一种复杂环境下准确性和稳定性较高的声学拒识算法。
2. 基于字词的快速检错机制
对于当前主流的语音识别系统的单字识别准确度非常低,识别正确率大致为42%,识别错误率大致为58%,其中噪声识别成单字占全部音频的27.9%,杂音识别成单字占识别错误音频的47.04%。究其缘由,在于目前用于汉语大词汇量、连续语音识别系统是以音节为基元模型建立,逐次获得前N个最好的候选单元(无调、有调音节),再按词性、句法、语法网络信息得到最后结果,而单字缺乏词性、句法、语法网络信息;因此,识别率很低。
对于此类缺乏词性、句法、语法网络信息的字词,可首先考察语音识别引擎输出结果的统计特性,通过比较正确的语句和大量的错误语句,集中发现其中比较稳定和容易出错的部分,如发现一些出错较为频繁的词语或者词语串,进而开发针对单独出现的错误以及关键词的高效率的检错机制。
3. 基于语言学模型的语音识别后文本置信度估计
从语法层面、语义层面和语用层面充分挖掘数据中语置信度相关的结构信息,将数据语义化,形成语义网络,通过搜索语义网络映射出一个介于0~1之间的数字,来衡量语音识别结果正确的概率。