本发明涉及语音识别技术领域,特别是涉及一种基于dtw和gmm的短词句语音识别方法及系统。
背景技术:
现有的高斯混合模型gmm无法使用dtw距离,因而无法对长短不一的离散矢量集进行高斯混合模型gmm建模,所以高斯混合模型gmm无法应用到短词句语音识别中。目前,基本上采用基于dtw算法的knn方法,但是此方法识别速度慢,计算消耗较大。
技术实现要素:
本发明的目的是提供一种基于dtw和gmm的短词句语音识别方法及系统,以达到识别效率高、识别精度高的目的。
为实现上述目的,本发明提供了如下方案:
一种基于dtw和gmm的短词句语音识别方法,包括:
获取当前阶段采集的语音音频数据;
根据所述当前阶段采集的语音音频数据、内置dtw距离的高斯混合模型以及语音音频数据库,确定所述当前阶段采集的语音音频数据对应的识别结果;
其中,所述语音音频数据库包括n个短词句,所述内置dtw距离的高斯混合模型包括k支高斯模型,且k=n;所述内置dtw距离的高斯混合模型是根据所述语音音频数据库、dtw算法和高斯混合模型构建的。
可选的,所述根据所述当前阶段采集的语音音频数据、内置dtw距离的高斯混合模型以及语音音频数据库,确定所述当前阶段采集的语音音频数据对应的识别结果,具体包括:
根据所述当前阶段采集的语音音频数据和内置dtw距离的高斯混合模型,计算所述当前阶段采集的语音音频数据属于第k支高斯模型的概率值,进而得到k个概率值;其中,k=1,2,...,k;
确定k个所述概率值中的最大概率值,并将所述最大概率值对应的高斯模型确定为选中高斯模型;
将所述选中高斯模型对应的短词句确定为所述当前阶段采集的语音音频数据的识别结果;其中,一个所述高斯模型对应一个所述短词句,且不同的所述高斯模型对应不同的所述短词句。
可选的,在确定所述内置dtw距离的高斯混合模型的构建过程之前,还包括:构建内存储有不同长度短词句的语音音频数据库;所述语音音频数据库包括n个语音音频数据,且每个所述短词句对应m个语音音频数据,n=n*m。
可选的,所述内置dtw距离的高斯混合模型的构建过程为:
步骤一:对高斯混合模型中的参数αk,uk,σk进行初始化;其中,αk表示高斯混合模型中第k支高斯模型的权重系数,uk表示高斯混合模型中第k支高斯模型的中心矢量,σk表示高斯混合模型中第k支高斯模型的方差;
步骤二:根据公式
步骤三:根据所述概率γjk更新参数αk,uk,σk;
步骤四:重复步骤二和步骤三,并当步骤三输出的更新后的参数αk,uk,σk收敛时,停止参数更新,进而得到内置dtw距离的高斯混合模型。
可选的,所述根据所述概率γjk更新参数αk,uk,σk,具体包括:
确定更新后的参数uk;
根据公式
根据公式
可选的,所述确定更新后的参数uk,具体包括:
步骤a:对参数uk进行初始化;参数uk的维数为语音音频数据库中所有语音音频数据的维数的中值;
步骤b:根据公式
步骤c:重复步骤b,直到当前轮迭代结果和上一轮迭代结果的差值小于设定阈值停止,得到更新后的参数uk。
可选的,初始化后的参数uk的分量全部为0。
可选的,初始化后的参数αk=1/n;初始化后的参数σk为一个常数值。
一种基于dtw和gmm的短词句语音识别系统,包括:
数据获取模块,用于获取当前阶段采集的语音音频数据;
识别模块,用于根据所述当前阶段采集的语音音频数据、内置dtw距离的高斯混合模型以及语音音频数据库,确定所述当前阶段采集的语音音频数据对应的识别结果;
其中,所述语音音频数据库包括n个短词句,所述内置dtw距离的高斯混合模型包括k支高斯模型,且k=n;所述内置dtw距离的高斯混合模型是根据所述语音音频数据库、dtw算法和高斯混合模型构建的。
可选的,所述识别模块,具体包括:
概率计算单元,用于根据所述当前阶段采集的语音音频数据和内置dtw距离的高斯混合模型,计算所述当前阶段采集的语音音频数据属于第k支高斯模型的概率值,进而得到k个概率值;其中,k=1,2,...,k;
选中单元,用于确定k个所述概率值中的最大概率值,并将所述最大概率值对应的高斯模型确定为选中高斯模型;
识别单元,用于将所述选中高斯模型对应的短词句确定为所述当前阶段采集的语音音频数据的识别结果;其中,一个所述高斯模型对应一个所述短词句,且不同的所述高斯模型对应不同的所述短词句。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明将dtw算法与高斯混合模型相结合,即构建了内置dtw距离的高斯混合模型,使得内置dtw距离的高斯混合模型可以在时域使用,即减少了计算量,又提高了计算精度;且内置dtw距离的高斯混合模型的使用,使得在语音识别时不需要像knn算法那样遍历整个语音音频数据库,进一步加速了识别计算的实时性。显然,本发明提供的技术方案具有识别效率高、识别精度高的优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于dtw和gmm的短词句语音识别方法的流程示意图;
图2为本发明基于dtw和gmm的短词句语音识别系统的结构示意图;
图3为本发明内置dtw距离的高斯混合模型的短词句语音识别方法的流程示意图;
图4为本发明内置dtw距离的高斯混合模型的构建过程示意图;
图5为本发明语音音频数据识别过程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于dtw和gmm的短词句语音识别方法及系统,具有识别效率高、识别精度高的优点。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
术语解释:
dtw:英文全称为dynamictimewarping,中文名称为动态时间规整;dtw是一种离散数值序列之间比较距离的计算方法,特点是离散序列长度不一致也可以进行比较。
gmm:英文全称为gaussianmixedmodel,中文名称为高斯混合模型;gmm是一种随机矢量的概率模型,也可以作为一种曲线拟合模型,这里作为一种随机矢量的概率模型。
knn:英文全称为knearestneighbor,中文名称为k最近邻法;knn是一种模式识别方法,将输入模式和库存模板匹配,从最相似的k个选项里选择最多数的所属类别,即得识别结果。
hmm:英文全称为hiddenmarkovmodel,中文名称为隐藏马尔可夫模型;hmm是一种经典的连续性、大词量语音识别算法。
实施例一
本发明实施例提供了一种基于dtw和gmm的短词句语音识别方法,能够使高斯混合模型gmm可以使用dtw距离,对长短不一的数据直接在时域处理,具有识别效率高、识别精度高的优点。
如图1所示,本发明实施例提供的一种基于dtw和gmm的短词句语音识别方法,包括以下步骤。
步骤100:获取当前阶段采集的语音音频数据。
步骤110:根据所述当前阶段采集的语音音频数据、内置dtw距离的高斯混合模型以及语音音频数据库,确定所述当前阶段采集的语音音频数据对应的识别结果。
其中,所述语音音频数据库包括n个短词句,所述内置dtw距离的高斯混合模型包括k支高斯模型,且k=n;所述内置dtw距离的高斯混合模型是根据所述语音音频数据库、dtw算法和高斯混合模型构建的。
作为一种优选的实施方式,本发明实施例所述的步骤110具体包括:
根据所述当前阶段采集的语音音频数据和内置dtw距离的高斯混合模型,计算所述当前阶段采集的语音音频数据属于第k支高斯模型的概率值,进而得到k个概率值;其中,k=1,2,...,k。
确定k个所述概率值中的最大概率值,并将所述最大概率值对应的高斯模型确定为选中高斯模型。
将所述选中高斯模型对应的短词句确定为所述当前阶段采集的语音音频数据的识别结果;其中,一个所述高斯模型对应一个所述短词句,且不同的所述高斯模型对应不同的所述短词句。
作为一种优选的实施方式,本发明实施例所述的在确定所述内置dtw距离的高斯混合模型的构建过程之前,还包括:构建内存储有不同长度短词句的语音音频数据库;所述语音音频数据库包括n个语音音频数据,且每个所述短词句对应m个语音音频数据,n=n*m。
作为一种优选的实施方式,本发明实施例所述的内置dtw距离的高斯混合模型的构建过程为:
步骤一:对高斯混合模型中的参数αk,uk,σk进行初始化;其中,αk表示高斯混合模型中第k支高斯模型的权重系数,uk表示高斯混合模型中第k支高斯模型的中心矢量,σk表示高斯混合模型中第k支高斯模型的方差。初始化后的参数αk=1/n;初始化后的参数σk为一个常数值。
步骤二:根据公式
步骤三:根据所述概率γjk更新参数αk,uk,σk。
步骤四:重复步骤二和步骤三,并当步骤三输出的更新后的参数αk,uk,σk收敛时,停止参数更新,进而得到内置dtw距离的高斯混合模型。
其中,步骤三具体包括:
确定更新后的参数uk;根据公式
进一步地,更新后的参数uk的确定过程具体包括:
步骤a:对参数uk进行初始化;参数uk的维数为语音音频数据库中所有语音音频数据的维数的中值。初始化后的参数uk的分量全部为0。
步骤b:根据公式
步骤c:重复步骤b,直到当前轮迭代结果和上一轮迭代结果的差值小于设定阈值停止,得到更新后的参数uk。
实施例二
为实现上述目的,本发明实施例提供了一种基于dtw和gmm的短词句语音识别系统,如图2所示,包括:
数据获取模块200,用于获取当前阶段采集的语音音频数据。
识别模块210,用于根据所述当前阶段采集的语音音频数据、内置dtw距离的高斯混合模型以及语音音频数据库,确定所述当前阶段采集的语音音频数据对应的识别结果。
其中,所述语音音频数据库包括n个短词句,所述内置dtw距离的高斯混合模型包括k支高斯模型,且k=n;所述内置dtw距离的高斯混合模型是根据所述语音音频数据库、dtw算法和高斯混合模型构建的。
其中,所述识别模块210,具体包括:
概率计算单元,用于根据所述当前阶段采集的语音音频数据和内置dtw距离的高斯混合模型,计算所述当前阶段采集的语音音频数据属于第k支高斯模型的概率值,进而得到k个概率值;其中,k=1,2,...,k。
选中单元,用于确定k个所述概率值中的最大概率值,并将所述最大概率值对应的高斯模型确定为选中高斯模型。
识别单元,用于将所述选中高斯模型对应的短词句确定为所述当前阶段采集的语音音频数据的识别结果;其中,一个所述高斯模型对应一个所述短词句,且不同的所述高斯模型对应不同的所述短词句。
另外,内置dtw距离的高斯混合模型的构建过程参见实施例一,在此不再过多赘述。
实施例三
本发明实施例提供了一个在时域使用高斯混合模型的短词句语音识别方法,此方法具有识别精度高,计算效率高的优点。
现在,基于大规模多层级神经网络的机器学习可以应用到语音识别领域中,且取得了传统隐藏马尔可夫模型(hmm)所不能达到的成功精度,但这只是针对连续语音识别。在短词短句语音识别领域中,传统的dtw算法(动态时间规整,dynamictimewarping,dtw)仍占有一席之地,因为与深度学习方法比较,dtw算法具有简单、数据积累依赖不强、识别精度理论上也可以满足需求等特点。
基于dtw算法的短词句语音识别方法,简要叙述如下:
首先,建立不同的短词短句库。采用某人在实验室环境录音,录下各短词句的标准音,建立各词句的标准录音语库。有时候,为了使得dtw算法的识别更稳定可靠,对语库中每个短词句建立多个录音员版本,例如男声、女声、老年人声、童声,等等。
其次,语音识别。采用k最近邻法(knn)进行识别决策,具体为将实时录音数据与短词短句库中每个词句录音进行匹配,在对某个词句录音匹配时遍历它的不同录音版本。在k个最近匹配语库样本中选择被最多次匹配中的语句所在类别作为识别结果。实时录音和短词短句库中的每一条录音样本之间的匹配就是计算它们之间的dtw距离。而所谓“被匹配中”就是指这些dtw距离中最小的k个,例如总共有n个短词句,每个短词句有m个版本的录音,则当前实时录音与短词短句库中mn个样本之间的dtw距离就是mn个数,这中间最小的k个就是“被匹配中”。识别决策是依据这k个匹配对所指向的最多次数的短词句。
值得指出的是,在基于k最近邻法(knn)进行短词句语音识别时,dtw距离度量是绕不开的,因为对相同语言的相同词句,人类语音的录音长短,快慢节奏都是不同的。使用非dtw度量的距离,无法在两条点数长短不一的矢量数据下计算它们的距离。
而高斯混合模型gmm在用于语音处理时,一般对语音数据进行频域转换,使得不同时长的语音数据具有相同的矢量点数(即矢量的维数)。基于经典的高斯混合模型gmm的音色识别解决方案就是如此。在使用高斯混合模型gmm时,由于建语库样本无法保证所有样本数据长短一致,当不转换到频域时就无法处理现在面临的短词句识别情况。
以上说明了现有存在以下问题:
一、由于系统精度和系统稳定的需要,基于dtw算法和k最近邻法的短词句识别技术容易陷入“大短词短句库匹配遍历灾难”,即便m是固定,n也可能很大。
二、使用高斯混合模型gmm建立短词短句库,不需要对一个短词句建立多个录音样本,但面临着如何避免转换到频域却又解决录音样本长短不一无法使用高斯混合模型gmm的问题。
鉴于此,本发明实施例提供了一种内置dtw度量的高斯混合模型的短词句语音识别方法。它能规避传统上大语库遍历灾难,又以在时域处理音频匹配而带来了计算的高效便捷,且集成了高斯混合模型的强大的建模适应能力。
在详细介绍本发明实施例提供的技术方案之前,先介绍下高斯混合模型和dtw距离。
高斯混合模型(gaussianmixedmodel,gmm)gmm简介
高斯混合模型的数学表达式为:
其中,x表示输入数据(列)矢量,αk,uk,σk分别是模型参数,k=1,2,...,k,k表示该高斯混合模型混合的高斯模型的总支数;
高斯混合模型进行分类决策必须经过一个训练过程,而训练过程中不需要对数据进行类别标注,只要数据在各个类别的分布数量比较均衡即可,但是高斯混合模型的总支数k必须是已知的。
简单描述下训练过程:xj,j=1,2,...,n为一组训练数据,n为数据总量。正如前述,不论xj是时域数据还是频域数据,xj都必须是长度一致(维数相同)的列矢量。
步骤一,对模型参数αk,uk,σk进行初始化;
步骤二,计算xj属于第k支高斯模型的概率γjk;
θk表示第k个分支,p(θk)表示对任意输入音频数据x的第k个分支的所属概率,p(θk)=αk,t表示矢量矩阵的转置乘法,(xj-uk)是行向量矩阵,(xj-uk)t就是列向量矩阵。
步骤三,更新模型参数;
重复步骤二、三,直到步骤三输出当前次更新后的模型参数,与上一次更新后的模型参数的数值差别很小(意味着已经收敛)。
动态时间规整dtw距离简介
传统上,度量(距离)的计算都异于dtw距离,主要是它们没有数据点位异步对齐的特征,因为它们默认处理一对含相同点数的数据(两个矢量维数相同),例如对于数据xi=(xi1,xi2,...,xim)t与xj=(xj1,xj2,...,xjm)t,m是它们的维数。传统的非dtw距离计算为d=f(xi1-xj1,xi2-xj2,...,xim-xjm),当函数f为不同的形式时可以表示不同的距离,例如当f为平方和时,
而dtw就突破了默认同步对齐的机制,例如xi=(xi1,xi2,...,xip)t和xj=(xj1,xj2,...,xjq)t(这里在记号上把i,j改成上标),xi为p维矢量,xj为q维矢量,而且p和q可以相等,也可以不相等,既便p=q时,计算机制也完全不同于默认同步对齐的机制。于是它们在异步对齐时的欧式距离平方就为
本发明实施例提供的内置dtw距离的高斯混合模型的短词句语音识别方法,如图3所示,具体包括如下步骤。
步骤300:建立不同短词短句的语音样本库。
语音样本库为每一个作为完整识别单位的短词短句留存多个录音音频,所有录音音频数据为x1,x2,...,xn。注意,这里多个录音音频数据只作为训练用,将来在实时识别时只要使用训练好的模型就可以,不需要像dtw算法那样去遍历整个语音库,所以n大小不影响识别的计算速度,仅仅是在训练过程中增加耗时。
步骤310:构建内置dtw距离的高斯混合模型,如图4所示,具体包括如下:
步骤一、对高斯混合模型中的参数αk,uk,σk进行初始化。
这些参数αk,uk,σk是高斯混合模型的核心参数,αk表示高斯混合模型的第k分支(即第k支高斯模型)的权重系数,uk表示第k分支(即第k支高斯模型)的中心矢量(即均值(列)矢量),可以看成第k分支的代表,σk表示第k分支(即第k支高斯模型)的方差。如果语音样本库总共有n个短词句,那么训练的目的是让高斯混合模型的n个分支代表这n个短词句,则初始化αk=1/n;uk为第k个短词句对应的多个录音音频数据中的任意一个录音音频数据,并对该矢量的每一个分量给予一个小扰动,例如对该分量减去或加上该分量值的十分之一;所有σk统一选作一个常数值,例如1。其中,k=1,2,...,k,且k=n。
步骤二、计算语音样本库中录音音频数据xj属于第k分支的概率γjk,j=1,2,...,n;
这里xj与uk的维数不一定相同,于是采用dtw算法计算两者之间的dtw距离(计算时用每一个单项
步骤三,更新参数αk,uk,σk
在这一步中首先假设uk已经更新好,那么
下面用步骤a、b、c、…表示参数uk的更新过程。
首先uk的维数选定为所有参与训练的样本xj,j=1,2,...,n中维数的中值(这一步是一次性的,在下一轮到uk更新时这步可省,默认采用之前确定的维数)。
步骤a,uk初始化,全部分量为0,即u0k=0为零矢量,维度由上面步骤确认。
步骤b,根据公式
步骤c,回到步骤b进行又一轮迭代,直到当前轮迭代和紧邻的上一轮迭代的结果相差很小(比如差别小于0.001,意味着已经收敛),停止。
对k=1,2,...,k都依照上面步骤a、b、c更新uk。
步骤四,重复步骤二、三,直到步骤三输出当前次更新后的参数,与上一次更新后的参数的数值差别很小(比如差别小于0.001,意味着已经收敛,)停止,得到内置dtw距离的高斯混合模型。
这里训练过程中,包含两层循环,外层循环和内层循环,外层循环是步骤二至四,内层循环是步骤三中的步骤a到步骤c,即针对每次外层循环,步骤a到步骤c都要循环至收敛,再进行下一次外层循环。
步骤320:获取当前阶段采集的语音音频数据。
步骤330:根据当前阶段采集的语音音频数据、内置dtw距离的高斯混合模型和语音样本库,确定识别结果,如图5所示,具体过程为:
实时输入当前阶段采集的语音音频数据x,首先使用内置dtw距离的高斯混合模型进行识别,计算语音音频数据x属于第k分支(从而确定是第k个短词句)的概率γxk(这是一个条件概率,即在条件x时,确定属于第k分支的概率p(θ(k)|x)=γxk),其计算公式为
然后在n个概率值
dtw距离的运用使得高斯混合模型可以在时域中使用(避免使用频域,减少计算量),提供计算效率和计算精度;其次,高斯混合模型的使用使得在语音识别时不需要像knn算法那样遍历整个模板库,加速了识别计算的实时性。显然,本发明提供的技术方案计算高效、且又能保证精度。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
本文用于企业家、创业者技术爱好者查询,结果仅供参考。