首页 / 国际专利分类库 / 物理 / 乐器;声学 / 语音识别方法、装置、计算机设备及存储介质

语音识别方法、装置、计算机设备及存储介质

申请号 CN201710438772.7 申请日 2017-06-12 公开(公告)号 CN107331384A 公开(公告)日 2017-11-07
申请人 平安科技(深圳)有限公司; 发明人 梁浩; 王健宗; 程宁; 肖京;
摘要 本 发明 提出了一种 语音识别 方法,该方法包括:获取待识别的语音数据;提取语音数据中的Filter Bank特征和MFCC特征;将MFCC特征作为GMM-HMM模型的输入数据,获取第一似然概率矩阵;将Filter Bank特征作为二维LSTM模型的输入特征,获取后验概率矩阵;将后验概率矩阵和第一似然概率矩阵作为HMM模型的输入数据,获取第二似然概率矩阵,根据第二似然概率矩阵在 音素 解码网络中获取对应的目标词序列。该方法通过将混合高斯模型和 深度学习 模型结合,且采用创新的二维LSTM模型作为 声学模型 ,提高了语音识别的准确度。此外,还提出了一种语音识别装置、计算机设备及存储介质。
权利要求

1.一种语音识别方法,所述方法包括:
获取待识别的语音数据;
提取所述语音数据中的Filter Bank特征和MFCC特征;
将所述MFCC特征作为训练后的GMM-HMM模型的输入数据,获取所述训练后的GMM-HMM模型输出的第一似然概率矩阵;
将所述Filter Bank特征作为训练后的二维LSTM模型的输入特征,分别进行时间维度和层次维度的计算,获取输出的包含有时间维度和层次维度信息的后验概率矩阵;
根据所述后验概率矩阵和所述第一似然概率矩阵采用训练后的HMM模型计算得到目标似然概率矩阵;
根据所述目标似然概率矩阵在音素解码网络中获取与所述待识别的语音数据对应的目标词序列。
2.根据权利要求1所述的方法,其特征在于,所述根据所述后验概率矩阵和所述第一似然概率矩阵采用训练后的HMM模型计算得到目标似然概率矩阵的步骤包括:
将所述Filter Bank特征和所述第一似然概率矩阵作为训练后的DNN-HMM模型的输入数据,获取所述训练后DNN-HMM输出的第二似然概率矩阵;
将所述后验概率矩阵和所述第二似然概率矩阵作为训练后的HMM模型的输入数据,计算得到目标似然概率矩阵。
3.根据权利要求1所述的方法,其特征在于,所述提取所述语音数据中的Filter Bank特征和MFCC特征的步骤包括:
将所述待识别的语音数据进行傅里叶变换转换为频域的能量谱;
将所述频域的能量谱作为梅尔尺度的三滤波器组的输入特征,计算得到待识别语音数据的Filter Bank特征;
将所述Filter Bank特征经过离散余弦变换得到待识别语音数据的MFCC特征。
4.根据权利要求1所述的方法,其特征在于,所述将所述Filter Bank特征作为训练后的二维LSTM模型的输入特征,分别进行时间维度和层次维度的计算,获取输出的包含有时间维度和层次维度信息的后验概率矩阵的步骤包括:
获取待识别语音数据中每一语音数据对应的Filter Bank特征并按照时间排序;
将每一帧语音数据以及该帧的前后预设帧数的Filter Bank特征作为所述训练后的二维LSTM模型的输入特征,分别进行时间维度和层次纬度的计算,获取输出的包含有时间维度和层次纬度信息的每一帧语音数据对应的音素状态上的后验概率;
根据所述每一帧语音数据对应的后验概率确定所述待识别语音数据对应的后验概率矩阵。
5.根据权利要求1所述的方法,其特征在于,在所述获取待识别的语音数据的步骤之前还包括:
采用训练语料库对高斯混合模型GMM和HMM进行训练,通过不断的迭代训练确定所述GMM模型对应的方差和均值;
根据所述方差和均值生成训练后的GMM-HMM模型;
根据所述训练语料库中提取的MFCC特征,采用训练后的GMM-HMM模型获取到所述训练语料库对应的似然概率矩阵;
根据所述训练预料库中提取的Filter Bank特征和所述似然概率矩阵对所述二维LSTM模型进行训练,确定与所述二维LSTM模型对应的权重矩阵和偏置矩阵;
根据所述权重矩阵和偏置矩阵生成训练后的二维LSTM模型。
6.一种语音识别装置,其特征在于,所述装置包括:
获取模,用于获取待识别的语音数据;
提取模块,用于提取所述语音数据中的Filter Bank特征和MFCC特征;
输出模块,用于将所述MFCC特征作为训练后的GMM-HMM模型的输入数据,获取所述训练后的GMM-HMM模型输出的第一似然概率矩阵;
第一计算模块,用于将所述Filter Bank特征作为训练后的二维LSTM模型的输入特征,分别进行时间维度和层次维度的计算,获取输出的包含有时间维度和层次维度信息的后验概率矩阵;
第二计算模块,用于根据所述后验概率矩阵和所述第一似然概率矩阵采用训练后的HMM模型计算得到目标似然概率矩阵;
解码模块,用于根据所述目标似然概率矩阵在音素解码网络中获取与所述待识别的语音数据对应的目标词序列。
7.根据权利要求6所述的装置,其特征在于,所述第二计算模块还用于将所述Filter Bank特征和所述第一似然概率矩阵作为训练后的DNN-HMM模型的输入数据,获取所述训练后DNN-HMM输出的第二似然概率矩阵,将所述后验概率矩阵和所述第二似然概率矩阵作为训练后的HMM模型的输入数据,计算得到目标似然概率矩阵。
8.根据权利要求6所述的装置,其特征在于,所述提取模块还用于将所述待识别的语音数据进行傅里叶变换转换为频域的能量谱,将所述频域的能量谱作为梅尔尺度的三角滤波器组的输入特征,计算得到待识别语音数据的Filter Bank特征,将所述Filter Bank特征经过离散余弦变换得到待识别语音数据的MFCC特征。
9.一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1-5任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-5任意一项所述方法的步骤。

说明书全文

语音识别方法、装置、计算机设备及存储介质

技术领域

[0001] 本发明涉及计算机处理领域,特别是涉及一种语音识别方法、装置、计算机设备及存储介质。

背景技术

[0002] 语音识别,也被称为自动语音识别(Automatic Speech Recognition,ASR),其目标是让机器通过识别和理解,把语音信号变成文字,是现代人工智能发展的重要分支。语音识别技术的实现是自然语言处理的前提,并能有效推动声控交互相关领域的发展并极大方便人们的生活,如智能家居、语音输入。语音识别的准确度直接决定了技术应用的有效性。
[0003] 传统的语音识别技术是基于GMM-HMM(混合高斯模型和隐尔科夫模型)进行声学模型的建立,近年来,随着深度学习技术的发展,基于DNN-HMM(深度学习模型和隐马尔科夫模型)进行声学模型的建立相对于GMM-HMM在识别准确度上虽然有了很大的提升,但是还有待于进一步提高语音识别的准确度。

发明内容

[0004] 基于此,有必要针对上述语音识别准确度不够的问题,本发明提出了一种能更加准确的语音识别方法、装置、计算机设备及存储介质。
[0005] 一种语音识别方法,所述方法包括:获取待识别的语音数据;提取所述语音数据中的Filter Bank特征和MFCC特征;将所述MFCC特征作为训练后的GMM-HMM模型的输入数据,获取所述训练后的GMM-HMM模型输出的第一似然概率矩阵;将所述Filter Bank特征作为训练后的二维LSTM模型的输入特征,分别进行时间维度和层次维度的计算,获取输出的包含有时间维度和层次维度信息的后验概率矩阵;根据所述后验概率矩阵和所述第一似然概率矩阵采用训练后的HMM模型计算得到目标似然概率矩阵;根据所述目标似然概率矩阵在音素解码网络中获取与所述待识别的语音数据对应的目标词序列。
[0006] 一种语音识别装置,所述装置包括:获取模,用于获取待识别的语音数据;提取模块,用于提取所述语音数据中的Filter Bank特征和MFCC特征;输出模块,用于将所述MFCC特征作为训练后的GMM-HMM模型的输入数据,获取所述训练后的GMM-HMM模型输出的第一似然概率矩阵;第一计算模块,用于将所述Filter Bank特征作为训练后的二维LSTM模型的输入特征,分别进行时间维度和层次维度的计算,获取输出的包含有时间维度和层次维度信息的后验概率矩阵;第二计算模块,用于根据所述后验概率矩阵和所述第一似然概率矩阵采用训练后的HMM模型计算得到目标似然概率矩阵;解码模块,用于根据所述目标似然概率矩阵在音素解码网络中获取与所述待识别的语音数据对应的目标词序列。
[0007] 一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0008] 获取待识别的语音数据;
[0009] 提取所述语音数据中的Filter Bank特征和MFCC特征;
[0010] 将所述MFCC特征作为训练后的GMM-HMM模型的输入数据,获取所述训练后的GMM-HMM模型输出的第一似然概率矩阵;
[0011] 将所述Filter Bank特征作为训练后的二维LSTM模型的输入特征,分别进行时间维度和层次维度的计算,获取输出的包含有时间维度和层次维度信息的后验概率矩阵;
[0012] 根据所述后验概率矩阵和所述第一似然概率矩阵采用训练后的HMM模型计算得到目标似然概率矩阵;
[0013] 根据所述目标似然概率矩阵在音素解码网络中获取与所述待识别的语音数据对应的目标词序列。
[0014] 一个或多个存储有计算机可执行指令的非易失性计算机可读存储介质,所述计算机可执行指令被一个或多个处理器执行时,使得所述一个或多个处理器执行以下步骤:
[0015] 获取待识别的语音数据;
[0016] 提取所述语音数据中的Filter Bank特征和MFCC特征;
[0017] 将所述MFCC特征作为训练后的GMM-HMM模型的输入数据,获取所述训练后的GMM-HMM模型输出的第一似然概率矩阵;
[0018] 将所述Filter Bank特征作为训练后的二维LSTM模型的输入特征,分别进行时间维度和层次维度的计算,获取输出的包含有时间维度和层次维度信息的后验概率矩阵;
[0019] 根据所述后验概率矩阵和所述第一似然概率矩阵采用训练后的HMM模型计算得到目标似然概率矩阵;
[0020] 根据所述第二似然概率矩阵在音素解码网络中获取与所述待识别的语音数据对应的目标词序列。
[0021] 上述语音识别方法、装置、计算机设备及存储介质,将混合高斯模型GMM和深度学习模型中的长短时递归神经网络LSTM进行了结合,先采用GMM-HMM模型根据提取的MFCC特征计算得到第一似然概率矩阵,第一似然概率矩阵表示对语音数据在音素状态上对齐结果,然后在使用LSTM在之前初步对齐结果的基础上进行进一步的对齐,有利于提高语音识别的准确度,且该LSTM采用的是创新性的二维LSTM,既包括时间维度的信息又包括层次纬度的信息,所以相对于传统的只有时间维度信息的LSTM具有更好的语音特征表达,进一步了提高语音识别的准确度。附图说明
[0022] 图1为一个实施例中计算机设备的内部结构框图
[0023] 图2为一个实施例中语音识别的架构图;
[0024] 图3为一个实施例中语音识别方法的流程图
[0025] 图4为一个实施例中二维LSTM的结构示意图;
[0026] 图5为一个实施例中根据后验概率矩阵和第一似然概率矩阵采用训练后的HMM模型计算得到目标似然概率矩阵的方法流程图;
[0027] 图6为一个实施例中提取语音数据中的Filter Bank特征和MFCC特征的方法流程图;
[0028] 图7为一个实施例中通过二维LSTM模型获取后验概率矩阵的方法流程图;
[0029] 图8为一个实施例中GMM-HMM模型和二维LSTM模型建立的方法流程图;
[0030] 图9为一个实施例中语音识别装置的结构框图;
[0031] 图10为一个实施例中第一计算模块的结构框图;
[0032] 图11为另一个实施例中语音识别装置的结构框图。

具体实施方式

[0033] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0034] 如图1所示,为一个实施例中计算机设备的内部结构示意图。该计算机设备可以是终端也可以是服务器。参照图1,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、内存储器、网络接口、显示屏和输入装置。其中,该计算机设备的非易失性存储介质可存储操作系统和计算机可读指令,该计算机可读指令被执行时,可使得处理器执行一种语音识别方法。该计算机设备的处理器用于提供计算和控制能支撑整个计算机设备的运行。该内存储器中可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种语音识别方法。计算机设备的网络接口用于进行网络通信。计算机设备的显示屏可以是液晶显示屏或者电子显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。触摸层和显示屏构成触控屏。本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0035] 首先,介绍一下语音识别的框架,如图2所示,语音识别主要包括两个部分:声学模型和语言模型,然后结合字典就构成了语音识别的框架。语音识别的过程就是根据字典、声学模型和语言模型,将输入的语音特征序列转换为字符序列的过程。其中,声学模型的作用是得到语音特征与音素的映射,语言模型的作用是得到词与词、词与句子的映射,字典的作用是得到字词与音素之间的映射。具体语音识别的过程可以分为三步,第一步,把语音识别成音素状态,即进行语音帧和音素状态上的对齐。第二步是将状态组合成音素。第三步是把音素组合成单词。其中,第一步是声学模型的作用,是重点也是难点,语音帧与音素状态的对齐结果越准确,就意味着语音识别的效果就会越好。其中,音素状态是比音素更细致的语音单位,通常一个音素由3个音素状态构成。
[0036] 如图3所示,在一个实施例中,提出了一种语音识别方法,该方法可应用于终端或服务器中,具体包括以下步骤:
[0037] 步骤302,获取待识别的语音数据。
[0038] 在本实施例中,这里待识别的语音数据通常是通过交互应用获取到用户输入的音频数据,包括数字的音频和文字的音频。
[0039] 步骤304,提取语音数据中的Filter Bank特征和MFCC特征。
[0040] 在本实施例中,Filter Bank(滤波器组)特征和MFCC(Mel frequency cepstrum coefficient,梅尔倒谱系数)特征都是语音识别中用来表示语音特征的参数。其中,Filter Bank用于深度学习模型,MFCC用于混合高斯模型。在提取语音数据中的FilterBank特征和MFCC特征之前,一般需要对语音数据进行预处理。具体地,首先对输入的语音数据进行预加重处理,通过使用一个高通滤波器提升语音信号中的高频部分,使得频谱更平滑,然后将经过预加重处理的语音数据进行分帧加窗,从而将非平稳的语音信号转变为短时平稳的信号,接着通过端点检测,区分语音与噪声,并提取出有效的语音部分。为了提取语音数据中的Filter Bank特征和MFCC特征,首先,将经过预处理的语音数据进行快速傅里叶变换,从而将时域的语音信号转换为频域的能量谱进行分析,然后将能量谱通过一组梅尔尺度的三滤波器组,突出语音的共振峰特征,之后计算每个滤波器组输出的对数能量,该滤波器组输出的特征就是Filter Bank特征。进一步的,将计算得到的对数能量经离散余弦变换得到MFCC系数,即MFCC特征。
[0041] 步骤306,将MFCC特征作为训练后的GMM-HMM模型的输入数据,获取训练后的GMM-HMM模型输出的第一似然概率矩阵。
[0042] 在本实施例中,声学模型和语言模型共同实现对语音的识别。其中,声学模型的作用是用于识别语音帧与音素状态的对齐关系。GMM-HMM模型属于声学模型的一部分,用于将语音帧与音素状态进行初步对齐。具体地,将提取的待识别的语音数据的MFCC特征作为训练后的GMM-HMM模型的输入数据,然后获取该模型输出的似然概率矩阵,为了便于和后续进行区分,这里称为“第一似然概率矩阵”。似然概率矩阵表示的是语音帧与音素状态上的对齐关系,即根据计算得到的似然概率矩阵就可以得到语音帧与音素状态上的对齐关系,只不过,通过GMM-HMM训练得到的对齐关系并不十分准确,所以这里通过第一似然概率矩阵相当于对语音帧和音素状态进行了初步对齐。GMM模型具体的计算公式如下:
[0043]
[0044] 其中,x表示提取的语音特征(MFCC)向量,μ,D分别为均值和方差矩阵,K表示MFCC系数的阶数。
[0045] 步骤308,将Filter Bank特征作为训练后的二维LSTM模型的输入特征,分别进行时间维度和层次维度的计算,获取输出的包含有时间维度和层次维度信息的后验概率矩阵。
[0046] 在本实施例中,LSTM模型属于深度学习模型,也属于声学模型的一部分。二维LSTM是在传统的LSTM模型的基础上提出的创新性的模型,该模型不仅包括时间维度还包括层次维度。所以相对于传统的LSTM模型该模型具有更好的识别效果。通过将Filter Bank特征作为训练后的二维LSTM模型的输入特征,使用时间维度和层次维度是通过对相同输入(语音特征)分别进行两个维度的计算,最后再将结果融合输出来实现的。其中,在LSTM每一层都是先进行时间维度的计算,然后输出作为层次维度的输入。这样每个LSTM神经元节点就同时拥有了时间和层次信息。如图4所示,为一个实施例中二维LSTM的结构示意图。参考图4,首先定义输入 其中,t表示时间,l表示层,T指时间维度,timeLSTM,D指层次纬度DepthLSTM。输出为:
[0047]
[0048] 其中,c表示节点的状态,θ指LSTM其他所有参数。简单的理解就是将相同的输入(语音特征)每次计算时做两遍,一边专注于时间维度,一遍专注于层次维度,其输出与只使用时间维度计算的传统LSTM形式一样。通过二维LSTM模型后,获取到输出的包含有时间维度信息和层次维度信息的后验概率矩阵。
[0049] 步骤310,根据后验概率矩阵和第一似然概率矩阵采用训练后的HMM模型计算得到目标似然概率矩阵。
[0050] 在本实施例中,HMM(隐马尔科夫)模型是统计模型,它用来描述一个含有隐含未知参数的马尔科夫过程,作用是从可观察的参数中确定该过程中的隐含参数。HMM模型中主要涉及5个参数,分别是2个状态集合和3个概率集合。其中,2个状态集合分别为隐藏状态和观察状态,三个概率集合为初始矩阵,转移矩阵和混淆矩阵。其中,转移矩阵是训练得到的,也就是说,一旦HMM模型训练完成,该转移矩阵就确定了。在该实施例中,主要是采用可观察的语音特征(Filter Bank特征)作为观察状态,来计算确定音素状态与语音帧的对应关系(即隐含状态)。如果想要确定音素状态与语音帧的对应关系,还需要确定两个参数,那就是初始矩阵和混淆矩阵。其中,通过二维LSTM模型计算得到的后验概率矩阵就是HMM模型中需要确定的混淆矩阵,第一似然概率矩阵就是需要确定的初始矩阵。所以将后验概率矩阵和第一似然概率矩阵作为训练后的HMM模型的输入数据,就可以获取输出的目标似然概率矩阵。该目标似然概率矩阵表示的是音素状态与语音帧的最终的对齐关系。后续根据该确定的目标似然概率矩阵就可以在音素解码网络中获取与待识别的语音数据对应的目标词序列。
[0051] 步骤312,根据目标似然概率矩阵在音素解码网络中获取与待识别的语音数据对应的目标词序列。
[0052] 在本实施例中,在语音识别过程中,包括两个部分,一个是声学模型,一个是语言模型。在语音识别前,首先需要根据训练后的声学模型和语言模型以及字典建一个音素级别的解码网络,根据搜索算法在该网络中寻找最佳的一条路径,其中,搜索算法可以采用维特比算法(Viterbi算法)。这个路径就是能够以最大概率输出与待识别语音数据对应的词串,这样就确定了这个语音数据中所包含的文字了。其中,音素解码级别的解码网络(即音素解码网络)是通过有限状态机(Finite State Transducer,FST)相关算法来完成的,如确定化算法determination、最小化算法minimization,通过将句子拆分成词、再将词拆分为音素(如汉语的声韵母、英文的音标),然后将音素和发音词典、语法等通过上述方法进行对齐计算,得到输出的音素解码网络。音素解码网络中包含了所有可能识别的路径表达,解码的过程就是根据输入的语音数据,对这个庞大网络进行路径的删减,得到一个或多个候选路径,存储在一种词网络的数据结构中,然后最后的识别就是对候选路径进行打分,分数最高的路径为识别结果。
[0053] 上述语音识别方法,将混合高斯模型GMM和深度学习模型中的长短时递归神经网络LSTM进行了结合,先采用GMM-HMM模型根据提取的MFCC特征计算得到第一似然概率矩阵,第一似然概率矩阵表示对语音数据在音素状态上对齐结果,然后再使用LSTM在之前初步对齐结果的基础上进行进一步的对齐,有利于提高语音识别的准确度,且该LSTM采用的是创新性的二维LSTM,既包括时间维度的信息又包括层次纬度的信息,所以相对于传统的只有时间维度信息的LSTM具有更好的语音特征表达,进一步了提高语音识别的准确度。
[0054] 如图5所示,在一个实施例中,根据所述后验概率矩阵和所述第一似然概率矩阵采用训练后的HMM模型计算得到目标似然概率矩阵的步骤310包括:
[0055] 步骤310A,将Filter Bank特征和第一似然概率矩阵作为训练后的DNN-HMM模型的输入数据,获取训练后DNN-HMM输出的第二似然概率矩阵。
[0056] 步骤310B,将后验概率矩阵和第二似然概率矩阵作为训练后的HMM模型的输入数据,计算得到目标似然概率矩阵。
[0057] 在本实施例中,为了能得到更准确的识别效果,在通过训练后的GMM-HMM模型得到初步对齐结果(第一似然概率矩阵),然后再经过训练后的DNN-HMM进行进一步的对齐,能够获取更好的对齐效果。由于深度神经网络模型比传统的混合高斯模型能得到更好的语音特征表达,因此使用深度神经网络模型做进一步强制对齐能进一步提高准确率。然后将该进一步对齐的结果(第二似然概率矩阵)代入具有创新型的二维LSTM-HMM模型,可以获取到最后的对齐结果(目标似然概率矩阵)。需要说明的是,这里的对齐结果是指语音帧与音素状态的对齐关系。上述不管是混合高斯模型还是深度学习模型等都是声学模型的一部分,而声学模型的作用就是获取语音帧与音素状态的对齐关系,便于后续结合语言模型在音素解码网络中获取与待识别语音数据对应的目标词序列。
[0058] 在本实施例中,通过将混合高斯模型GMM-HMM,和深度学习模型DNN-HMM以及长短时递归神经网络LSTM结合进行语音识别,先采用GMM-HMM模型根据提取的MFCC特征计算得到第一似然概率矩阵,第一似然概率矩阵表示对语音帧与音素状态的初步对齐结果,然后在此基础上采用DNN-HMM模型进行进一步的对齐,之后再使用LSTM在之前对齐结果的基础上进行最后一步的对齐,通过将GMM-HMM,DNN-HMM模型以及LSTM模型进行结合提高了语音识别的效果,且该LSTM采用的是创新性的二维LSTM,既包括时间维度的信息又包括层次纬度的信息,相对于传统的只有时间维度信息的LSTM具有更好的语音特征表达,有利于进一步提高语音识别的效果。
[0059] 如图6所示,在一个实施例中,提取语音数据中的Filter Bank特征和MFCC特征的步骤304包括:
[0060] 步骤304A,将待识别的语音数据进行傅里叶变换转换为频域的能量谱。
[0061] 在本实施例中,由于语音信号在时域上的变换通常都很难看出信号的特性,所以通常需要将它转换为频域上的能量分布来观察,不同的能量分布,代表不同语音的特性。所以需要将待识别的语音数据经过快速傅里叶变换以得到频谱上的能量分布。其中,是通过将每一帧语音信号进行快速傅里叶变换得到每一帧的频谱,对语音信号的频谱取模平方得到语音信号的功率谱(即能量谱)。
[0062] 步骤304B,将频域的能量谱作为梅尔尺度的三角滤波器组的输入特征,计算得到待识别语音数据的Filter Bank特征。
[0063] 在本实施例中,为了得到待识别语音数据的Filter Bank特征,需要将得到的频域的能量谱作为梅尔尺度的三角滤波器组的输入特征,计算每个三角滤波器组输出的对数能量,即得到待识别语音数据的Filter Bank特征。其中,Filter Bank特征也是通过将每一帧语音信号对应的能量谱作为梅尔尺度的三角滤波器组的输入特征,然后得到每一帧语音信号对应的Filter Bank特征。
[0064] 步骤304C,将Filter Bank特征经过离散余弦变换得到待识别语音数据的MFCC特征。
[0065] 在本实施例中,为了得到待识别语音数据的MFCC特征,还需要将经过滤波器组输出的对数能量进行离散余弦变换得到相应的MFCC特征。通过将每一帧语音信号对应的Filter Bank特征经过离散余弦变换得到每一帧语音信号对应的MFCC特征。其中,Filter Bank特征与MFCC特征的区别在于,Filter Bank特征在不同特征维度之间存在数据相关性,而MFCC特征则是采用离散余弦变换去除Filter Bank特征的数据相关性所得到的特征。
[0066] 如图7所示,在一个实施例中,将Filter Bank特征作为训练后的二维LSTM模型的输入特征,分别进行时间维度和层次维度的计算,获取输出的包含有时间维度和层次维度信息的后验概率矩阵的步骤308包括:
[0067] 步骤308A,获取待识别语音数据中每一帧语音数据对应的Filter Bank特征并按照时间排序。
[0068] 在本实施例中,在提取待识别语音数据中的Filter Bank特征时是通过先将语音数据进行分帧处理,然后提取每一帧语音数据对应的Filter Bank特征,并按照时间的先后顺序排序,即按照待识别语音数据中每一帧出现的先后顺序将对应的每一帧的Filter Bank特征进行排序。
[0069] 步骤308B,将每一帧语音数据以及该帧的前后预设帧数的Filter Bank特征作为训练后的二维LSTM模型的输入特征,分别进行时间维度和层次纬度的计算,获取输出的包含有时间维度和层次纬度信息的每一帧语音数据对应的音素状态上的后验概率。
[0070] 在本实施例中,深度学习模型的输入采用的是多帧特征,相对于传统的只有单帧输入的混合高斯模型更有优势,因为通过拼接前后语音帧有利于获取到上下文相关信息对当前的影响。所以一般是将每一帧语音数据和该帧的前后预设帧数的Filter Bank特征作为训练后的二维LSTM模型的输入特征。比如,将当前帧和该帧的前后5帧进行拼接,共11帧数据作为训练后的二维LSTM模型的输入特征,这11帧语音特征序列通过二维LSTM中的各个结点,输出该帧语音数据对应的音素状态上的后验概率。
[0071] 步骤308C,根据每一帧语音数据对应的后验概率确定待识别语音数据对应的后验概率矩阵。
[0072] 在本实施例中,当获取到每一帧语音数据对应的后验概率后就确定待识别语音数据对应的后验概率矩阵。后验概率矩阵是有一个个后验概率组成的。由于通过二维LSTM模型既可以包含有时间维度的信息,又可以包含有层次纬度的信息,所以相对于之前只有时间维度信息的传统模型,该模型能更好的得到待识别语音数据对应的后验概率矩阵。
[0073] 如图8所示,在一个实施例中,在获取待识别的语音数据的步骤之前还包括:步骤301,GMM-HMM模型的建立和二维LSTM模型的建立。具体包括:
[0074] 步骤301A,采用训练语料库对高斯混合模型GMM和HMM进行训练,通过不断的迭代训练确定GMM模型对应的方差和均值,根据方差和均值生成训练后的GMM-HMM模型。
[0075] 在本实施例中,GMM-HMM声学模型的建立依次采用了单音素训练以及三音素进行训练,其中,三音素训练考虑了当前音素的前后相关音素影响,能够得到更加准确的对齐效果,也就能产生更好的识别结果。根据特征和作用的不用,三音素训练一般采用基于delta+delta-delta特征的三音素训练,线性判别分析+最大似然线性特征转换的三音素训练。具体地,首先对输入的训练预料库中的语音特征进行归一化,默认对方差进行归一化。语音特征归一化是为了消除电话信道等卷积噪声在特征提取计算造成的偏差。然后利用少量特征数据快速得到一个初始化的GMM-HMM模型,然后通过不断的迭代训练确定混合高斯模型GMM对应的方差和均值,一旦方差和均值确定,那么相应的GMM-HMM的模型就相应的确定了。
[0076] 步骤301B,根据训练语料库中提取的MFCC特征,采用训练后的GMM-HMM模型获取到训练语料库对应的似然概率矩阵。
[0077] 在本实施例中,采用训练预料库中的语音数据进行训练,提取训练语料库中语音的MFCC特征,然后作为上述训练后的GMM-HMM模型的输入特征,获取到输出的训练语料库中语音对应的似然概率矩阵。似然概率矩阵代表的是语音帧与音素状态上的对齐关系,通过训练后的GMM-HMM输出似然概率矩阵目的是将其作为后续训练深度学习模型的初始对齐关系,便于后续深度学习模型能够得到更好的深度学习的结果。
[0078] 步骤301C,根据训练预料库中提取的Filter Bank特征和似然概率矩阵对二维LSTM模型进行训练,确定与二维LSTM模型对应的权重矩阵和偏置矩阵,根据权重矩阵和偏置矩阵生成训练后的二维LSTM模型。
[0079] 在本实施例中,将上述通过GMM-HMM计算得到的对齐结果(即似然概率矩阵)和原始语音特征一起作为二维LSTM模型的输入特征进行训练,其中,这里的原始语音特征采用的Filter Bank特征,相对于MFCC特征,Filter Bank特征具有数据相关性,所以具有更好的语音特征表达。通过对二维LSTM模型进行训练,确定每一层LSTM对应的权重矩阵和偏置矩阵。具体地,二维LSTM也属于深度神经网络模型中的一种,神经网络层一般分为三类:输入层隐藏层输出层。训练二维LSTM模型的目的就是为了确定每一层中所有的权重矩阵和偏置矩阵以及相应的层数,训练的算法可以采用前向传播算法、维特比算法等现有的算法,这里不对具体的训练算法进行限定。
[0080] 如图9所示,在一个实施例中,提出了一种语音识别装置,该装置包括:
[0081] 获取模块902,用于获取待识别的语音数据。
[0082] 提取模块904,用于提取语音数据中的Filter Bank特征和MFCC特征。
[0083] 输出模块906,用于将MFCC特征作为训练后的GMM-HMM模型的输入数据,获取训练后的GMM-HMM模型输出的第一似然概率矩阵。
[0084] 第一计算模块908,用于将Filter Bank特征作为训练后的二维LSTM模型的输入特征,分别进行时间维度和层次维度的计算,获取输出的包含有时间维度和层次维度信息的后验概率矩阵。
[0085] 第二计算模块910,用于根据后验概率矩阵和第一似然概率矩阵采用训练后的HMM模型计算得到目标似然概率矩阵。
[0086] 解码模块912,用于根据第二似然概率矩阵在音素解码网络中获取与待识别的语音数据对应的目标词序列。
[0087] 在一个实施例中,第二计算模块910还用于将所述Filter Bank特征和所述第一似然概率矩阵作为训练后的DNN-HMM模型的输入数据,获取所述训练后DNN-HMM输出的第二似然概率矩阵,将所述后验概率矩阵和所述第二似然概率矩阵作为训练后的HMM模型的输入数据,计算得到目标似然概率矩阵。
[0088] 在一个实施例中,提取模块904还用于将待识别的语音数据进行傅里叶变换转换为频域的能量谱,将频域的能量谱作为梅尔尺度的三角滤波器组的输入特征,计算得到待识别语音数据的Filter Bank特征,将Filter Bank特征经过离散余弦变换得到待识别语音数据的MFCC特征。
[0089] 如图10所示,在一个实施例中,第一计算模块908包括:
[0090] 排序模块908A,用于获取待识别语音数据中每一帧语音数据对应的Filter Bank特征并按照时间排序。
[0091] 后验概率计算模块908B,用于将每一帧语音数据以及该帧的前后预设帧数的Filter Bank特征作为训练后的二维LSTM模型的输入特征,分别进行时间维度和层次纬度的计算,获取输出的包含有时间维度和层次纬度信息的每一帧语音数据对应的音素状态上的后验概率。
[0092] 确定模块908C,用于根据每一帧语音数据对应的后验概率确定待识别语音数据对应的后验概率矩阵。
[0093] 如图11所示,在一个实施例中,上述语音识别装置还包括:
[0094] GMM-HMM模型训练模块914,用于采用训练语料库对高斯混合模型GMM和HMM进行训练,通过不断的迭代训练确定GMM模型对应的方差和均值,根据方差和均值生成训练后的GMM-HMM模型。
[0095] 似然概率矩阵获取模块916,用于根据训练语料库中提取的MFCC特征,采用训练后的GMM-HMM模型获取到训练语料库对应的似然概率矩阵。
[0096] 二维LSTM模型训练模块918,用于根据训练预料库中提取的Filter Bank特征和似然概率矩阵对二维LSTM模型进行训练,确定与二维LSTM模型对应的权重矩阵和偏置矩阵,根据权重矩阵和偏置矩阵生成训练后的二维LSTM模型。
[0097] 在一个实施例中,提出一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取待识别的语音数据;提取所述语音数据中的Filter Bank特征和MFCC特征;将所述MFCC特征作为训练后的GMM-HMM模型的输入数据,获取所述训练后的GMM-HMM模型输出的第一似然概率矩阵;将所述Filter Bank特征作为训练后的二维LSTM模型的输入特征,分别进行时间维度和层次维度的计算,获取输出的包含有时间维度和层次维度信息的后验概率矩阵;根据所述后验概率矩阵和所述第一似然概率矩阵采用训练后的HMM模型计算得到目标似然概率矩阵;根据所述目标似然概率矩阵在音素解码网络中获取与所述待识别的语音数据对应的目标词序列。
[0098] 在一个实施例中,所述处理器所执行的所述根据所述后验概率矩阵和所述第一似然概率矩阵采用训练后的HMM模型计算得到目标似然概率矩阵,包括:将所述Filter Bank特征和所述第一似然概率矩阵作为训练后的DNN-HMM模型的输入数据,获取所述训练后DNN-HMM输出的第二似然概率矩阵,将所述后验概率矩阵和所述第二似然概率矩阵作为训练后的HMM模型的输入数据,计算得到目标似然概率矩阵。
[0099] 在一个实施例中,所述处理器所执行的所述提取所述语音数据中的Filter Bank特征和MFCC特征,包括:将所述待识别的语音数据进行傅里叶变换转换为频域的能量谱;将所述频域的能量谱作为梅尔尺度的三角滤波器组的输入特征,计算得到待识别语音数据的Filter Bank特征;将所述Filter Bank特征经过离散余弦变换得到待识别语音数据的MFCC特征。
[0100] 在一个实施例中,所述处理器所执行的所述将所述Filter Bank特征作为训练后的二维LSTM模型的输入特征,分别进行时间维度和层次维度的计算,获取输出的包含有时间维度和层次维度信息的后验概率矩阵,包括:获取待识别语音数据中每一帧语音数据对应的Filter Bank特征并按照时间排序;将每一帧语音数据以及该帧的前后预设帧数的Filter Bank特征作为所述训练后的二维LSTM模型的输入特征,分别进行时间维度和层次纬度的计算,获取输出的包含有时间维度和层次纬度信息的每一帧语音数据对应的音素状态上的后验概率;根据所述每一帧语音数据对应的后验概率确定所述待识别语音数据对应的后验概率矩阵。
[0101] 在一个实施例中,在所述获取待识别的语音数据的步骤之前,所述处理器执行所述计算机程序是还用于实现以下步骤:采用训练语料库对高斯混合模型GMM和HMM进行训练,通过不断的迭代训练确定所述GMM模型对应的方差和均值;根据所述方差和均值生成训练后的GMM-HMM模型;根据所述训练语料库中提取的MFCC特征,采用训练后的GMM-HMM模型获取到所述训练语料库对应的似然概率矩阵;根据所述训练预料库中提取的Filter Bank特征和所述似然概率矩阵对所述二维LSTM模型进行训练,确定与所述二维LSTM模型对应的权重矩阵和偏置矩阵;根据所述权重矩阵和偏置矩阵生成训练后的二维LSTM模型。
[0102] 在一个实施例中,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现以下步骤:获取待识别的语音数据;提取所述语音数据中的Filter Bank特征和MFCC特征;将所述MFCC特征作为训练后的GMM-HMM模型的输入数据,获取所述训练后的GMM-HMM模型输出的第一似然概率矩阵;将所述Filter Bank特征作为训练后的二维LSTM模型的输入特征,分别进行时间维度和层次维度的计算,获取输出的包含有时间维度和层次维度信息的后验概率矩阵;根据所述后验概率矩阵和所述第一似然概率矩阵采用训练后的HMM模型计算得到目标似然概率矩阵;根据所述目标似然概率矩阵在音素解码网络中获取与所述待识别的语音数据对应的目标词序列。
[0103] 在一个实施例中,所述处理器所执行的所述根据所述后验概率矩阵和所述第一似然概率矩阵采用训练后的HMM模型计算得到目标似然概率矩阵,包括:将所述Filter Bank特征和所述第一似然概率矩阵作为训练后的DNN-HMM模型的输入数据,获取所述训练后DNN-HMM输出的第二似然概率矩阵,将所述后验概率矩阵和所述第二似然概率矩阵作为训练后的HMM模型的输入数据,计算得到目标似然概率矩阵。
[0104] 在一个实施例中,所述处理器所执行的所述提取所述语音数据中的Filter Bank特征和MFCC特征,包括:将所述待识别的语音数据进行傅里叶变换转换为频域的能量谱;将所述频域的能量谱作为梅尔尺度的三角滤波器组的输入特征,计算得到待识别语音数据的Filter Bank特征;将所述Filter Bank特征经过离散余弦变换得到待识别语音数据的MFCC特征。
[0105] 在一个实施例中,所述处理器所执行的所述将所述Filter Bank特征作为训练后的二维LSTM模型的输入特征,分别进行时间维度和层次维度的计算,获取输出的包含有时间维度和层次维度信息的后验概率矩阵,包括:获取待识别语音数据中每一帧语音数据对应的Filter Bank特征并按照时间排序;将每一帧语音数据以及该帧的前后预设帧数的Filter Bank特征作为所述训练后的二维LSTM模型的输入特征,分别进行时间维度和层次纬度的计算,获取输出的包含有时间维度和层次纬度信息的每一帧语音数据对应的音素状态上的后验概率;根据所述每一帧语音数据对应的后验概率确定所述待识别语音数据对应的后验概率矩阵。
[0106] 在一个实施例中,在所述获取待识别的语音数据的步骤之前,所述处理器执行所述计算机程序是还用于实现以下步骤:采用训练语料库对高斯混合模型GMM和HMM进行训练,通过不断的迭代训练确定所述GMM模型对应的方差和均值;根据所述方差和均值生成训练后的GMM-HMM模型;根据所述训练语料库中提取的MFCC特征,采用训练后的GMM-HMM模型获取到所述训练语料库对应的似然概率矩阵;根据所述训练预料库中提取的Filter Bank特征和所述似然概率矩阵对所述二维LSTM模型进行训练,确定与所述二维LSTM模型对应的权重矩阵和偏置矩阵;根据所述权重矩阵和偏置矩阵生成训练后的二维LSTM模型。
[0107] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
[0108] 以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0109] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
QQ群二维码
意见反馈