语音识别方法、装置、计算机设备和存储介质与流程

文档序号:14406139阅读:279来源:国知局
语音识别方法、装置、计算机设备和存储介质与流程

本申请涉及音频处理技术领域,特别是涉及一种语音识别方法、装置、计算机设备和存储介质。



背景技术:

语音识别技术,广泛来说是指语意识别和声纹识别;从狭义上来说指语音语义的理解识别,也称为自动语音识别。语音识别技术是一种利用计算机将数字语音识别成文字的技术,近年来,语音识别技术取得了很大的进步,在很多领域有广泛的应用。

完整的语音识别系统包括语音采样模块、特征提取模块和识别模块。特征提取模块是将输入的数字语音信号转换成识别系统用到的声学特征,语音识别器利用声学模型、词典以及语音模型,根据输入的声学特征,搜索出最佳的识别结果。声学模型作为整个识别系统最为核心的部分,故声学模型的好坏影响整个语音识别系统的性能。现代语音识别系统中,基本都是采用隐马尔科夫模型—深度神经网络作为声学模型,通过该声学模型进行语音识别依旧存在识别率低下的问题。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种提升语音识别率的语音识别方法、装置、计算机设备和存储介质。

一种语音识别方法,包括:从带下采样的延时神经网络的网络层中获取目标网络层;对所述目标网络层添加第二神经网络,将所述目标网络层的输出数据作为所述第二神经网络的输入数据,所述第二神经网络包括至少一层网络;获取待识别语音数据,将所述待识别语音数据输入所述带下采样的延时神经网络中,通过所述带下采样的延时神经网络和所述第二神经网络对所述待识别语音进行识别,得到对应的语音识别结果。

在其中一个实施例中,对所述目标网络层添加第二神经网络的步骤,包括:

当所述第二神经网络为一层神经网络时,将所述目标网络层的中的每一个神经元与所述第二神经网络中的每一个神经元进行连接;或当所述第二神经网络为多层神经网络时,将所述目标网络层的中的每一个神经元与所述第二神经网络中的第一层网络的每一个神经元进行连接,所述第二神经网络中相邻两层网络中下一层网络的每一个神经元与上一层网络的每一个神经元进行连接。

在其中一个实施例中,所述待识别语音数据为多个语音帧组成,获取待识别语音数据的步骤,包括:获取原始待识别语音数据;对所述原始待识别语音数据进行预加重;将预加重后的所述原始待识别语音数据进行加窗分帧处理,对加窗分帧之后的所述原始待识别语音数据进行变换得到多个语音帧组成的所述待识别语音数据。

在其中一个实施例中,对加窗分帧之后的所述原始待识别语音数据进行变换得到多个语音帧组成的所述待识别语音数据的步骤之后,还包括:对所述待识别语音进行端点检测,进行端点检测的步骤包括:计算变换后的每帧语音的能量值;当检测到当前帧之前的连续多帧语音的能量值低于预设能量阈值,且当前帧后续多帧语音的能量值高于预设能量阈值,则所述能量值增大的位置为语音的起始端点;当检测到当前帧前的后续连续多帧语音的能量值低于预设能量阈值,且当前帧之前的连续多帧语音的能量值高于预设能量阈值,则所述能量值减小的位置为语音的结束端点。

在其中一个实施例中,所述目标层网络与添加在所述目标层网络中的所述第二神经网络,在所述目标层中实现参数共享,所述参数共享为对于不同时间的输入信号,都采用相同的网络参数进行处理。

一种语音识别装置,包括:

目标网络层获取模块,用于从带下采样的延时神经网络的网络层中获取目标网络层;

第二神经网络添加模块,用于对所述目标网络层添加第二神经网络,将所述目标网络层的输出数据作为所述第二神经网络的输入数据,所述第二神经网络包括至少一层网络;

语音识别模块,用于获取待识别语音数据,将所述待识别语音数据输入所述带下采样的延时神经网络中,通过所述带下采样的延时神经网络和所述第二神经网络对所述待识别语音进行识别,得到对应的语音识别结果。

在其中一个实施例中,第二神经网络添加模块包括:

第一添加单元,用于当所述第二神经网络为一层神经网络时,将所述目标网络层的中的每一个神经元与所述第二神经网络中的每一个神经元进行连接;

第二添加单元,用于当所述第二神经网络为多层神经网络时,将所述目标网络层的中的每一个神经元与所述第二神经网络中的第一层网络的每一个神经元进行连接,所述第二神经网络中相邻两层网络中下一层网络的每一个神经元与上一层网络的每一个神经元进行连接。

在其中一个实施例中,语音识别模块包括:

原始数据获取单元,用于获取原始待识别语音数据;

预处理单元,用于对原始待识别语音数据进行预加重,将预加重后的原始待识别语音数据进行加窗分帧处理,对加窗分帧之后的原始待识别语音数据进行变换得到多个语音帧组成的待识别语音数据。

一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行执行上述语音识别方法的步骤。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述语音识别方法的步骤。

上述语音识别方法、装置、计算机设备和存储介质。上述方法通过从带下采样的延时神经网络的网络层中获取目标网络层;对所述目标网络层添加第二神经网络,将所述目标网络层的输出数据作为所述第二神经网络的输入数据,所述第二神经网络包括至少一层网络;获取待识别语音数据,将所述待识别语音数据输入所述带下采样的延时神经网络中,通过所述带下采样的延时神经网络和所述第二神经网络对所述待识别语音进行识别,得到对应的语音识别结果。通过配置能够进行长时间语音检测的带下采样的延时神经网络,即将第二神经网络添加到目标网络层中,对目标网络层中的待识别语音数据做二次处理,即对提取到的待识别语音数据中的语音特征进行分类,得到更为准确的语音特征,提高语音识别的准确率。

附图说明

图1为一个实施例中语音识别方法的应用环境图;

图2为一个实施例中计算机设备的结构框图;

图3为一个实施例中语音识别方法的流程示意图;

图4为一个实施例中带下采样的延时神经网络的结构示意图;

图5为一个实施例中添加了第二神经网络的带下采样的延时神经网络的结构示意图;

图6为一个实施例中第二神经网络添加的流程示意图;

图7为一个实施例中语音检测识别步骤的流程示意图;

图8为一个实施例中端点检测步骤的流程示意图;

图9为一个实施例中语音识别装置的结构框图;

图10为另一个实施例中第二神经网络添加模块的结构框图;

图11为一个实施例中语音识别模块的结构框图;

图12为另一个实施例中语音识别模块的结构框图;

图13为一个实施例中端点检测单元的结构框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

图1为一个实施例中语音识别方法的应用环境图。参照图1,该语音识别方法应用于语音识别系统。该语音识别系统包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

图2为一个实施例中计算机设备的内部结构示意图。参照图2,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、内存储器、显示器和网络接口。其中,该计算机设备的非易失性存储介质可存储操作系统和实现打开历史单据装置的计算机程序,该计算机程序被执行时,可使得处理器执行一种打开历史单据方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行语音识别的方法。计算机设备的网络接口用于进行网络通信。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸屏,也可以是计算机设备外壳上设备的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。触摸层与显示屏构成触控屏。

图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,如图3所示,提供了一种语音识别方法。参照图3,该语音识别方法具体包括如下步骤:

s202,从带下采样的延时神经网络的网络层中获取目标网络层。

其中,下采样就是抽取,即从样本中抽取出部分样本。带下采样的延时神经网络是对延时神经网络中的每一层都进行采样,也就是从原来的每一层网络处理后的输出中,抽取其中部分数据作为下一层网络的输入。带下采样的延时神经网络的结构如图4所述,其中,图4中的一个方块表示神经网络处理模块(包含多个神经网络处理单元),t表示时间,实线表示带下采样的延时神经网络的实际连接,虚线表示不带下采样的延时神经网络的连接方式,最底层的是输入层,这里一个方块表示一帧变换后的语音信号。根据实际应用,可以采取不同的下采样方法,导致跟图1不一样的网络结构,但都是带下采样的延时神经网络结构并不对具体的下采样方法做限制。图4中同一水平线的方框为同一层的网络,每一层神经网络的参数都是共享的(也就是同一水平线,不同的实线方框都采用同样的参数,只是不同的方框采用不同的输入),以保证网络参数的最小化。目标网络层为上述带下采样的延时神经网络的某一层或者所有层,用于添加新的神经网络的网络层。具体地,从带下采样的神经网络中的多层网络中选取其中一层或者多层网络层用于添加新的神经网络,也就是对目标网络层进行拓展,得到新的网络结构。如图5所示,第二神经网络包含dnn1和dnn2,图中的tdnn1表示的带下采样延时神经网络的目标网络层。新添加的第二神经网络跟原来目标网络层构成新的带下采样的延时神经网络的一层,并且在新的带下采样的延时神经网络的一层中,所有参数都是共享的。

步骤s204,对目标网络层添加第二神经网络,将目标网络层的输出数据作为第二神经网络的输入数据,第二神经网络包括至少一层网络。

其中,第二神经网络包括但不限于随机深度神经网络、前馈神经网络等。添加第二神经网络能够增加网络的深度,提取更为抽象的特征。第二神经网络的层数可以根据待识别语音数据的数据量设置。具体地,将第二神经网络添加到目标网络层中得到新的神经网络,使得带下采样的神经网络的目标层和第二神经网络构成的同一层度数据的过处理过程包含多个线性和多个非线性处理过程。在新的神经网络中将目标网络层的输出数据作为第二神经网络的输入数据。

步骤s206,获取待识别语音数据,将待识别语音数据输入带下采样的延时神经网络中,通过带下采样的延时神经网络和第二神经网络对待识别语音进行识别,得到对应的语音识别结果。

其中,待识别语音数据是通过语音特征提取的语音帧数据,将待识别语音数据输入带下采样的延时神经网络中,通过带下采样的延时神经网络和第二神经网络对待识别语音数据进行识别得到对应的语音识别结果。该语音识别结果为语音对应的文字结果。在对语音数据进行识别之间通常都会对语音进行预处理,其中预处理包括不限于去噪、分帧、加重等。

上述语音识别方法,通过将语音识别数据输入包括了两个神经网络的网络中,通过带下采样的神经网络和第二神经网络的同时处理,带下采样的神经网络能够对较长时间的语音数据进行有效建模。增加第二神经网络能够提升目标网络层对输入特征的抽象和概括能力得到更为抽象和更优质的语音特征。通过处理更为长时间的语音数据和提取更为优质的特征提升语音数据的识别率,得到更为准备的识别结果。

在一个实施例中,步骤s204包括,

其中,目标网络层和第二神经网络的连接方式为全连接,也就是目标网络层的每一个神经元输出的数据作为第二神经网络的输入数据。当第二神经网络为一层神经网络时,就将目标网络层的中的每一个神经元与第二神经网络中的每一个神经元进行连接。当第二神经网络为多层神经网络时,将目标网络层的中的每一个神经元与第二神经网络中的第一层网络的每一个神经元进行连接,第二神经网络中相邻两层网络中下一层网络的每一个神经元与上一层网络的每一个神经元进行连接。将第二神经网络的与目标网络层进行全连接是为了对带下采样的延时神经网络目标网络层中提取的特征进行分类得到更为准确的分类特征。

在一个实施例中,如图7所示,步骤s206包括:

步骤s2062,获取原始待识别语音数据。

其中,原始待识别语音数据是对语音采集装置采集到的语音数据进行处理后数字化得到对应的语音信号。获取待识别语音信号,采集语音数据是为了后续的语音识别工作做准备。

步骤s2064,对原始待识别语音数据进行预加重。

其中,语音信号的预加重,目的是为了对语音的高频部分进行加重,去除口唇辐射的影响,增加语音的高频分辨率。具体地,对原始待识别语音数据进行预加重,得到更为优质的原始待识别语音数据。

步骤s2066,将预加重后的原始待识别语音数据进行加窗分帧处理,对加窗分帧之后的原始待识别语音数据进行变换得到多个语音帧组成的待识别语音数据。

其中,语音信号具有短时平稳性(10--30ms内可以认为语音信号近似不变),这样就可以把语音信号分成短段进行处理,语音信号的分帧是采用可移动的有限长度的窗口进行加权的方法来实现的。具体地,对预加重后的原始待识别语音数据通过移动有限长度的窗口实现分帧,每一帧的时间长度一致,相邻两帧的语音帧数据会有重叠的部分。将语音帧进行变换得到语音帧对应的语音信息。有各个语音帧组成待识别语音数据。

在一个实施例中,如图8所示,在步骤s2066中对原始待识别语音数据进行加窗分帧之后,还包括:

步骤s2068,对原始待识别语音进行端点检测。

其中,语音的端点检测是语音识别和语音处理的一个基本环节,也是语音识别研究的一个热点领域。短剑测得主要目的是从输入的语音中对语音和非语音部分进行区分。目前,端点检测技术主要是根据语音的一些时域或频域特征进行区分常见的语音端点检测方法主要分为基于频域、基于时域、基于频域和时域相结合或基于模型端点检测方法。其中基于频域的方法主要包括:谱熵、频域子带、自适应子波、基频等。基于频域的检测方法其参数的抗噪性比时域要好,但计算的复杂度会比较高。基于时域的检测方法包括时域能量大小、时域平均过零率短时相关性分析、能量变化率、对数能量、子带能量、高斯混合模型假设检验。基于频域和时域的结合的方法主要包括基于频域和时域相结合自适应能量子带的谱熵检测的端点检测方法。基于模型的检测端点检测方法主要包括隐马尔可夫模型用分布表达语音的分布情况。深度神经网络主要训练噪声模型。

其中,进行端点检测的步骤包括:

步骤s20682,计算变换后的每帧语音的能量值。

其中,语音信号的能量随着时间变化比较明显,一般轻音部分的能量比浊音部分的能量小得多,窗函数的选择对短时能量表示方法的特点起决定作用。计算语音信号的能量值,通过语音信号的能量值判断语音信号的端点。

步骤s20684,当检测到当前帧之前的连续多帧语音的能量值低于预设能量阈值,且当前帧后续多帧语音的能量值高于预设能量阈值,则所述能量值增大的位置为语音的起始端点。

其中,语音信号的端点分期前端点和后端点也称为起始端点和结束端点,起始端点是开始采集到有效的语音信号的端点。具体地,前端点根据端点前的语音信号能量值比端点后的语音信号的能量低,将能量突然变大的地方作为语音信号的前端点。

步骤s20686,当检测到当前帧前的后续连续多帧语音的能量值低于预设能量阈值,且当前帧之前的连续多帧语音的能量值高于预设能量阈值,则所述能量值减小的位置为语音的结束端点。

其中,结束端点为语音信号结束的临界点,也就是该段语音已经结束。通过根据端点前的语音信号能量值比端点后的语音信号的能量高,将能量突然变小的地方作为语音信号的结束端点。

对语音进行端点检测能够将对语音中的自动打断进行判断、去掉语音中的静音成分、获取输入语音中有效语音或去除噪声对语音进行增强。

在一个实施例中,如图4所示,带下采样的延时神经网络中每一层网络,也同一水平上的方框之间的参数是共享的,如图6所示,第二神经网络的参数与目标网络层的参数在同一层之中是共享的(即图5中每一个实线方框所代表的一个神经网络处理模块由原来的一层变成多层,多层的参数在同一水平线上是共享的,只是输入不相同)。第二神经网络采用同样的参数对目标网络的输出数据进行进一步的处理。

在一个实施例中,如图9所示,一种语音识别装置,包括:

目标网络层获取模块202,用于从带下采样的延时神经网络的网络层中获取目标网络层。

第二神经网络添加模块204,用于对所述目标网络层添加第二神经网络,将所述目标网络层的输出数据作为所述第二神经网络的输入数据,所述第二神经网络包括至少一层网络。

语音识别模块206,用于获取待识别语音数据,将所述待识别语音数据输入所述带下采样的延时神经网络中,通过所述带下采样的延时神经网络和所述第二神经网络对所述待识别语音进行识别,得到对应的语音识别结果。

在一个实施例中,如图10所示,第二神经网络添加模块204包括:

第一添加单元2042,用于当所述第二神经网络为一层神经网络时,将所述目标网络层的中的每一个神经元与所述第二神经网络中的每一个神经元进行连接;

第二添加单元2044,用于当所述第二神经网络为多层神经网络时,将所述目标网络层的中的每一个神经元与所述第二神经网络中的第一层网络的每一个神经元进行连接,所述第二神经网络中相邻两层网络中下一层网络的每一个神经元与上一层网络的每一个神经元进行连接。

在一个实施例中,如图11所示,语音识别模块206包括:

原始数据获取单元2062,用于获取原始待识别语音数据;

预处理单元2064,用于对原始待识别语音数据进行预加重,将预加重后的原始待识别语音数据进行加窗分帧处理,对加窗分帧之后的原始待识别语音数据进行变换得到多个语音帧组成的待识别语音数据。

在一个实施例中,如图12所示,语音识别模块206还包括:

语音端点检测单元2066,用于加窗分帧之后的所述原始待识别语音数据进行变换得到多个语音帧组成的所述待识别语音数据进行语音端点检测。如图12所示,语音端点检测单元2066,包括:

能量值计算子单元20662,用于计算变换后的每帧语音的能量值。

端点检测子单元20664,用于当检测到当前帧之前的连续多帧语音的能量值低于预设能量阈值,且当前帧后续多帧语音的能量值高于预设能量阈值,则所述能量值增大的位置为语音的起始端点。当检测到当前帧前的后续连续多帧语音的能量值低于预设能量阈值,且当前帧之前的连续多帧语音的能量值高于预设能量阈值,则所述能量值减小的位置为语音的结束端点。

在一个实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:从带下采样的延时神经网络的网络层中获取目标网络层;对所述目标网络层添加第二神经网络,将所述目标网络层的输出数据作为所述第二神经网络的输入数据,所述第二神经网络包括至少一层网络;获取待识别语音数据,将所述待识别语音数据输入所述带下采样的延时神经网络中,通过所述带下采样的延时神经网络和所述第二神经网络对所述待识别语音进行识别,得到对应的语音识别结果。

在一个实施例中,所述程序被处理器执行时执行的对所述目标网络层添加第二神经网络,包括:当所述第二神经网络为一层神经网络时,将所述目标网络层的中的每一个神经元与所述第二神经网络中的每一个神经元进行连接;或当所述第二神经网络为多层神经网络时,将所述目标网络层的中的每一个神经元与所述第二神经网络中的第一层网络的每一个神经元进行连接,所述第二神经网络中相邻两层网络中下一层网络的每一个神经元与上一层网络的每一个神经元进行连接。

在一个实施例中,所述程序被处理器执行时执行的所述待识别语音数据为多个语音帧组成,获取待识别语音数据的步骤,包括:获取原始待识别语音数据;对所述原始待识别语音数据进行预加重;将预加重后的所述原始待识别语音数据进行加窗分帧处理,对加窗分帧之后的所述原始待识别语音数据进行变换得到多个语音帧组成的所述待识别语音数据。

在一个实施例中,对加窗分帧之后的所述原始待识别语音数据进行变换得到多个语音帧组成的所述待识别语音数据的步骤之后,所述程序被处理器执行时还用于执行:对所述待识别语音进行端点检测,进行端点检测的步骤包括:计算变换后的每帧语音的能量值;当检测到当前帧之前的连续多帧语音的能量值低于预设能量阈值,且当前帧后续多帧语音的能量值高于预设能量阈值,则所述能量值增大的位置为语音的起始端点;当检测到当前帧前的后续连续多帧语音的能量值低于预设能量阈值,且当前帧之前的连续多帧语音的能量值高于预设能量阈值,则所述能量值减小的位置为语音的结束端点。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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