基于连续混合高斯HMM模型的地名语音信号识别方法与流程

文档序号:12475855阅读:262来源:国知局
基于连续混合高斯HMM模型的地名语音信号识别方法与流程

本发明涉及地名语音信号识别方法,尤其涉及一种基于连续混合高斯HMM模型的地名语音信号识别方法。



背景技术:

随着经济的高速发展和全球化趋势的日益突出,现代物流行业已在发达国家得到了空前的发展,并产生了巨大的经济效益和社会效益,物流资源有运输、仓储、分拣、包装、配送等,这些资源分散在多个领域,包括制造业、农业、流通业等。

在分拣环节中,现阶段基本是人工进行分拣,由于工人们长期处于嘈杂的工作环境中,心里和身体上势必会产生一定的疲劳感,并且工作任务的单一性和重复性也会使他们的工作状态过于放松,这必然导致分拣精确性的下降,造成较多不可挽回的分拣失误事故发生,工业领域中对流水线上的产品分拣进行人工检测的方式已不能满足现代化工业的需求。

语音识别发展到现在,作为人机交互的重要借口已经在很多方面改变了我们的生活,从智能家居的语音控制系统到车载语音识别系统,语音识别系统给我们带来了很多方便,因此将语音识别技术与物流分拣环节的融合是物流行业发展的必然要求。

而物流分拣环节与语音识别技术结合的关键之一是如何有效地实现地名语音信号的准确识别,从而为自动化地将各类物品精确地归类到设定的地方提供技术支撑,目前鲜有看到针对孤立词的地名进行语音识别的相关技术,因此亟待进行地名语音识别技术的研发。



技术实现要素:

本发明的目的就是为了解决现有技术中存在的上述问题,提供一种基于连续混合高斯HMM模型的地名语音信号识别方法。

本发明的目的将通过以下技术方案得以实现:

基于连续混合高斯HMM模型的地名语音信号识别方法,包括连续混合高斯HMM模型的训练过程及地名语音识别过程,其中,所述连续混合高斯HMM模型的训练过程如下:

S1,定义一个包含如下参数的连续混合高斯HMM模型,λ=(N,M,A,π,B),其中:

N,模型状态数,为4;

M,每个状态所对应的高斯函数的个数,每个状态包含3个39维的高斯函数,一个模型中N个状态中每个状态高斯函数个数相同;

A,状态转移概率矩阵,A={aij},aij=P[qt+1=j/qt=i],1≤i,j≤N,其中,qt=i表示在t时刻处在状态i,q(t+1)=j表示t+1时刻在状态j,整体表示从状态i转换到状态j的概率;

π,各状态的起始概率分布,π=πt,πt=P[qi=i],1≤i≤N,其中,π=πt表示从状态i开始的概率,下标i表示各个状态对应的起始概率;

B,输出概率密度函数,B={bj(o)},其中,o为观察向量,M为每个状态包含的高斯元的个数;cjl为第j个状态第l个混合高斯函数的权,L为正态高斯概率密度函数,μjl为第j个状态第l个混合高斯元的均值矢量,Ujl为第j个状态第l个混合高斯元的协方差矩阵;

S2,模型初始化,将初始状态π=πt向量设置为(1 0 0 0),状态转移矩阵A在其自身转移和转移到下一个状态的概率均为0.5,每个高斯函数均为39阶的均值为0、方差为1的函数,权重均为1/3;

S3,将一类地名语音信号的特征矩阵代入模型中,利用Baum-Welch迭代算法进行一次模型参数训练;所述一类地名语音信号是指将一个地名的所有样本语音信号的特征矩阵数据放到一起,根据均值聚类法k-means进行聚类,分为4类,对应4个状态;

S4,根据计算出的模型参数,使用viterbi算法求出一类地名语音信号出现的概率;

S5,将该概率和训练之前的输出概率相比较,判断两者的相对误差是否满足输出条件;

S6,若符合输出条件,输出该类地名语音信号对应的连续混合高斯HMM模型;

S7,若不符合输出条件,判断训练次数是否达到最高训练阈值;

S8,若训练次数未到达最高训练阈值,则重复S3-S7步骤,若训练次数达到最高训练阈值,则终止训练,输出连续混合高斯HMM模型;

S9,将若干类地名语音信号的特征矩阵代入模型中,重复S3-S8步骤,得到若干个不同地名对应的连续混合高斯HMM模型,所有的连续混合高斯HMM模型数据形成地名语音识别模型库。

优选的,所述的基于连续混合高斯HMM模型的地名语音信号识别方法,其中:所述S3步骤中,利用Baum-Welch算法计算模型参数的过程如下:

S31,用Lagrange数乘法构造一个目标优化函数Q,其中包含了所有连续混合高斯HMM模型的参数作为变量;

S32,令Q对各变量的偏导数为0,推导出Q达到极点时新的HMM参数对应于旧的HMM参数之间的关系,从而得到HMM各参数的估计;

S33,用新旧HMM模型参数之间的函数关系反复迭代运算,直到HMM模型参数不再发生明显的变化为止。

优选的,所述的基于连续混合高斯HMM模型的地名语音信号识别方法,其中:所述S6步骤中,若相对误差小于0.000001,说明模型训练已收敛,满足输出条件。

优选的,所述的基于连续混合高斯HMM模型的地名语音信号识别方法,其中:所述地名语音识别过程如下:

S10,将某一39维的地名语音信号特征矩阵代入已建立好的地名语音识别模型库中,利用viterbi算法求取它对每一类地名语音信号对应的连续混合高斯HMM模型的输出概率,并把该地名语音信号特征矩阵识别为输出概率最大的那一类。

优选的,所述的基于连续混合高斯HMM模型的地名语音信号识别方法,其中:所述地名语音识别过程如下:

S110,将一n×39的未知地名语音信号的特征矩阵输入已建立好的地名语音识别模型库中的一类地名语音信号对应的连续混合高斯HMM模型后,记其为观察序列O(o1,o2,…,on),记Pin表示在连续第n帧信号输入之后出现在状态i的概率;pin表示在状态i观察到第n帧信号的概率;aij表示从状态i转移到状态j的概率;

当第1帧信号输入,pi1=fi(o1);(1≤i≤4),此处fi(o1)表示第一帧向量在状态i位置出现的概率;

因为初始状态为1,所以P11=p11;P21=0;P31=0;P41=0;

当第2帧信号输入,pi2=fi(o2);(1≤i≤4)

则Pi2=max{Pj1*aji*pi2}(1≤j≤4),其中Pj1表示第一帧信号之后在状态i的概率,aji表示从状态j转移到状态i的概率;

以此类推,

当第n帧信号输入时,pin=fi(on);(1≤i≤4)

Pin=max{Pj(n-1)*aji*pin}(1≤j≤4),其中n是一段语音信号的帧数;

当未知地名语音信号的所有帧信号输入结束后,得到P1n,P2n,P3n,P4n四个概率,其中最大的一个概率即是未知地名语音信号在此类地名语音信号对应的连续混合高斯HMM模型中出现的概率;

S120,将未知地名语音信号的特征矩阵代入所有其他类地名语音信号对应的连续混合高斯HMM模型中,得出此未知地名语音信号在每一个连续混合高斯HMM模型中出现的概率,并将则此未知地名语音信号归属于各类地名语音信号对应的连续混合高斯HMM模型中出现的概率最大的那一类。

本发明技术方案的优点主要体现在:

本发明设计精巧,过程合理,通过采集大量的地名语音样本、科学的算法及优化的训练条件,能够有效地训练得到适合孤立词的地名语音识别的连续混合高斯HMM模型并建立地名语音识别模型库,从而为后续进行地名语音识别创造了基础,为准确的识别出地名提供了保证。

本发明利用地名语音信号的特点,选取的连续混合高斯模型是4个状态的,且每个状态包含3个39维的高斯函数,地名语音信号特征矩阵的维数也是39维,极大减小计算量,使得模型训练速度及语音识别速度更快。

附图说明

图1是本发明的过程示意图;

图2是本发明的隐马尔科夫链示意图。

具体实施方式

本发明的目的、优点和特点,将通过下面优选实施例的非限制性说明进行图示和解释。这些实施例仅是应用本发明技术方案的典型范例,凡采取等同替换或者等效变换而形成的技术方案,均落在本发明要求保护的范围之内。

本发明揭示基于连续混合高斯HMM模型的地名语音信号识别方法,包括连续混合高斯HMM模型的训练过程及地名语音识别过程,其中,如附图1所示,所述连续混合高斯HMM模型的训练过程如下:

S1,定义一个包含如下参数的连续混合高斯HMM模型,λ=(N,M,A,π,B),其中:

N,模型状态数,为4;

M,每个状态所对应的高斯函数的个数,每个状态包含3个39维的高斯函数,一个模型中N个状态中每个状态高斯函数个数相同;

A,状态转移概率矩阵,A={aij},aij=P[qt+1=j/qt=i],1≤i,j≤N,其中,qt=i表示在t时刻处在状态i,q(t+1)=j表示t+1时刻在状态j,整体表示从状态i转换到状态j的概率;

π,各状态的起始概率分布,π=πt,πt=P[qi=i],1≤i≤N,其中,π=πt表示从状态i开始的概率,下标i表示各个状态对应的起始概率;

B,输出概率密度函数,B={bj(o)},其中,o为观察向量,M为每个状态包含的高斯元的个数;cjl为第j个状态第l个混合高斯函数的权,L为正态高斯概率密度函数,μjl为第j个状态第l个混合高斯元的均值矢量,Ujl为第j个状态第l个混合高斯元的协方差矩阵。

S2,定义好模型后,将模型参数初始化,具体的,将初始状态π=πt向量设置为(1 0 0 0),状态转移矩阵A在其自身转移和转移到下一个状态的概率均为0.5,每个高斯函数均为39阶的均值为0、方差为1的函数,权重均为1/3。

S3,将一类地名语音信号的特征矩阵代入模型中,利用Baum-Welch迭代算法进行一次模型参数训练,其中,所述一类地名语音信号是指将一个地名的所有样本语音信号的特征矩阵数据放到一起,根据均值聚类法k-means进行聚类,将距离近的向量归为一类,分为4类,对应4个状态;此处选择四类,是因为状态数少了,会使得结果不准确,多了计算量会很大,因此选择四类;所述Baum-Welch迭代算法实际上是极大似然(ML)准则的一个应用,它采用了一种多次迭代的优化算法,详细的过程如下:

S31,用Lagrange数乘法构造一个目标优化函数Q,其中包含了所有连续混合高斯HMM模型参数作为变量;

S32,令Q对各变量的偏导数为0,推导出Q达到极点时新的HMM参数对应于旧的HMM参数之间的关系,从而得到HMM各参数的估计;

S33,用新旧HMM模型参数之间的函数关系反复迭代运算,直到HMM模型参数不再发生明显的变化为止。

S4,根据计算出的模型参数,使用viterbi算法求出一类地名语音信号出现的概率。

S5,将S4步骤中计算得到的概率和训练之前的输出概率相比较,判断两者的相对误差是否满足输出条件,当输出达到要求,即可结束循环。

S6,若符合输出条件,即相对误差小于0.000001,说明模型训练已收敛,满足输出条件,则可以输出该类地名语音信号对应的连续混合高斯HMM模型。

S7,若不符合输出条件,即相对误差大于0.000001,则能需判断训练次数是否达到最高训练阈值;之所以设定最高训练阈值,这是因为若训练样本较少时,在训练过程中会出现死循环,设定最高训练次数阈值则可正常终止训练,避免死循环,否则会永远训练下去,无法停止。

S8,若训练次数未到达最高训练阈值,则重复S3-S7步骤,若训练次数达到最高训练阈值,则终止训练,输出连续混合高斯HMM模型。

S9,将若干类地名语音信号的特征矩阵代入模型中,重复S3-S8步骤,得到若干个不同地名对应的连续混合高斯HMM模型,所有的连续混合高斯HMM模型数据形成地名语音识别模型库。

在形成地名语音识别模型库后,将任一地名语音信号进行特征提取后得到的特征矩阵输入到地名语音模型库中进行识别的过程如下:

S10,将某一39维的地名语音信号特征矩阵代入已建立好的地名语音识别模型库中,利用viterbi算法求取它对每一类地名语音信号对应的连续混合高斯HMM模型的输出概率,并把该地名语音信号特征矩阵识别为输出概率最大的那一类。

详细的,在所有的不同地名对应的连续混合高斯HMM模型中,每个模型会对应如附图2所示的一个隐马尔科夫链,其参数包括一个4状态转移矩阵和状态1-4四个高斯函数,因此进行一未知地名语音信号识别时:

S110,将一n×39的未知地名语音信号的特征矩阵输入已建立好的地名语音识别模型库中的一类地名语音信号对应的连续混合高斯HMM模型后,记其为观察序列O(o1,o2,…,on),记Pin表示在连续第n帧信号输入之后出现在状态i的概率;pin表示在状态i观察到第n帧信号的概率;aij表示从状态i转移到状态j的概率;

当第1帧信号输入,pi1=fi(o1);(1≤i≤4),此处fi(o1)表示第一帧向量在状态i位置出现的概率;

因为起始状态是规定在状态1,不在其他位置,因此只计算位置1的概率,所以P11=p11;P21=0;P31=0;P41=0;

当第2帧信号输入,pi2=fi(o2);(1≤i≤4)

则Pi2=max{Pj1*aji*pi2}(1≤j≤4),其中Pj1表示第一帧信号之后在状态i的概率,aji表示从状态j转移到状态i的概率;

以此类推,

当第n帧信号输入时,pin=fi(on);(1≤i≤4)

Pin=max{Pj(n-1)*aji*pin}(1≤j≤4),其中n是一段语音信号的帧数;

当未知地名语音信号的所有帧信号输入结束后,由于当一个信号的所有帧都输入之后,最后一帧信号只可能在状态1-4中出现,因此只有4个概率,得到P1n,P2n,P3n,P4n四个概率,其中最大的一个概率即是未知地名语音信号在此类地名语音信号对应的连续混合高斯HMM模型中出现的概率;

S120,将未知地名语音信号的特征矩阵代入所有其他类地名语音信号对应的连续混合高斯HMM模型中,得出此未知地名语音信号在每一个连续混合高斯HMM模型中出现的概率,并将则此未知地名语音信号归属于各类地名语音信号对应的连续混合高斯HMM模型中出现的概率最大的那一类。

本发明尚有多种实施方式,凡采用等同变换或者等效变换而形成的所有技术方案,均落在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1