一种基于动态hmm事件数的提高语音识别准确率的方法
【专利摘要】本发明为大规模孤立词语音识别提供了一种提高识别准确率的方法,针对不同的孤立词建立了隐马尔科夫模型(HMM)参数自适应变化的机制,解决了不同的孤立词因HMM概率模型中事件数相同而识别准确率和识别鲁棒性低的问题。实验结果表明,本发明的方法在稍许增加识别计算量的前提下,有效地提高了大规模孤立词语音识别的准确率。待识别孤立词为5120词时,多次识别准确率的平均值由91%提高到了97.3%;待识别孤立词为10240词时,多次识别准确率的平均值由87%提高到了96.3%。相比于传统的基于统计概率的静态模型的语音识别,采用本发明方法的优势在于针对不同用户自适应的调整识别模型的参数,从而提高识别的准确率。
【专利说明】一种基于动态HMM事件数的提高语音识别准确率的方法
【技术领域】
[0001] 本发明涉及孤立词语音识别领域,具体涉及一种提高大规模孤立词语音识别的准 确率的方法。
【背景技术】
[0002] 语音在特征参数提取,得到聚类编码后,此时单纯地依靠欧氏距离来判定某一个 待识别词属于词库中的哪一个词的聚类时,是十分不准确的。语音内在的规律是统计学上 的概率模型,而欧式距离反应的是向量距离聚类中心向量的距离,故需要对得到的参数和 码本做进一步的训练,建立更加精确的统计概率模型,从而更好地反映特征参数对语音内 在规律的体现。隐马尔科夫(HMM)模型是一种反应事件跳转概率、观察样本出现概率的非 常好的数学模型,因此将语音特征参数按照一定的算法进行处理,得到HMM概率模型。
[0003] 隐马尔可夫模型是一种用参数表示的概率模型,用于描述随机过程统计特性,由 马尔可夫链演变而来,一直是语音识别的一个研究热点,在语音处理的各个领域获得广泛 应用。语音的HMM概率模板的建立,需要语音的特征参数向量的聚类编码,语音向量编码, 概率模板训练过程进行前向、后向概率计算,直到得到一个收敛的概率模型。
[0004] 声学模型通常是将获取的语音特征参数使用特定的概率算法进行训练后产生。在 基于HMM的语音识别中,一个声学模型就是一个HMM模型,通常是将获取的语音特征参数使 用HMM概率跳转算法进行训练后产生HMM模型集合。待识别语音经过提取和HMM模型一致 的特征参数,采用后向贝叶斯概率算法,计算出后验概率,产生最大的后验概率的HMM概率 模板所代表的语音样本即为待识别语音。
[0005] 对语音数据而言,主要是时频采样和频谱变换,有略微时频特性差异的语音都可 以建立相公的HMM模型。其次,模型训练就是利用现有的样本对HMM的参数进行调整,使之 能够准确描述不同语音对应的语音概率特征。对语音建立模型的过程实际上是对语音做数 学建模,并且假定相应的语音特识别概率有这些数学模型计算得到,并且有一个极值。对 HMM来说,主要是确定模型的基本拓扑结构,包括事件数目、事件的跳转模式和跳转概率等。
[0006] 不同的词,其对应的HMM模型的事件数目是不相同的,即使人耳认为相同的语音 (同一个词),由于不同人的发音、音调、口音,也会导致HMM参数的差异,即其所包含的HMM 事件数是不同的。随着孤立词个数的增加,若使用同一个HMM事件数,显然准确率会下降。
【发明内容】
[0007] 为解决现有技术中存在的问题,本发明提出了一种通过动态改变HMM模型的事件 数来提高大规模孤立词语音识别准确率的方法,解决了随着识别孤立词数量的增加而识别 准确率下降的问题。
[0008] 本发明通过以下技术方案实现:
[0009] -种基于动态HMM事件数的提高大规模孤立词语音识别准确率的方法,包括以下 步骤:
[0010] A.给出初始的HMM模型的参数,所述参数包括事件数N和观察符号数M,所述HMM 模型采用由左至右无跨越模型结构;其中,初始事件数为40,观察符号数目为32,观察序列 个数为20, HMM事件跳转概率矩阵为40X20,由观察序列的个数和观察符号数目可以得到 一个20 X 32的观察序列概率矩阵;初始事件概率矢量是一个1 X 20的行矩阵;
[0011] B.根据初始HMM事件数、观察序列数以及观察符号数,采用Baum-Welch算法训练 得到的HMM模型进行孤立词语音识别,观察识别的准确率和鲁棒性;
[0012] C.动态地改变HMM事件数N值,步长为2,继续训练得到新的HMM模型,并用训练 所用词库中的语音进行孤立词语音识别,待所有词都识别完成后,统计每次改变HMM事件 数所得到的识别准确率和识别的概率方差;重复该步骤,找到准确率最大和和概率方差最 小时所对应的HMM事件数N ;
[0013] D.用户的语音录入后经过特征参数提取,结合步骤C得到的HMM模型参数,经过前 向概率计算并给出识别结果后;然后,自动将该用户录入的词汇的语音结合词库中对应词 汇的语音进行训练,重新改变HMM的事件数,并计算得到针对特定人的HMM模型及其最佳事 件数M。
[0014] 本发明的有益效果是:本发明为大规模孤立词语音识别提供了一种提高识别准确 率的方法,针对不同的孤立词建立了隐马尔科夫模型(HMM)参数自适应变化的机制,解决 了不同的孤立词因 HMM概率模型中事件数相同而识别准确率和识别鲁棒性低的问题。实验 结果表明,本发明的方法在稍许增加识别计算量的前提下,有效地提高了大规模孤立词语 音识别的准确率。待识别孤立词为5120词时,多次识别准确率的平均值由91%提高到了 97. 3% ;待识别孤立词为10240词时,多次识别准确率的平均值由87%提高到了 96. 3%。 相比于传统的基于统计概率的静态模型的语音识别,采用本发明方法的优势在于针对不同 用户自适应的调整识别模型的参数,从而提高识别的准确率。
【专利附图】
【附图说明】
[0015] 图1是本发明的基于动态HMM事件数的提高语音识别准确率的方法的流程图。
【具体实施方式】
[0016] 下面结合【专利附图】
【附图说明】及【具体实施方式】对本发明进一步说明。
[0017] 本发明使用的隐马尔可夫HMM模型概率参数如下:
[0018] (1)N,HMM模型中的事件数。HMM模型中事件数是隐含的,在以后的表述中,标记模 型中的各个事件为{Si, S2, . . .,SN},在t时刻所处的事件为qt。
[0019] (2)M,HMM模型中每个事件下可以观察到序列中的元素的数目,即观察符号数。标 记各个观察符号为¥={力^ 2,1,%},观察序列为0={〇1,〇2,1^,%},其中 〇,为集合¥中的 一种观察符号,T为观察序列长度。
[0020] ⑶事件转移概率分布A = [aij],其中
[0021] a。. = p [qt+1 = Sj | qt = Sj 1 < i < N,1 < j < N。
[0022] (4)观察序列概率分布B = [bj (k)],其中
[0023] bj (k) = p [ot = vk I qt = Sj] 1 < k < M,1 < j < N。
[0024] (5)初始事件概率分布π = [jiJ,其中
[0025] π i = P[qi = SJ 1 彡 i 彡 N。
[0026] 待识别孤立词中识别正确的词的数目除以所有的待识别孤立词,得到的百分比结 果用于表示识别的准确率。每一个孤立词识别后都有一个识别准确率,当HMM参数发生变 化时,该识别准确率也会变化,不同HMM参数下识别准确率的方差用于表示识别的鲁棒性, 方差越小,其鲁棒性越好。
[0027] 根据Baum-Welch算法由语音特征参数经过聚类计算后得到的编码来计算HMM模 型参数时,初始事件概率分布不重要,只要满足概率的和为1即可,只会对计算过程中的迭 代次数有轻微影响。因此本发明的初始事件概率分布^ = 1/N。
[0028] 在具体的计算实现过程中,本发明采用的算法为贝叶斯前向、后向概率计算和 Baum-welch算法,附图1是本发明的方法的实现的流程图,详述如下:
[0029] 1.首先确定初始的HMM模型的参数,并对模型进行训练,经语音识别过程后,得到 一个初始的HMM模型,该概率模型对不同的词汇不是最优的。模型的结构包括事件数N以 及每个事件对应的观察符号数M。对于孤立词语音识别,可根据语音长度选取合适的HMM事 件数,实验表明太大的事件数会导致识别准确率下降。对离散HMM,观察符号数原则上由样 本空间决定,但受计算量的限制,一般可取16?64,经实验,除了某些词,大部分词的Μ在 24?50之间识别的准确率不会有太大波动。
[0030] 本发明采用ΗΜΜ的初始事件数为40,观察符号数目为32,对应特征参数的向量聚 类的个数,即Μ = 32,同时确定观察序列的个数为20。因此,由事件数和观察符号个数可以 得到一个40X20的事件跳转概率矩阵,由观察序列的个数和观察符号数目可以得到一个 20X32的观察序列概率矩阵;初始事件概率矢量是一个1X20的行矩阵。
[0031] 2.根据初始ΗΜΜ事件数和观察序列,采用Baum-Welch算法训练得到的ΗΜΜ模型进 行孤立词语音识别,观察识别的准确率和鲁棒性。训练过程中,改变HMM模型的事件数,每 次N值的改变步长为2。继续训练得到新的HMM模型,并用训练所用词库中的语音进行孤立 词语音识别。待所有词都识别完成后,统计每次改变HMM事件数所得到的识别准确率和识 别的概率方差。重复该步骤,找到准确率最大时和概率方差最小时所对应的HMM事件数。
[0032] 本发明待识别孤立词为5120词,多次识别准确率的最大值为97. 3%,待识别孤立 词为10240词时,多次识别准确率的最大值为96. 3% ;此时,每个词所对应的HMM的事件数 就是最优的,若继续变化HMM的事件数,不论增大还是减小,准确率都会低于该最大值;且 同时,每个词识别概率的方差也是最小的。
[0033] 3.实际应用中,用户输入语音词汇实现自适应学习,用户录入一个词汇的语音,经 过参数提取后,结合词库中的每个词汇的HMM,经前向概率计算后,得到所有的概率,经过排 序,找出最大的概率值,那么此时用户录入的词汇就是最大概率值所对应的那个词库中的 词汇。之后,系统使用该用户录入的词汇结合词库中的这个词汇,重新训练得到新的该词汇 的HMM模型,即新的观察事件数。
[0034] 至此,本发明的方法实现了语音识别算法自适应地学习调整模型参数。
[0035] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定 本发明的具体实施只局限于这些说明。对于本发明所属【技术领域】的普通技术人员来说,在 不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的 保护范围。
【权利要求】
1. 一种基于动态HMM事件数的提高语音识别准确率的方法,其特征在于,所述方法包 括以下步骤: A. 给出初始的HMM模型的参数,所述参数包括事件数N和观察符号数M,所述HMM模型 采用由左至右无跨越模型结构;其中,初始事件数为40,观察符号数目为32,观察序列个数 为20, HMM事件跳转概率矩阵为40X20,由观察序列的个数和观察符号数目可以得到一个 20X32的观察序列概率矩阵;初始事件概率矢量是一个1X20的行矩阵 B. 根据初始HMM事件数、观察序列数以及观察符号数,采用Baum-Welch算法训练得到 的HMM模型进行孤立词语音识别,观察识别的准确率和鲁棒性; C. 对于训练所用词库中的每一个词汇,动态地改变HMM事件数N值,步长为2,继续训 练得到新的HMM模型,并用训练所用词库中的语音进行孤立词语音识别,待所有词都识别 完成后,统计每次改变HMM事件数所得到的识别准确率和识别的概率方差;重复该步骤,找 到准确率最大和概率方差最小时所对应的HMM事件数N ; D. 用户的语音录入后经过特征参数提取,结合步骤C得到的HMM模型参数,经过前向概 率计算并给出识别结果后;然后,自动将该用户录入的词汇的语音结合词库中对应词汇的 语音进行训练,重新改变HMM的事件数,并计算得到针对特定人的HMM模型及其最佳事件数 M〇
2. 根据权利要求1所述的方法,其特征在于:所述步骤A中的观察符号数Μ在24?50 之间取值。
3. 根据权利要求1所述的方法,其特征在于:用待识别孤立词中识别正确的词的数目 除以所有的待识别孤立词,得到的结果以百分比来表示所述准确率。
4. 根据权利要求1所述的方法,其特征在于:所述步骤C中,找到准确率最大和概率方 差最小时所对应的ΗΜΜ事件数Ν,具体为:当待识别孤立词为5120词,多次识别准确率的最 大值为97. 3%,待识别孤立词为10240词时,多次识别准确率的最大值为96. 3%。
【文档编号】G10L15/00GK104064179SQ201410281284
【公开日】2014年9月24日 申请日期:2014年6月20日 优先权日:2014年6月20日
【发明者】刘明, 王明江 申请人:哈尔滨工业大学深圳研究生院