法律状态公告日
法律状态信息
法律状态
2009-12-02
专利权的终止(未缴年费专利权终止)
专利权的终止(未缴年费专利权终止)
2006-05-31
授权
授权
2005-07-13
实质审查的生效
实质审查的生效
2005-05-11
公开
公开
技术领域
本发明涉及一种语音技术领域的非命令词快速拒识方法,具体涉及一种嵌入式语音命令识别系统中非命令词快速拒识方法。
背景技术
语音识别系统中的识别词汇总是有限的,说话人可能会讲到识别词表以外的单词,夹带一些呼吸声、咳嗽声,周围的环境也会有一些突发的噪声,这些声音都会被系统采集到,此时如果系统不能够正确判断,必然会得出错误识别结果,有可能使系统进一步向错误的方向发展。因此在语音识别系统的实际应用中,为提高系统的稳健性和可靠性,系统必须能够处理非关键词以及咳嗽、呼吸、背景噪声等非语音发声,采用拒识算法对这些词表以外的语音进行检测与拒识,从而提高系统的整体性能。大多数现有的拒识算法分为两类,一种基于废料模型,它需要为非命令词发音建立模型(基于HMM的语音识别)或模板(基于DTW的语音识别),虽然算法具有一定的效果,但这些模型或模板难以设计和训练,并且会大大增加识别时的计算量。另一种拒识算法则直接应用识别结果,例如前N个候选词的概率,通过计算置信度或采用分类器(例如神经网络)来实现命令词与非命令词的分类。
在语音识别系统的实际应用中,特别是基于DSP等硬件的识别系统,识别的实时性和有限的运算资源要求拒识算法简单有效,因此直接采用识别结果进行拒识是比较可行的方案,它避免了废料模型的训练以及多余的计算。
经文献检索发现,Changxue Ma等人在《Acoustics,Speech and SignalProcessing,2001 IEEE》Volume:1,7-11 May 2001上发表“A Support VectorMachines-based Rejection Technique for Speech Recognition”(《IEEE声学、语音与信号处理》,“语音识别中基于支持向量机的拒识技术”),该文中对于HMM模型提出了基于支持向量机的置信度计算方法对识别结果进行验证与拒识,但不适用于DTW识别方法,也不便于DSP实现。因此,针对嵌入式语音识别系统,需要在控制拒识算法复杂度的基础之上,进一步提高算法的性能。
发明内容
本发明的目的在于针对现有技术的不足,提出一种嵌入式语音命令识别系统中非命令词快速拒识方法,使得在保持计算简单、适于嵌入式应用的同时,还能进一步提高对非命令词语音的拒识率,可以做到对识别结果的实时验证。
本发明是通过以下技术方案实现的,本发明直接利用语音识别结果中前N个候选词的识别得分,通过计算归一化识别得分以及归一化一阶差分,以很小的计算代价提取具有高度区别性的特征向量用于识别结果的验证;同时采用先进的支持向量机理论,结合数据融合技术,提出具有最大推广能力和抗噪能力的分类器—基于类融合中心的支持向量机;在使用前首先采用训练数据得到分类器的优化参数,使用时只需将提取的特征向量输入到此分类器中,就能根据分类结果实现对非命令词的快速拒识。本发明直接利用识别结果提取特征,计算简单有效,并通过数据融合技术改进传统支持向量机分类器的抗噪性能,进一步提高了非命令词的拒识效果,特别适用于资源非常有效的嵌入式实时语音识别系统。
以下对本发明作进一步的说明,本发明包括特征提取、改进的支持向量机算法和非命令词快速拒识三个步骤:
1、特征提取
在语音识别系统中,一般只为待识别的命令建立模型或模板。当输入的语音是非命令词时,识别结果的得分一般低于命令词,由于识别得分对不同说话人存在较大差异,因此其本身并不能很好的区别命令词和非命令词两类语音。从识别结果可以发现,对于非命令词语音而言,其识别所得的最优候选词归一化得分比命令词的归一化识别得分相对较小,即使是不同说话人情况下也是如此。同时,相应的归一化一阶差分值也具有相似的特性。由此可以利用每次识别所得的前N个候选词,将其归一化识别得分及其归一化一阶差分作为识别结果验证的依据,将它们组成特征向量后输入到预先训练好的支持向量机中,实现对命令词和非命令词语音的快速分类。
2、基于类融合中心的支持向量机
作为统计学习理论所提出的一种可以直接用于实践的机器学习方法,支持向量机通过在结构风险最小化原则下使分类间隔最大,获得了很好的泛化能力,明显优于传统的基于经验风险最小化(ERM)的常规神经网络方法,但它对噪声比较敏感。为提高算法的容噪性能,本发明采用数据融合技术中的分布图法计算得到命令词和非命令词两类数据集的类融合中心x+和x-,通过计算两类中心之间的分类超平面获得类似SVM的最佳推广能力。
根据SVM中最优问题的求解,可得到与其相类似的优化问题为:
0≤αi≤C i=1,…,S
其中C>0是控制惩罚程度的常数,s为样本数。最后得到其分类函数为:f(x)=sgn(w*·x+b*),其中
通过求解两类中心之间的分类超平面,使得噪声经过分布图法剔除以及类融合中心的平均得到抑制,从而有效地提高了支持向量机的容噪性能。
此外,可以根据上式的形式简化算法,简化后的分类函数为:
如果采用线性核函数,则f(x)=sgn(w*·x+b*),其中w*=(1-λ)wSVM+λ(x+-x-),0≤λ≤1是结合参数,根据应用情况决定。
3、非命令词的快速拒识
针对每次识别所得的特征向量,利用已训练好的支持向量机,将特征向量作为支持向量机的输入,并根据支持向量机分类函数的输出结果,快速拒识非命令词,再利用支持向量机输出的分类函数结果y=fSVM(x)∈[-1,1],根据其符号判断当前识别结果所属的类,分类函数结果的正负即对应命令词与非命令词两类。即当分类函数值为非负值时认为语音识别系统的识别结果是命令词,即待识别的命令,输出识别结果,当其为负值时则认为是非命令词,系统进行拒识,不输出识别结果。
本发明利用了识别结果中包含的区别性信息,不仅能有效区分命令词与非命令词,而且无需额外的计算。通过采用具有最大推广能力的支持向量机处理信息,能够快速有效地进行非命令词的拒识。本发明应用于嵌入式命令集自动语音识别系统的后端处理,在保证识别实时性的同时能有效提高系统的可靠性和实用性,是嵌入式自动语音识别系统推向实用的一项关键技术。
附图说明
图1基于类融合中心的支持向量机原理图
图2本发明实施例中基于类融合中心支持向量机与一般支持向量机的性能比较
其中(a)不存在outlier时一般SVM的分类结果;(b)存在outlier时一般SVM的分类结果;(c)存在outlier时FSVM的分类结果。
图3识别结果中包含的区别性信息
(a)归一化识别得分的分布;(b)归一化识别得分一阶差分值的分布
具体实施方式
为更好地理解本发明的技术方案,以下用包含10个命令词的非特定人语音识别系统作为具体的实例作进一步的说明。
本发明提出的非命令词快速拒识算法完成对语音识别结果的后端处理,它直接利用识别的计算结果,实现对命令词与非命令词的分类,具有快速、有效、易于实现等特点。在对识别结果进行验证与拒识之前,支持向量机已经训练好。根据识别得分的差分值所组成的特征向量,支持向量机输出一个与之相对应的分类函数值,由此判断出此识别结果对应的是待识别命令词还是非命令词。算法所用的支持向量机方法基于统计学习理论,是目前最佳的一种小样本学习理论,具有较好的泛化能力,用于嵌入式自动语音识别系统的后端处理具有良好的性能。
实施例
1、特征提取
可以将归一化识别得分及其归一化一阶差分值作为区别性信息,用于非命令词的检测。设q1,q2,Λ,qN为前N个候选词的识别得分,按从小到大的顺序排列。
则其归一化识别得分为:
相应的归一化一阶差分值为
2、支持向量机训练
首先将训练集的识别结果导入PC机,利用识别结果中前10个候选词的归一化得分(即经过归一化的DTW结果)及其归一化一阶差分组成19维的向量,训练分类所用的支持向量机。为保证拒识计算的实时性,需要支持向量机的计算简单,因此采用线性核函数。这里采用300次发音的识别结果训练支持向量机,分别对应150个命令词与150个非命令词。所有命令词特征向量对应的分类函数值为+1,表示命令词属于类+1;所有非命令词特征向量对应的分类函数值为-1,表示它属于类-1。训练步骤如下:
(1)采用SMO方法训练支持向量机,参数C=50,得到相应的权值向量wSVM。
(2)然后计算两类的类融合中心x+和x-:采用分布图法检验训练集中同类数据的一致性,剔除此类数据中与实际类中心偏差较大的样本点(outliers)的影响。再将剩余的数据进行平均值运算(各向量元素分别求平均),得到的平均值向量作为最后的类融合中心。分布图算法如下:
设属于同一类的数据为x1,x2,……xN,它们为L维向量。分布图用中位数(M)、四分位数(F)、四分位数离散度(dF)、淘汰点(ρ)等概念来反映数据的分布结构,以找出数据中较不可靠的离异值。设向量的范数值为ti,则
将ti按由小到大的顺序排列为T1T2……TN,则TN、T1分别为上、下极值,中位数为:
相应的上、下四分位数Fu、Fl分别为区间[M,TN]与[T1,M]的中位数,则四分位数离散度dF=Fu-Fl。若认为与中位数的距离大于βdF即为离异值,即认定|Ti-M|>βdF时,Ti是偏差较大的数据,则得到相应的淘汰点为:
其中β为常数,其大小由经验决定,一般取0.5、1.0、2.0等值。这里取β=2,凡在区间[ρ1,ρ2]内的样本点数据被认为是有效的一致性数据,将这些数据作为新的集合再用分布图法进行一致性检验,如此重复检验多次,直至没有数据剔除为止。
(3)取λ=0.06,采用简化方式计算最后分类函数f(x)=sgn(w*·x+b*),其中参数w*=(1-λ)wSVM+λ(x+-x-)。出于稳定性的考虑,使用所有支持向量对应b值的平均值作为b*:
3、非命令词的快速拒识
针对每次识别得到的结果,按前面所述的方法组成特征向量,并将特征向量输入到已训练好的支持向量机中。利用支持向量机输出的分类函数结果y=fSVM(x)∈[-1,1],将负值对应的识别结果划分为非命令词,将非负值对应为待识别的命令。从线性核支持向量机分类函数可以看出,分类函数的计算简单,利用该分类函数的结果值,即可快速判断出被识别的命令是否为命令词,并对属于非命令词的语音进行拒识。
通过60次发音(30个为命令词发音,30个为非命令词发音)作测试表明,本方法对非命令词的平均拒识率为80%,而对命令词的错误拒识率仅为3.3%。
本发明提出的非命令词快速拒识方法与传统方法(单层感知器(SLP)及多层感知器(MLP)神经网络方法)以及一般支持向量机(SVM)方法的比较如表1所示。
表1.各种算法用于非命令词拒识的性能比较
从表可以看出,具有线性核函数的一般支持向量机(SVM)的性能优于SLP神经网络算法,而计算量却与之相当。虽然SVM的性能略优于MLP,但支持向量机用于非命令词拒识时的计算量(即分类函数式的计算量)远远小于MLP。基于类融合中心的支持向量机(FSVM)是对SVM的一种改进,在计算量增加较小的情况下表现出了优于SVM、SLP、MLP的性能,能够保证识别的实时性,适于在硬件环境下实现。
机译: 自动语音识别系统中孤立词命令识别与关联词命令识别的同时对应
机译: 飞机语音命令执行方法及驾驶舱语音命令识别系统
机译: 用于命令文本中错误词的快速语音选择的方法和设备