基于连续隐马尔科夫的语音识别模型
2013-04-29梁浩杨光宇
梁浩 杨光宇
摘 要:本文针对问题一建立了基于连续隐马尔科夫模型的语音识别系统的模型。该语音识别系统包括预处理,特征提取以及声学模型三个部分。问题二要求以一个实际的例子则对问题一中建立的模型进行验证。我们选择了“话费查询”这个功能进行测试。待测语音信号依次经过预处理、特征提取、训练与识别。
关键词:语音识别;隐马尔科夫模型;预处理特
1 模型的建立与验证
本文我们所建立的语音识别门模型包括语音信号预处理模块、特征提取模块及模式库训练和待测语音识别模块。
1.1 预处理
预处理主要包括预加重,加窗分帧处理,端点检测和降噪处理四个过程。
1.1.1 预加重模型
预加重的中心思想是利用信号特性和噪声特性的差别来有效地对信号进行处理。即在噪声引入之前采用适当的网络,人为地加重发射机输入调制信号的高频分量。
1.1.2 加窗分帧处理模型
本文中选择Hamming窗进行加窗分帧处理,Hamming窗函数如下:
1.1.3 端点检测模型
本文使用双门限端点检测对语音信号进行端点处理。
1.1.4 降噪处理模型
FIR滤波器的基本结构可以理解为一个分节的延时线,把每一节的输出加权累加,可得到滤波器的输出,FIR滤波器的冲激响应h(n)是有限长的,数学上M阶FIR滤波器可以表示为:
1.2 特征提取模型
特征提取就是从语音信号中提取具有代表性的、合适的特征参数。尔频率倒谱系数(MFCC)能更加充分的利用人耳的听觉特性,因此本文中我们提取的特征参数是MFCC。
P个MFCC系数公式为:
1.3 训练与识别模型——连续隐马尔科夫模型
模式匹配是通过计算待识别语音与已知语音库中语音的相似度对语音进行识别,是多维模式识别系统中最常用的一种方法。模式匹配分为训练和识别两个阶段。
常用的模式匹配方法有动态时间规整算法以及隐马尔科夫模型等。本文选用连续隐马尔科夫模型对语音信号进行识别和训练。
1.3.1 模型建立
HMM模型可以记为:λ=(π,A,B)。A为状态转移矩阵为:B为观察值概率密度矩阵,πi为各状态其实概率分布。
1.3.2 模型求解
HMM在语音识别中需要解决估值、解码和训练三个基本问题。
⑴估值问题
对于给定的观察序列O=(O1,O2,…,OT)和模型λ=(π,A,B),前向概率求解。
⑵解码问题
对于给定的观察序列O=(O1,O2,…,OT)和模型λ=(π,A,B),求模型λ对应于观测序列O的最佳状态序列Q*=q1*,…qT*,即寻找使P(O—λ)达到最大时,O所对应的状态序列,可以采用Viterbi算法求解。
⑶训练算法
对于给定的观测序列O=(O1,O2,…,OT),如何修正模型λ参数,使得模型产生观测序列O的概率P(O—λ)最大,一般采用Baum—Welch算法。算法步骤为:确定A,B的初始值,利用前向-后向算法求前向概率和后向概率,利用重估公式求ai,j和bi(j),判断是否收敛:求出P(O—λ)并计算 。如果 小于给定的阈值 则结束,反之回到第二步继续进行循环。
1.3.3 语音识别模型
对待识别语音信号映射为观察序列,然后对各模型求概率,其中概率最大的模型对应的词即为识别结果。
假设每个词wi,都对应一个观察序列O=[O1,O2,…,OT]T,则语音识别的问题可以认为是在已知语音观察序列O的情况下,寻找与其最匹配的wi,即计算出argimax{P(wi—O)}。
由于P(wi)和P(O)都可以确定,因此式(5.3.19)的大小由P(O—wi)决定。若其对应的隐马尔科夫模型为λi,则:
P(O—wi)=P(O—λi)
其中,P(O—λi)可用前向-后向概率算法求出。然后找出最大的P(O—λi),则其模型对应的词即为识别结果。
1.4 模型的验证
问题二要求以一个实际的例子验证语音识别模型。我们选择了“话费查询功能”进行验证。为了达到这个目标,由问题二中的规则可知我们需要以比较连贯的语速用标准普通话说出“话费”。首先对该语音进行预加重。
我们用识别正确率以及识别时间这两个指标对系统的性能进行评价。在识别时我们用了十个不同个人录制的“话费”信号进行测试,识别的正确率和识别的所需时间如下表:
由上表可得:
语音识别系统的正确率为:7/10*100%=70%
平均识别时间为:(42+39+48+45+40+42+46+49+43+37)/10=43.1ms
由此可见问题一中的模型具有较高的识别率,问题二中制定的规则也可以使用,且识别的时间较短可以满足用户对于应答及时性的要求,这样可以提升用户体验。
2 模型评价
2.1 模型评价
2.1.1 模型优点
预处理使得需要处理的数据量减少,提高了系统的处理效率也提高了识别的正确率;
梅尔频率倒谱参数具有识别性能力和抗噪能力;
隐马尔科夫模型识别的正确率要高于动态时间规整算法,同时识别的时间要比动态时间规整算法短;
2.1.2 模型缺点
系统结构简单,只能识别特定的词汇,不够智能。
连续隐马尔科夫模型的计算比较复杂。
[参考文献]
[1]百度百科.预加重,http://baike.baidu.cn/view/515154.htm,2013年5月26日.
[2]王明奇.基于HMM的孤立词语音识别系统的研究.毕业论文,2007年.
[3]wangzi371312.数字化语音的分帧加窗处理.http://hi.baidu.com/wangzi371312/item/64897e6f2741d50ca0cf0f53,2013年5月26日.
[4]百度文库.端点检测,http://wenku.baidu.com/view/86236edbad51f01dc281f14d,2013年5月26日.