自动语音识别系统中的OOV快速拒识算法

资源类型:pdf 资源大小:371.00KB 文档分类:工业技术 上传者:赵瑞

相关文档

批量下载下列文档

文档信息

【作者】 蔡铁  朱杰 

【关键词】支持向量机 OOV拒识 语音识别 神经网络 

【出版日期】2005-05-20

【摘要】在自动语音识别系统的实际应用中,词表外(Out-of-Vocabulary,OOV)语音的检测与拒识非常重要。针对语音识别的实时性要求,提出了一种新的基于支持向量机的OOV快速拒识算法,并将其应用于基于DSP实现的孤立词语音识别系统中。实验结果表明,该算法计算简单,实时性好,且效果显著,拒识率达80%以上。通过与传统神经网络方法的比较,证明该算法具有更好的性能和应用潜力。

【刊名】计算机工程

全文阅读

语音识别系统中的识别词汇总是有限的,说话人可能会讲到识别词表以外的单词,夹带一些呼吸声、咳嗽声,周围的环境也会有一些突发的噪声,这些声音都会被系统采集到,此时如果系统不能够正确判断,必然会得出错误识别结果,有可能使系统进一步向错误的方向发展。因此在语音识别系统的实际应用中,为提高系统的稳健性和可靠性,系统必须能够处理非关键词以及咳嗽、呼吸、背景噪声等非语音发声,采用OOV拒识算法对这些词表以外(Out-of-vocabulary,OOV)的语音进行检测与拒识,从而提高系统的整体性能。大多数现有的拒识算法分为两类:一种基于废料模型,它需要为OOV建立模型(基于HMM的语音识别)或模板(基于DTW的语音识别),虽然算法具有一定的效果,但这些模型或模板难以设计和训练,并且会大大增加识别时的计算量;另一种拒识算法则直接应用识别结果,例如前N个候选词的概率,通过计算置信度的方法实现[1,2]。针对当前我们设计的基于DSP实现的自动语音识别系统,考虑到计算的复杂性和实现成本,系统采用的是基于DTW的识别算法,并根据识别结果,将前N个候选词的DTW累计距离经过处理后组成向量,采用支持向量机对其分类,实现OOV的拒识。这种算法直接利用识别结果,不需计算多余的参数,简单有效。本文详细论述了支持向量机的原理及其在OOV拒识方法中的应用,并对实验结果进行了分析。1支持向量机[3]统计学习理论是一种研究小样本情况下机器学习性质和规律的理论。在这一理论下发展的一种通用的模式分类方法――支持向量机(Support Vector Machine,SVM),通过结构化风险最小(SRM)原则和核函数方法,从而实现最佳的推广能力,明显优于传统的基于经验风险最小化的常规神经网络方法[3,4]。1.1线性支持向量机在线性可分的情况下,假定有数据(x1,y1),…,xm,ym,其中ni Rx∈,Mi,,2,1=是d维训练样本,∈iy{+1,-1},Mi,,2,1=表明该向量所属两类中的一类,它们可以被一个超平面0=+?bxw没有错误地分开,通过调整w和b有1)(≥+?bxwy ii,Mi,,2,1=(1)按照直观的推测,与两类样本点距离最大的分类超平面会获得最佳的推广能力(也就是最为稳妥地描述了两种样本的界限)。最优超平面将由离它最近的少数样本点(称为支持向量)决定,而与其它样本无关。其中分界面bxw+?的分类间隔为wbxwwbxwbwd iiyixiiyix+?++?=?==minmin}1|{}1|{),((2)为了使SVM算法能应用于线性不可分情况,引入软边缘最优超平面的概念,加入非负变量iξ,1,2,,i M=,将约束条件(1)放宽,得1,2,,()1i i i My x w bξ=?+≥?i(3)这样,最大化分类间隔),(bwd的问题可以通过拉格朗日乘数法转化为式(4)中)(αW的最大化及其约束条件[3]:1,11()2..001,,M Mi i j i j i ji i jMi iiiMaxmize W y y x xs t yC i Mααααα===??=≤≤=∑∑∑α(4)其中C>0是控制惩罚程度的常数。每一个拉格朗日乘数αi对应一个训练样本ix,对应的αi>0的训练样本就被称为“支持向量”。则最后得到的分类函数为)sgn()sgn()(1bxxybxwxf Mi iii+?=+?=∑=α(5)1.2非线性支持向量机根据支持向量机理论,对于非线性划分的情况可以通过非线性变换K:(Rn,Rn)→H将它转化为某个高维特征空间H中的线性划分问题。如果存在一个核函数K,满足)()(),(jiji xKxKxxK?=(6)那么就能用原空间中的函数来实现变换空间中的点积,即用),(ji xxK代替ix和jx在高维特征空间中的映射的点积。这样的核函数称为卷积核函数,多项式函数、高斯径向基函数、两层神经网络等都是常用的SVM的核函数[3]。通过在输入空间中计算卷积核函数,从而绕开非线性映射的具体形式,不必在高维特征空间中进行计算。此时的分类函数为)),(sgn())()(sgn()(11∑∑==+=+?=Mi jiiijMi iiibxxKybxKxKyxfαα(7)2基于支持向量机的OOV快速拒识算法支持向量机针对的主要是二分类问题,它可以通过产生的支持向量来概括数据集合中的信息,即用支持向量来代替原有样本点集,用这组支持向量进行分类在结构风险最小的意义下是最优的,通常支持向量数量远远小于用于训练的样本数目,特别适合在语音识别系统中对词表内的词(In-vocabulary,IV)和词表外的词进行分类,文献[5]就采用了隐马尔可夫模型计算出的置信度与支持向量机相结合的方法。对于以DTW算法得到的识别结果,支持向量机也应能与其结合进行识别结果的验证。由于系统对IV词和OOV词的识别结果中存在区别性信息,因此可将它组成特征向量后输入到支持向量机,通过判断支持向量机分类函数的结果来区分当前的识别结果是否属于OOV。同时,支持向量机的分类函数形式简单,计算量小,适合在基于DSP的实时语音识别系统中应用。2.1基于DSP的孤立词语音识别系统目前我们开发的基于硬件平台的非特定人孤立词语音识别系统,是以空调的语音控制为应用领域,在TMS320C5402DSP芯片上采用改进的DTW识别算法实现。系统通过进一步的扩展,能应用到其它家用电器的语音控制、汽车中的电话语音拨号以及手持终端等领域。为满足系统使用的可靠性、操作的友好性以及对语音识别的实时性,系统采用的OOV拒识算法必须简单、有效,且便于DSP编程实现。2.2特征向量提取在语音识别系统中,一般只为待识别(即词表内,IV)语音或词建立模型或模板。当输入的语音是OOV时,识别结果的得分一般低于IV词的识别得分,由于识别得分对不同说话人存在较大差异,因此其本身并不能很好地区别OOV和IV。归一化识别得分可以发现,OOV词识别所得的最优候选词归一化得分比IV的归一化识别得分相对较小,即使是不同说话人情况下也是如此。同时,相应的归一化一阶差分值也具有相似的特性。通过对150个IV词和60个OOV词进行识别,可以得到最优候选词归一化得分及其一阶差分值的分布,如图1和图2所示。图1归一化识别得分的分布图2归一化一阶差分值的分布由此可以将归一化识别得分及其归一化一阶差分值作为区别性信息,用于OOV词的检测。设Nqqq,,,21为前N个候选词的识别得分,按从小到大的顺序排列。则其归一化识别得分为∑==Ni iiiqqd1,Ni,,1=(8)相应的归一化一阶差分值为∑?=++??=′1111Ni iiiiiqqqqd1,,1?=Ni将它们组成的特征向量{d1,…,dn,d’1,…,d’n-1}作为支持向量机(SVM)的输入,对IV和OOV进行分类。2.3OOV快速拒识为实现IV和OOV的有效分类,首先在使用前需要训练支持向量机(SVM)。将训练集中IV词对应特征向量的分类函数值设为+1,表示IV属于类+1;所有OOV词特征向量对IV OOV0102030405001020304050121086420151050IV OOV-10010203040-1001020304020151050121086420应的分类函数值设为-1,表示OOV属于类-1,并设置支持向量机的核函数为线性核函数,训练得到所需的支持向量机。在使用时,针对每次识别得到的结果,按前面所述的方法组成特征向量,并将特征向量输入到已训练好的支持向量机中。利用支持向量机输出的分类函数结果y=fsvm(x)∈[-1,1],根据其符号判断当前识别结果所属的类,分类函数结果的正负即对应IV和OOV两类。从式(5)表示的线性核支持向量机分类函数可以看出,分类函数的计算简单,利用该分类函数的结果值,即可快速判断出被识别的命令是否为OOV词,并对属于OOV的语音进行拒识。3实验结果与分析3.1语音库系统采用8kHz,单声道,16位采样,在无噪声、无信道差异(同一硬件平台和麦克风)情况下录制孤立发音为语音数据库。采用信号经过了预加重和哈明窗,帧长128点,帧移64点,经自相关算法计算得到8阶LPC倒谱系数。训练集合由20人男声组成,实验所采用的测试集合由5人组成,共有词汇20个,其中10个为与控制命令有关的关键词(即IV),另10个包括与关键词发音相似的词以及咳嗽、呼吸等噪声(即OOV),每个词重复3次,则训练集共有1200个样本(其中关键词600个样本,OOV词600个样本),测试集有300个样本(其中关键词150个,非关键词即OOV词150个)。3.2实验结果首先将训练集的识别结果导入PC机,利用识别结果中前10个候选词的归一化得分(即经过归一化的DTW结果)及其归一化一阶差分组成19维的向量,输入到采用线性核函数的支持向量机(SVM)中,训练得到参数w和b(控制惩罚程度的常数C=100)。利用训练所得的支持向量机,对训练集和测试集数据分别进行实验。针对这种基于识别结果的OOV拒识过程,采用神经网络分类方法同样也简单有效[6],因此本文对单层感知器(SLP)及多层感知器(MLP)神经网络方法进行了相同的实验,并比较了实验结果,如表1、表2所示。表13种算法对测试集数据的错误率算法训练集错误率SVM SLP MLP IV Rejection(错误拒绝率)4.2%5%5%OOV Acceptance(错误接受率)10%20%4%表23种算法对训练集数据的错误率从表1和表2可以看出,对OOV的错误接收率大于对关键词(IV)的错误拒绝率,这是因为OOV包括了咳嗽、呼吸等噪声,这些难以重复发音,因此与OOV相关的训练数据变化较大,训练效果有所降低。比较这3种算法的实验结果可知,具有线性核函数的支持向量机的性能优于SLP神算法测试集错误率SVM SLP MLP IV Rejection(错误拒绝率)5%6.7%10%OOV Acceptance(错误接受率)20%26.7%20%经网络算法,而计算量却与之相当。虽然SVM的性能略优于MLP,但支持向量机用于OOV拒识时的计算量(即分类函数式(5)的计算量)远远小于MLP,能够保证识别的实时性,更适于在本系统的硬件环境下实时实现。3.3不同核函数支持向量机的实验结果支持向量机采用核函数的方法能实现对样本的非线性分类。为进一步考察算法的性能,选择不同核函数的支持向量机用于OOV拒识。表3是采用不同核函数的支持向量机用于OOV拒识的实验结果(用测试集数据实验)。由表3可知,由于在原特征空间就已经可以线性可分了,因此线性的核函数就能给出最好的结果。随着多项式核函数阶数的增加,支持向量机模型越来越复杂,错误率却不断上升,而径向基核函数的效果更差,这说明通过核函数的映射,不同类的数据反而发生了混叠,变成高度非线性了。采用线性核函数不但得到了最佳的效果,同时也是最简单的,适合基于DSP的编程实现,也适合本系统的实时性要求。4结论支持向量机是一种较新的机器学习方法,具有很好的应用前景。本文提出了一种基于支持向量机和DTW算法识别结果的OOV拒识算法,并将其应用于一个实用的基于DSP的语音识别系统,实验表明此算法简单、有效,与传统神经网络方法相比具有更好的性能。虽然支持向量机在过量匹配、运算速度和结果精度等方面都有着明显的优势,但由于其理论本身的特点,它对噪声数据非常敏感,不适于含噪声数据的样本集的分类学习,因此它在语音识别及其相关技术中的进一步应用还有待深入的研究。自动语音识别系统中的OOV快速拒识算法@蔡铁$上海交通大学电子工程系!上海200030 @朱杰$上海交通大学电子工程系!上海200030支持向量机;;OOV拒识;;语音识别;;神经网络在自动语音识别系统的实际应用中,词表外(Out-of-Vocabulary,OOV)语音的检测与拒识非常重要。针对语音识别的实时性要求,提出了一种新的基于支持向量机的OOV快速拒识算法,并将其应用于基于DSP实现的孤立词语音识别系统中。实验结果表明,该算法计算简单,实时性好,且效果显著,拒识率达80%

1 2

问答

我要提问