HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

声学模型训练方法、装置、电子设备及存储介质与流程

2021-01-28 16:01:47|284|起点商标网
声学模型训练方法、装置、电子设备及存储介质与流程

本申请涉及语音识别技术领域,特别是涉及声学模型训练方法、装置、电子设备及存储介质。



背景技术:

随着人工智能技术的发展,语音识别技术取得了巨大的进步,并开始进入家电、通信、汽车、医疗等各个领域。语音识别是把人的语音通过机器进行信号处理和识别,转变为相应文本,再通过语义分析和理解,最终让机器像人一样听懂我们的声音。

语音识别系统主要包括声学模型、语言模型和解码器三大模块。具体的,将语音数据输入语音识别系统后,一条语音数据被分成若干帧,每帧用一个特征向量来表示,然后将特征向量输入到声学模型中,得到每帧对应的发音概率分布,解码器根据每帧对应的发音概率分布和语言模型来得到最终的语音识别结果。

通常情况下,一条语音数据包括的帧数较多,得到每帧对应的发音概率分布需要耗费大量的计算资源,因此,声学模型得到语音数据中所有帧对应的发音概率分布需要的时间较长,速度较低。并且,声学模型是影响语音识别系统的识别速度的重要部分,从而导致语音识别系统的识别速率较低。



技术实现要素:

为解决背景技术中记载的因声学模型得到语音数据中所有帧对应的发音概率分布需要的时间较长,而导致语音识别系统的识别速率较低的技术问题,本申请提供了声学模型训练方法、装置、电子设备及存储介质。

第一方面,本申请实施例提供了一种声学模型训练方法,所述方法包括:

获取训练语音数据,并提取所述训练语音数据的声学特征向量,其中,所述训练语音数据具有对应的标注文本数据,所述标注文本数据具有对应的发音音素;

将所述声学特征向量中的第一声学特征向量输入发音状态模型中,得到所述第一声学特征向量对应的发音状态;

根据发音状态与发音音素的对应关系,将所述第一声学特征向量对应的发音状态转换为所述第一声学特征向量对应的发音音素,其中,每个所述发音音素包括多个发音状态;

基于所述声学特征向量中的第二声学特征向量和所述第一声学特征向量对应的发音音素,对预设神经网络模型进行训练,并将训练后的预设神经网络模型作为声学模型,其中,所述第二声学特征向量是所述声学特征向量中除所述第一声学特征向量之外的声学特征向量;

其中,在训练所述预设神经网络模型的过程中,对所述第二声学特征向量进行下采样处理。

可选的,所述基于所述声学特征向量中的第二声学特征向量和所述第一声学特征向量对应的发音音素,对预设神经网络模型进行训练,包括:

按照预先设定的目标下采样率对所述第二声学特征向量进行下采样,得到目标声学特征向量;

对于每一目标声学特征向量,将该目标声学特征向量与该目标声学特征向量上下文相关的预设数量个第二声学特征向量输入预设神经网络模型,对所述预设神经网络模型进行训练,直至使得从所述预设神经网络模型输出的发音音素概率分布为目标发音音素概率分布时,得到训练后的预设神经网络模型;

其中,目标发音音素概率分布是基于该目标声学特征向量对应的发音音素,以及根据所述目标下采样率所确定与该目标声学特征向量相邻的第二声学特征向量对应的发音音素确定的;

一个目标声学特征向量对应的发音音素与该目标声学特征向量所对应的第一声学特征向量对应的发音音素相同。

可选的,所述获取训练语音数据,并提取所述训练语音数据的声学特征向量,包括:

获取待处理语音数据;

删除所述待处理语音数据中的静音数据,得到训练语音数据;

通过移动窗函数将所述训练语音数据切分成帧长为预设帧长、且帧移为预设帧移的多个语音帧;

提取每一所述语音帧的声学特征向量,所述声学特征向量包括第一声学特征向量和第二声学特征向量。

可选的,所述将所述声学特征向量中的第一声学特征向量输入发音状态模型中,得到所述第一声学特征向量对应的发音状态,包括:

将所述声学特征向量中的第一声学特征向量输入发音状态模型,进行单音素训练,得到每个第一声学特征向量对应的目标发音状态;

根据不同音素的相关性,对所得到的目标发音状态进行三音素训练,以使得具有相关性的目标发音状态进行聚类,得到所述第一声学特征向量对应的发音状态。

第二方面,本申请实施例提供了一种声学模型训练装置,所述装置包括:

声学特征向量获取模块,用于获取训练语音数据,并提取所述训练语音数据的声学特征向量,其中,所述训练语音数据具有对应的标注文本数据,所述标注文本数据具有对应的发音音素;

发音状态对齐序列确定模块,用于将所述声学特征向量中的第一声学特征向量输入发音状态模型中,得到所述第一声学特征向量对应的发音状态;

发音音素对齐序列确定模块,用于根据发音状态与发音音素的对应关系,将所述第一声学特征向量对应的发音状态转换为所述第一声学特征向量对应的发音音素,其中,每个所述发音音素包括多个发音状态;

声学模型确定模块,用于基于所述声学特征向量中的第二声学特征向量和所述第一声学特征向量对应的发音音素,对预设神经网络模型进行训练,并将训练后的预设神经网络模型作为声学模型,其中,所述第二声学特征向量是所述声学特征向量中除所述第一声学特征向量之外的声学特征向量;

其中,在训练所述预设神经网络模型的过程中,对所述第二声学特征向量进行下采样处理。

可选的,所述声学模型确定模块,具体:

按照预先设定的目标下采样率对所述第二声学特征向量进行下采样,得到目标声学特征向量;

对于每一目标声学特征向量,将该目标声学特征向量与该目标声学特征向量上下文相关的预设数量个第二声学特征向量输入预设神经网络模型,对所述预设神经网络模型进行训练,直至使得从所述预设神经网络模型输出的发音音素概率分布为目标发音音素概率分布时,得到训练后的预设神经网络模型;

其中,目标发音音素概率分布是基于该目标声学特征向量对应的发音音素,以及根据所述目标下采样率所确定与该目标声学特征向量相邻的第二声学特征向量对应的发音音素确定的;

一个目标声学特征向量对应的发音音素与该目标声学特征向量所对应的第一声学特征向量对应的发音音素相同。

可选的,所述声学特征向量获取模块,具体用于:

获取待处理语音数据;

删除所述待处理语音数据中的静音数据,得到训练语音数据;

通过移动窗函数将所述训练语音数据切分成帧长为预设帧长、且帧移为预设帧移的多个语音帧;

提取每一所述语音帧的声学特征向量,所述声学特征向量包括第一声学特征向量和第二声学特征向量。

可选的,所述发音状态对齐序列确定模块,具体用于:

将所述声学特征向量中的第一声学特征向量输入发音状态模型,进行单音素训练,得到每个第一声学特征向量对应的目标发音状态;

根据不同音素的相关性,对所得到的多个第一声学特征向量对应的目标发音状态进行三音素训练,以使得具有相关性的目标发音状态进行聚类,得到所述第一声学特征向量对应的发音状态。

第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的声学模型训练方法的步骤。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的声学模型训练方法的步骤。

本申请实施例提供的技术方案,获取训练语音数据,并提取训练语音数据的声学特征向量;将声学特征向量中的第一声学特征向量输入发音状态模型中,得到第一声学特征向量对应的发音状态;根据发音状态与发音音素的对应关系,将第一声学特征向量对应的发音状态转换为第一声学特征向量对应的发音音素;基于声学特征向量中的第二声学特征向量和第一声学特征向量对应的发音音素,对预设神经网络模型进行训练,并将训练后的预设神经网络模型作为声学模型;其中,在训练预设神经网络模型的过程中,对第二声学特征向量进行下采样处理。

可见,通过本申请实施例提供的技术方案,声学模型得到语音数据包括的部分帧对应的发音音素概率分布,而不是每一帧对应的发音音素概率分布,从而可以降低声学模型的计算量,提高声学模型的计算速率,从而语音识别系统中解码器的解码时长缩短,提高了语音识别系统的识别速率。

附图说明

图1是本申请实施例提供的一种声学模型训练方法的步骤流程图;

图2是图1所示实施例中的s140的一种实施方式的步骤流程图;

图3是图1所示实施例中的s110的一种实施方式的步骤流程图;

图4是图1所示实施例中的s120的一种实施方式的步骤流程图;

图5是本申请实施例提供的一个300帧语音数据的对齐结果的示意图;

图6是本申请实施例提供的方案整体框架的示意图;

图7是本申请实施例提供的降采样的示意图;

图8是本申请实施例提供的一种声学模型训练装置的结构框图;

图9是本申请实施例提供的一种电子设备的结构框图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。

为解决背景技术中记载的因声学模型得到语音数据中所有帧对应的发音概率分布需要的时间较长,而导致语音识别系统的识别速率较低的技术问题,本申请提供了声学模型训练方法、装置、电子设备及存储介质。

第一方面,首先对本申请实施例提供的一种声学模型训练方法进行详细阐述。

如图1所示,本申请实施例提供的一种声学模型训练方法,具体可以包括如下步骤:

s110,获取训练语音数据,并提取训练语音数据的声学特征向量。

其中,训练语音数据具有对应的标注文本数据,标注文本数据具有对应的发音音素。

具体的,在对声学模型进行训练时,需要采集大量的样本数据,即需要获取训练语音数据。该训练语音数据可以是任一条语音数据,并且,训练语音数据具有对应的标注文本数据,标注文本数据具有对应的发音音素。

训练语音数据具有标注文本数据,但标注文本数据是针对整段训练语音数据的,且是针对字节级别的标注结果。在处理过程中,可以通过词典将字节级别的标注结果转换成音素级别的标注结果,也就是说,标注文本数据具有对应的发音音素。

举例而言,一条训练语音数据的标注文本数据为:你好,那么,该标注文本数据对应的发音音素为:“n、i2、h、ao3”这四个发音音素。由此可见,通过标注文本数据和发音音素可以知道该训练语音数据的标注结果,但并不能得知训练语音数据的每一帧的标注结果。

在该步骤中,在获取到训练语音数据之后,可以将训练语音数据分成若干帧,每一帧可以用声学特征向量来表示。其中,声学特征向量可以包括第一声学特征向量和第二声学特征向量,第一声学特征向量可以为mfcc(mel-scalefrequencycepstralcoefficients,梅尔倒谱系数)特征向量,第二声学特征向量可以为fbank特征向量。

为了方案描述清楚,将在下面实施例中对获取训练语音数据,并提取训练语音数据的声学特征向量的具体实施方式进行详细阐述。

s120,将声学特征向量中的第一声学特征向量输入发音状态模型中,得到第一声学特征向量对应的发音状态。

需要说明的是,在实际应用中,发音状态模型可以为hmm-gmm模型,hmm-gmm模型可以将每个发音音素切分成多个发音状态,发音状态是比发音音素更细粒度的表示,通常情况下,每个发音音素可以对应三个发音状态。

在得到声学特征向量之后,可以将声学特征向量中的第一声学特征向量如mfcc特征向量输入hmm-gmm模型中,得到第一声学特征向量对应的发音状态。可以理解的是,训练语音数据通常包括多帧,每一帧对应一个声学特征向量,因此,声学特征向量通常有多个,第一声学特征向量也有多个,通过将多个第一声学特征向量输入hmm-gmm模型,可以得到多个第一声学特征向量对应的发音状态对齐序列。

为了方案描述清楚,将在下面实施例中对将声学特征向量中的第一声学特征向量输入发音状态模型中,得到第一声学特征向量对应的发音状态的具体实施方式进行详细阐述。

s130,根据发音状态与发音音素的对应关系,将第一声学特征向量对应的发音状态转换为第一声学特征向量对应的发音音素。

其中,每个发音音素包括多个发音状态。

由于每个发音音素对应多个发音状态,也就是说,发音状态与发音音素的对应状态通常是多对一的关系,因此,在得到第一声学特征向量对应的发音状态之后,可以根据发音状态与发音音素的对应关系,将第一声学特征向量对应的发音状态转换为第一声学特征向量对应的发音音素。

并且,由于一个训练语音数据通常有多个第一声学特征向量,因此,通过将每个第一声学特征向量对应的发音状态转换为第一声学特征向量对应的发音音素,可以得到第一声学特征向量对应的发音音素对齐序列。

s140,基于声学特征向量中的第二声学特征向量和第一声学特征向量对应的发音音素,对预设神经网络模型进行训练,并将训练后的预设神经网络模型作为声学模型。

其中,第二声学特征向量是声学特征向量中除第一声学特征向量之外的声学特征向量,在训练预设神经网络模型的过程中,对第二声学特征向量进行下采样处理。

具体的,在得到第一声学特征向量对应的发音音素之后,可以将声学特征向量中的第二声学特征向量如fbank特征向量输入到预设神经网络模型中,对预设神经网络模型进行训练。可以理解的是,每个第二声学特征向量对应一个第一声学特征向量,第一声学特征向量对应的发音音素即为对应的第二声学特征向量的发音音素。在实际应用中,第二声学特征向量为一个第二声学特征向量序列,第一声学特征向量对应的发音音素序列即为第二声学特征向量序列的标签。

在对预设神经网络进行训练过程中,为了降低声学模型的计算量,提高声学模型的计算速率,可以对第二声学特征向量进行下采样处理,例如,下采样率可以为3倍,即将帧率降低三倍,代表从每三帧第二声学特征向量中随机选出一帧第二声学特征向量来训练预设神经网络。这样可以得到三分之一的第二声学特征向量对应的发音音素概率分布,而不是使用每一个第二声学特征向量对应的发音音素概率分布,从而可以降低声学模型的计算量,提高声学模型的计算速率。

在对预设神经网络模型进行训练之后,可以将训练后的预设神经网络模型作为声学模型,这样,在后续利用声学模型时,声学模型的计算速率较高,实时率较高。

为了方案描述清楚,将在下面实施例对基于声学特征向量中的第二声学特征向量和第一声学特征向量对应的发音音素,对预设神经网络模型进行训练的具体实施方式进行详细阐述。

本申请实施例提供的技术方案,获取训练语音数据,并提取训练语音数据的声学特征向量;将声学特征向量中的第一声学特征向量输入发音状态模型中,得到第一声学特征向量对应的发音状态;根据发音状态与发音音素的对应关系,将第一声学特征向量对应的发音状态转换为第一声学特征向量对应的发音音素;基于声学特征向量中的第二声学特征向量和第一声学特征向量对应的发音音素,对预设神经网络模型进行训练,并将训练后的预设神经网络模型作为声学模型;其中,在训练预设神经网络模型的过程中,对第二声学特征向量进行下采样处理。

可见,通过本申请实施例提供的技术方案,声学模型得到语音数据包括的部分帧对应的发音音素概率分布,而不是每一帧对应的发音音素概率分布,从而可以降低声学模型的计算量,提高声学模型的计算速率,从而语音识别系统中解码器的解码时长缩短,提高了语音识别系统的识别速率。

为了方案描述清楚,将在下面实施例对基于声学特征向量中的第二声学特征向量和第一声学特征向量对应的发音音素,对预设神经网络模型进行训练的具体实施方式进行详细阐述。

在一种实施方式中,基于声学特征向量中的第二声学特征向量和第一声学特征向量对应的发音音素,对预设神经网络模型进行训练,如图2所示,可以包括如下步骤:

s210,按照预先设定的目标下采样率对第二声学特征向量进行下采样,得到目标声学特征向量。

具体的,目标下采样率可以根据实际情况进行设定,本申请实施例对目标下采样率不做具体限定。

例如,如果目标下采样率为3,则代表从每三帧第二声学特征向量中随机选出一帧第二声学特征向量。在实际应用中,假设在最开始的1,2,3帧中随机选中了第2帧第二声学特征向量,则在第4,5,6中会默认选中第5帧第二声学特征向量,在第7,8,9中会默认选中第8帧第二声学特征向量,依次后推,此时,目标声学特征向量可以包括:第2帧第二声学特征向量,第5帧第二声学特征向量,第8帧第二声学特征向量,依次后推。

s220,对于每一目标声学特征向量,将该目标声学特征向量与该目标声学特征向量上下文相关的预设数量个第二声学特征向量输入预设神经网络模型,对预设神经网络模型进行训练,直至使得从预设神经网络模型输出的发音音素概率分布为目标发音音素概率分布时,得到训练后的预设神经网络模型。

其中,目标发音音素概率分布是基于该目标声学特征向量对应的发音音素,以及根据目标下采样率所确定与该目标声学特征向量相邻的目标声学特征向量对应的发音音素确定的。

具体的,在训练预设神经网络模型时,对于每一目标声学特征向量,可以将该目标声学特征向量与该目标声学特征向量上下文相关的预设数量个第二声学特征向量输入预设神经网络模型。其中,与该目标声学特征向量上下文相关的预设数量个第二声学特征向量可以为:该目标声学特征向量前m帧第二声学特征向量与该目标声学特征向量后n帧第二声学特征向量。m和n的大小可以根据实际情况进行确定,也就是说,预设数量为m和n之和。例如,m和n的大小均可以为3,本申请实施例对m和n的大小不做具体限定。

举例而言,在目标声学特征向量为第5帧第二声学特征向量时,如果m和n均为3,那么,可以选择第5帧第二声学特征向量的左3帧第二声学特征向量,以及右3帧第二声学特征向量作为上下文相关的预设数量个第二声学特征向量,因此,将第2帧第二声学特征向量到第8帧第二声学特征向量组合到一起输入到预设神经网络模型中,对预设神经网络模型进行训练。

并且,一个目标声学特征向量对应的发音音素与该目标声学特征向量所对应的第一声学特征向量对应的发音音素相同。由于在训练预设神经网络模型的过程中,对第二声学特征向量进行了下采样处理,因此,为了避免信息的丢失,预设神经网络模型的预期输出也发生了相应的变化。具体的,在利用每一目标声学特征向量对预设神经网络模型进行训练时,预设神经网络模型的预期输出不只是该目标声学特征模型对应的发音音素,而是基于该目标声学特征向量对应的发音音素,以及根据目标下采样率所确定与该目标声学特征向量相邻的目标声学特征向量对应的发音音素确定的目标发音音素概率分布。

例如,如果目标下采样率为3倍,在第4,5,6帧第二声学特征向量中选中第5帧第二声学特征向量作为目标声学特征向量对预设神经网络模型进行训练,此时,预设神经网络模型的预期输出不只是第5帧第二声学特征向量对应的发音音素,而是由第4帧第二声学特征向量对应的发音音素,第5帧第二声学特征向量对应的发音音素,第6帧第二声学特征向量对应的发音音素所确定的发音音素概率分布。

如果第4帧第二声学特征向量对应的发音音素为p1,第5帧第二声学特征向量对应的发音音素为p26,第6帧第二声学特征向量对应的发音音素为p26,那么,预设神经网络模型的预期输出为1/3的概率是p1,有2/3的概率是p26的发音音素概率分布。

再例如,如果目标下采样率为3倍,在第7,8,9帧第二声学特征向量中选中第8帧第二声学特征向量作为目标声学特征向量对预设神经网络模型进行训练,此时,预设神经网络模型的预期输出不只是第8帧第二声学特征向量对应的发音音素,而是由第7帧第二声学特征向量对应的发音音素,第8帧第二声学特征向量对应的发音音素,第9帧第二声学特征向量对应的发音音素所确定的发音音素概率分布。

如果第7帧第二声学特征向量对应的发音音素为p26,第8帧第二声学特征向量对应的发音音素为p73,第9帧第二声学特征向量对应的发音音素为p73,那么,预设神经网络模型的预期输出为1/3的概率是p26,有2/3的概率是p73的发音音素概率分布。

上面只是以第5帧第二声学特征向量和第8帧第二声学特征向量为例进行了介绍,并对对本申请构成限制。

可见,通过本实施例提供的技术方案,在训练所述预设神经网络模型的过程中,对第二声学特征向量进行下采样处理,减少了训练声学模型时的计算量,提高了计算速率,并且,声学模型的预期输出为基于目标声学特征向量对应的发音音素,以及根据目标下采样率所确定与目标声学特征向量相邻的目标声学特征向量对应的发音音素所确定的发音音素概率分布,从而提高了声学模型的准确度。

为了方案描述清楚,下面将对获取训练语音数据,并提取训练语音数据的声学特征向量的具体实施方式进行详细阐述。

在一种实施方式中,获取训练语音数据,并提取训练语音数据的声学特征向量,如图3所示,可以包括如下步骤:

s310,获取待处理语音数据。

在获取训练语音数据时,可以获取待处理语音数据,待处理语音数据可以为任一条语音数据,其中,待处理语音数据可能包括静音数据和语音数据两部分。

s320,删除待处理语音数据中的静音数据,得到训练语音数据。

具体的,在得到待处理语音数据后,为了使得后续步骤中的训练语音数据只包括语音数据,可以先将待处理语音数据通过vad模型切除待处理语音数据中的静音数据,得到真正的语音数据,作为训练语音数据。

s330,通过移动窗函数将训练语音数据切分成帧长为预设帧长、且帧移为预设帧移的多个语音帧。

具体的,在得到训练语音数据之后,可以通过移动窗函数将训练语音数据切分成多个语音帧。在实际应用中,切分所得的语音帧的预设帧长可以为25ms,预设帧移可以为10ms。之所以对训练语音数据进行这样切分是因为一帧语音帧所表示的信息在微观上需要足够长,至少包含两到三个周期的信息;而宏观上又要足够短,使得该帧语音帧所表达的信息在一个音素之内,这样可以专注于描述一个音素的信息。

s340,提取每一语音帧的声学特征向量。

其中,声学特征向量包括第一声学特征向量和第二声学特征向量。

具体的,在提取每一语音帧的声学特征向量时,由于语音帧的时域信号的变化很难看出语音帧的特性,因此需要对每一帧语音帧的信号做快速傅里叶变换,分析语音帧里面的频率成分,得到频谱图。

频谱图包括精细结构和包络结构两个方面的信息。其中,精细结构反映的是音高,对语音内容的识别来说是次要信息,包络结构表示整个频谱的形状,反映的是哪个音,对语音内容的识别来说是重要信息。通过在频谱图上做左边密,右边疏的三角滤波,计算每一个三角形内部的总能量,可以忽略精细结构,得到近似的频谱包络,这即为fbank特征向量即本申请实施例所述的第二声学特征向量,fbank特征向量的维度通常为40维,在训练声学模型的过程中,输入的是一个二维矩阵,。

在得到fbank特征向量之后,可以通过对fbank特征向量取对数和离散余弦变换,将其压缩成为维度更小的特征向量表示,该更小维度的特征向量为通常为hmm-gmm模型中常用的mfcc特征向量。mfcc特征mfcc特征向量的维度通常为13维。

可见,通过本申请实施例提供的技术方案,可以对待处理语音数据进行预处理,得到的训练语音数据仅包括语音数据而不包括静音数据;并可以准确地提取训练语音数据的声学特征向量。

为了方案描述清楚,下面实施例将对将声学特征向量中的第一声学特征向量输入发音状态模型中,得到第一声学特征向量对应的发音状态的具体实施方式进行详细阐述。

在一种实施方式中,将声学特征向量中的第一声学特征向量输入发音状态模型中,得到第一声学特征向量对应的发音状态,如图4所示,可以包括如下步骤:

s410,将声学特征向量中的第一声学特征向量输入发音状态模型,进行单音素训练,得到每个第一声学特征向量对应的目标发音状态。

具体的,第一声学特征向量可以为mfcc特征向量,发音状态模型可以为hmm-gmm模型。可以将每一mfcc特征向量输入到hmm-gmm模型中,得到每一mfcc特征向量对应的目标发音状态。

具体的,单音素训练的大致可以为:

第一步,先为每个发音状态都随机生成一个gmm模型,同时根据标注结果将训练数据的每一帧mfcc特征向量与发音音素进行均匀对齐,并转换成发音状态形式的表示。

第二步,根据当前对齐结果更新每个发音状态的gmm模型(m步),再根据更新之后的gmm模型来重新做对齐(e步),这样反复迭代多次之后,gmm模型会逐渐趋于稳定,最终得到一个较为准确的状态层面的对齐结果,即得到每一mfcc特征向量对应的目标发音状态。

s420,根据不同音素的相关性,对所得到的目标发音状态进行三音素训练,以使得具有相关性的目标发音状态进行聚类,得到第一声学特征向量对应的发音状态。

具体的,由于语音数据是一个连续的过程,前后发音音素之间具有一定的相关性,而在单音素训练过程中,只考虑到了当前发音音素,而没有考虑到发音音素上下文的信息,因此,接下来需要进行三音素训练。

其中,三音素训练可以分为两个过程,这两个过程可以简称为tri1和tri2。在tri1过程中,可以选择将当前发音音素与上下文各一个发音音素组合在一起,再将每个三发音音素用三个状态来表示。

如果直接进行三音素训练会带来模型参数量成指数倍数增加的问题,具体来说:假设识别任务中共有200个发音音素,一个发音音素对应3个发音状态,单发音音素仅需训练200*3=600个发音状态,而考虑了上下文的三音素却需要训练(200*200*200)*3=24000000个发音状态,这会导致模型难以训练。经过发明人研究发现,某些三音素状态是很相似的,可以用同一类来表示,因此tri1的第一步就是先根据单音素训练的对齐结果进行决策树聚类,将相似的发音状态聚集到一起,用同一个pid来表示,其中,pid为相似的发音状态的表示方法。之后为每个pid训练一个gmm模型。

tri1之后继续进行三音素的lda+mllt训练,即tri2过程,以提取区分能力较强的特征向量,增强音频特征的鲁棒性,获得发音状态组更为稳定的gmm模型表示。最终根据目前最好的模型获得训练语音数据在pid层面的对齐,可得每帧对应的类别编号,即pid编号。

举例而言,一个300帧语音数据的对齐结果可能如图5所示。图5中,f1-f300表示300帧语音数据中的每一帧,与每一帧对应的具有编号的pid为该帧对应的发音状态。

可见,将第一声学特征向量输入到发音状态模型后,依次经过单音素训练,tri1和tri2两个过程的三音素训练,可以获得第一声学特征向量对应的发音状态,即可以获取训练语音数据的对齐状态序列。

为了方案描述清楚,下面将结合具体的实例对本申请实施例的技术方案进行详细说明。

如图6所示,本申请实施例的技术方案可分为三个主要部分,分别为:数据预处理;hmm-gmm;以及低帧率、粗粒度的神经网络训练。

其中,数据预处理部分的功能是将待处理语音数据即原始wav语音数据转化成声学特征向量,声学特征向量作为后续训练中模型的输入。在这个过程中,先将原始wav语音通过vad模型切除首尾静音之后,得到真正的训练语音数据,再经由移动窗函数把训练语音数据分成帧长25ms,帧移10ms的分帧。

之所以将训练语音数据切分成多个分帧的原因已经在上述实施例中进行了阐述,在此不再赘述。由于时域上信号的变化很难看出其特性,因此需要对每一分帧的信号做快速傅里叶变换,分析其里面的频率成分,得到频谱图。

通过在频谱图上做左边密,右边疏的三角滤波,计算每一个三角形内部的总能量,可以忽略精细结构,得到近似的频谱包络,这即为神经网络中常用的fbank特征,fbank特征是一个二维矩阵,每一列表示一帧的特征向量,维度通常为40维。之后可以通过对fbank特征取对数和离散余弦变换(dct),将其压缩成为维度更小的特征表示,通常为13维,这即为hmm-gmm中常用的mfcc特征。

hmm-gmm部分:将mfcc特征输入到hmm-gmm模型之中,依次经过单音素训练monophone、tri1训练和tri2训练,获得每个pid的gmm模型,最终通过该模型获得训练语音数据的发音状态对齐序列。

低帧率、粗粒度的神经网络训练部分:先将发音状态对齐序列转换成发音音素对齐序列。便可获得发音音素的上下文信息,之后不再将三音素分成更细粒度的状态,而是根据该信息直接对三音素进行聚类,则可获得上下文相关的音素对齐序列,之后将上下文相关的发音音素对齐序列与fbank特征输入到神经网络中进行训练,训练的同时可采用拼帧、跳帧等方式对特征进行降采样。

具体的,本申请采用的降采样过程如图7所示。若设置将帧率降低三倍,则代表从每三帧中随机选出一帧来计算声学模型得分,在本申请中,假设在最开始的1,2,3帧中随机选中了第2帧f2,则在第4,5,6中会默认选中第5帧f5,依次后推。由于对fbank特征进行了降采样,为了避免更多信息的丢失,label也发生了相应的变化,变成了多标签的softlabel。

以第2帧f5为例,在实际操作过程中,假设选择当前帧的左3帧以及右3帧作为上下文信息,因此,将f2-f8组合到一起输入到神经网络中,预期输出的label不再只是f5的对齐p26,而是该帧与其前后两帧的对齐组合在一起,即预期输出为有1/3的概率是p1,有2/3的概率是p26的softlabel。

在训练下一帧的时候,不再直接右移一帧,输入数据应该为f5-f11的fbank特征,预期输出的label可以为1/3的概率是p26,有2/3的概率是p763的softlabel,之后根据输入和输出进行多轮多标签的训练,得到最终的lstm声学模型。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作并不一定是本申请所必须的。

第二方面,本申请实施例提供了一种声学模型训练装置,如图8所示,所述装置包括:

声学特征向量获取模块810,用于获取训练语音数据,并提取所述训练语音数据的声学特征向量,其中,所述训练语音数据具有对应的标注文本数据,所述标注文本数据具有对应的发音音素;

发音状态对齐序列确定模块820,用于将所述声学特征向量中的第一声学特征向量输入发音状态模型中,得到所述第一声学特征向量对应的发音状态;

发音音素对齐序列确定模块830,用于根据发音状态与发音音素的对应关系,将所述第一声学特征向量对应的发音状态转换为所述第一声学特征向量对应的发音音素,其中,每个所述发音音素包括多个发音状态;

声学模型确定模块840,用于基于所述声学特征向量中的第二声学特征向量和所述第一声学特征向量对应的发音音素,对预设神经网络模型进行训练,并将训练后的预设神经网络模型作为声学模型,其中,所述第二声学特征向量是所述声学特征向量中除所述第一声学特征向量之外的声学特征向量;

其中,在训练所述预设神经网络模型的过程中,对所述第二声学特征向量进行下采样处理。

可见,通过本申请实施例提供的技术方案,声学模型得到语音数据包括的部分帧对应的发音音素概率分布,而不是每一帧对应的发音音素概率分布,从而可以降低声学模型的计算量,提高声学模型的计算速率,从而语音识别系统中解码器的解码时长缩短,提高了语音识别系统的识别速率。

可选的,所述声学模型确定模块,具体:

按照预先设定的目标下采样率对所述第二声学特征向量进行下采样,得到目标声学特征向量;

对于每一目标声学特征向量,将该目标声学特征向量与该目标声学特征向量上下文相关的预设数量个第二声学特征向量输入预设神经网络模型,对所述预设神经网络模型进行训练,直至使得从所述预设神经网络模型输出的发音音素概率分布为目标发音音素概率分布时,得到训练后的预设神经网络模型;

其中,目标发音音素概率分布是基于该目标声学特征向量对应的发音音素,以及根据所述目标下采样率所确定与该目标声学特征向量相邻的第二声学特征向量对应的发音音素确定的;

一个目标声学特征向量对应的发音音素与该目标声学特征向量所对应的第一声学特征向量对应的发音音素相同。

可选的,所述声学特征向量获取模块,具体用于:

获取待处理语音数据;

删除所述待处理语音数据中的静音数据,得到训练语音数据;

通过移动窗函数将所述训练语音数据切分成帧长为预设帧长、且帧移为预设帧移的多个语音帧;

提取每一所述语音帧的声学特征向量,所述声学特征向量包括第一声学特征向量和第二声学特征向量。

可选的,所述发音状态对齐序列确定模块,具体用于:

将所述声学特征向量中的第一声学特征向量输入发音状态模型,进行单音素训练,得到每个第一声学特征向量对应的目标发音状态;

根据不同音素的相关性,对所得到的目标发音状态进行三音素训练,以使得具有相关性的目标发音状态进行聚类,得到所述第一声学特征向量对应的发音状态。

第三方面,本申请实施例提供了一种电子设备,如图9所示,包括存储器910、处理器920及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的声学模型训练方法的步骤。

可见,通过本申请实施例提供的技术方案,声学模型得到语音数据包括的部分帧对应的发音音素概率分布,而不是每一帧对应的发音音素概率分布,从而可以降低声学模型的计算量,提高声学模型的计算速率,从而语音识别系统中解码器的解码时长缩短,提高了语音识别系统的识别速率。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的声学模型训练方法的步骤。

可见,通过本申请实施例提供的技术方案,声学模型得到语音数据包括的部分帧对应的发音音素概率分布,而不是每一帧对应的发音音素概率分布,从而可以降低声学模型的计算量,提高声学模型的计算速率,从而语音识别系统中解码器的解码时长缩短,提高了语音识别系统的识别速率。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种声学模型训练方法、装置、电子设备及存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips