1.本公开涉及计算机领域,具体而言,涉及一种神经网络训练方法、语音识别方法、装置、设备及介质。
背景技术:
2.自动语音识别技术(automatic speech recognition,asr)是一种将人的语音转换为文本的技术,被大量应用在语音交互、人机交互等多种场景中。
3.常见的语音识别方式是接收到发言者说的一段话后,识别这段
音频数据所包含的信息,然后这种方式计算量极大,语音识别速度慢。随着社会的发展和进步,越来越多的场景需要用到流式asr,此时若仍然使用接收到发言者说的一段话后再进行识别的方式,会产生较长的时间延迟,流式asr需要在接收到发言者说完一个字后,就尽快识别出对应的文本信息。然而这种情况可用于解析的音频数据有限,导致识别结果的准确率低。
技术实现要素:
4.本公开实施例至少提供一种神经网络训练方法、语音识别方法、装置、设备及介质。
5.本公开实施例提供了一种神经网络训练方法,
所述方法包括:
6.获取样本音频数据以及所述样本音频数据的实际音频识别结果;
7.从所述样本音频数据中确定多个样本音频
片段,以及从所述实际音频识别结果中确定出每个样本音频片段的实际片段识别结果,所述样本音频片段包括多帧当前音频帧,以及在所述多帧当前音频帧之前的至少一帧历史音频帧和在所述多帧当前音频帧之后的至少一帧未来音频帧;
8.将多个所述样本音频片段输入至预先构建好的流式语音识别神经网络中,得到每个所述样本音频片段的预测片段识别结果;
9.基于得到的多个预测片段识别结果和每个预测片段识别结果对应的实际片段识别结果,对所述流式语音识别神经网络的网络参数进行调整,直至所述流式语音识别神经网络满足训练截止条件,得到用于进行实时语音识别的流式语音识别模型。
10.这样,通过在当前音频帧的基础上引入历史音频帧和未来音频帧,使样本音频片段中包含的音频帧数量增加,可以增加样本音频片段的丰富性,提高训练数据包含的样本
特征向量,提高流式语音识别神经网络对于每个样本音频片段的感受野,增强对于上下文的识别效果,大大增加通过训练得到的流式语音识别模型的鲁棒性,有效提高流式语音识别模型的语音识别准确度和速度。
11.一种可选的实施方式中,所述从所述样本音频数据中确定多个样本音频片段,包括:
12.使用预设采样时间窗,按照预设采样位移,对所述样本音频数据进行数据采样,得到多个采样音频帧,所述预设采样时间窗对应的时间跨度大于所述预设采样位移对应的时
间跨度;
13.对所述多个采样音频帧进行切分处理,得到多个样本音频片段。
14.这样,可以将样本音频数据转换为多个样本音频片段,通过样本音频片段模拟在实际语音识别时接收到的语音片段,提升后续流式语音识别神经网络的训练效果。
15.一种可选的实施方式中,所述对所述多个采样音频帧进行切分处理,得到多个样本音频片段,包括:
16.将通过所述预设采样时间窗连续采样预设次数得到的音频帧集合作为一个候选音频片段,得到多个候选音频片段,其中,所述候选音频片段中连续的多帧采样音频帧作为对应的多帧当前音频帧;
17.针对每个候选音频片段,从所述多帧采样音频帧中,确定出在所述候选音频片段之前连续的至少一帧历史音频帧,以及按照针对此轮训练生成动态延迟时间,确定出在所述候选音频片段之后连续的、与所述动态延迟时间匹配的至少一帧未来音频帧,所述至少一帧历史音频帧和所述至少一帧未来音频帧分别与所述候选音频片段相邻;
18.将所述至少一帧历史音频帧、所述候选音频片段的多个当前音频帧和所述至少一帧未来音频帧进行拼接,得到对应的样本音频片段。
19.这样,通过确定出与每个候选音频片段对应的历史音频帧和未来音频帧,拼接得到样本音频片段,增加样本音频片段的丰富性,提高训练数据包含的样本特征向量,提高流式语音识别神经网络对于每个样本音频片段的感受野,有效增强对于上下文的识别效果。
20.一种可选的实施方式中,所述从所述多帧采样音频帧中,确定出在所述候选音频片段之前连续的至少一帧历史音频帧,以及按照针对此轮训练生成动态延迟时间,确定出在所述候选音频片段之后连续的、与所述动态延迟时间匹配的至少一帧未来音频帧,包括:
21.在确定所述候选音频片段的至少一帧历史音频帧和所述至少一帧未来音频帧的过程中,若所述候选音频片段为所述多个候选音频片段中的第一个音频片段,确定至少一帧第一空白音频帧,并将所述至少一帧第一空白音频帧作为所述候选音频片段的至少一帧历史音频帧;
22.若所述候选音频片段为所述多个候选音频片段中的最后一个音频片段,确定至少一帧第二空白音频帧,并将所述至少一帧第二空白音频帧作为所述候选音频片段的至少一帧未来音频帧。
23.这样,在确定所述候选音频片段的至少一帧历史音频帧和所述至少一帧未来音频帧的过程中,针对多个候选音频片段中的第一个音频片段和最后一个音频片段,引入空白音频帧,分为作为第一个音频片段的至少一帧历史音频帧和最后一个音频片段的至少一帧未来音频帧,使得流式语音识别神经网络的训练过程中的数据符合实际语音输出数据的情况,保证流式语音识别神经网络训练过程的准确性和有效性。
24.一种可选的实施方式中,所述将多个所述样本音频片段输入至预先构建好的流式语音识别神经网络中,得到每个所述样本音频片段的预测片段识别结果,包括:
25.针对每个所述样本音频片段,将所述样本音频片段输入至流式语音识别神经网络中的特征卷积层,得到所述特征卷积层输出的、所述样本音频片段的第一样本特征序列;
26.将所述第一样本特征序列输入至所述流式语音识别神经网络中的特征编码层,得到编码后的第二样本特征序列;
27.将所述第二样本特征序列,输入至所述流式语音识别神经网络的特征解码层中,得到所述样本音频片段的预测片段识别结果。
28.这样,通过流式语音识别神经网络中的各个层的处理,可以得到样本音频片段的预测片段识别结果,以在后续基于预测片段识别结果对流式语音识别神经网络的网络参数进行调整。
29.一种可选的实施方式中,所述将所述样本音频片段输入至流式语音识别神经网络中的特征卷积层,得到所述特征卷积层输出的、所述样本音频片段的第一样本特征序列,包括:
30.将所述样本音频片段输入至流式语音识别神经网络中的特征卷积层,分别提取所述至少一帧历史音频帧的一条历史样本特征向量,以及所述多帧当前音频帧的当前样本特征序列和所述至少一帧未来音频帧的未来样本特征序列;
31.基于所述历史样本特征向量、所述当前样本特征序列和所述未来样本特征序列,得到所述样本音频片段的初始样本特征序列;
32.对所述初始样本特征序列进行卷积处理,得到所述特征卷积层输出的第一样本特征序列。
33.这样,通过卷积特征层的处理,将样本音频片段转换为第一样本特征序列,使得第一样本特征序列包含历史音频帧、当前音频帧和未来音频帧的信息,有效提高流式语音识别神经网络在训练过程中的感受野。
34.一种可选的实施方式中,所述将所述第一样本特征序列输入至所述神经网络中的特征编码层,得到编码后的第二样本特征序列,包括:
35.将所述样本音频片段作为当前音频片段,获取所述当前音频片段之前的至少一段在先音频片段的在先特征向量;
36.基于所述第一样本特征序列,确定针对所述当前音频片段的第一键特征序列、第一值特征序列和第一查询特征序列,所述第一键特征序列包括第一历史键特征、当前键特征和未来键特征,所述第一值特征序列包括第一历史值特征、当前值特征和未来值特征,所述第一查询特征序列包括当前查询特征向量和未来查询特征向量;
37.基于所述在先特征向量,确定针对所述当前音频片段的第二历史键特征和第二历史值特征;
38.基于所述第二历史键特征和第二历史值特征,以及所述第一历史键特征、所述当前键特征、所述未来键特征、所述第一历史值特征、所述当前值特征、所述未来值特征、所述当前查询特征向量和所述未来查询特征向量,确定对所述第一样本特征序列进行编码后得到的第二样本特征序列。
39.这样,通过特征编码层的处理,得到当前音频片段的第一键特征序列、第一值特征序列和第一查询特征序列,再结合第二历史键特征和第二历史值特征,得到对第一样本特征序列进行编码后得到的第二样本特征序列,有效增加第二样本特征序列的丰富性。
40.一种可选的实施方式中,所述方法还包括:
41.在对所述第一样本特征序列进行编码的过程中,输出所述当前音频片段的当前特征序列,以供所述当前音频片段之后的在后音频片段在编码过程中,能够根据获取的所述当前特征序列确定所述在后音频片段之前的至少一段在先音频片段的在先特征向量。
42.这样,可以对当前音频片段的当前特征序列进行存储,以便当前音频片段之后的在后音频片段在编码过程中可以获取在后音频片段之前的至少一段在先音频片段的在先特征向量。
43.一种可选的实施方式中,所述方法还包括:
44.在所述当前音频片段为所述多个样本音频片段中第一个音频片段的情况下,基于所述当前音频片段的当前特征序列,确定所述当前特征序列对应的当前特征向量;
45.将所述当前特征向量作为所述当前音频片段之前的至少一段在先音频片段的在先特征向量。
46.这样,在当前音频片段为多个样本音频片段中第一个音频片段的情况下,将当前特征序列对应的当前特征向量作为在先特征向量,提升流式语音识别神经网络训练过程的灵活性和准确性。
47.一种可选的实施方式中,所述将所述第二样本特征序列,输入至所述神经网络的特征解码层中,得到所述样本音频片段的预测片段识别结果,包括:
48.通过所述神经网络的特征解码层,对所述第二样本特征序列进行解码处理,得到所述样本音频片段的多个候选识别结果,所述候选识别结果包括空白标签和文字标签;
49.将空白标签从所述多个候选识别结果中删除,得到删除处理后的多个候选识别结果;
50.针对删除处理后的多个候选识别结果,基于各个文字标签的文字内容,对删除处理后的多个候选识别结果进行去重处理,得到去重处理后的多个候选识别结果;
51.针对去重处理后的多个候选识别结果进行组合排列,得到所述样本音频片段的预测片段识别结果。
52.这样,针对多个候选识别结果进行删除处理和去重处理,再进行组合排列,保障得到的预测片段识别结果的有效性和准确度。
53.本公开实施例提供了一种语音识别方法,所述方法包括:
54.接收实时输出的当前语音片段,所述当前语音片段包括多帧当前实时音频帧,以及在所述多帧当前实时音频帧之前的至少一帧历史实时音频帧;
55.将所述当前语音片段输入至根据上述的神经网络训练方法训练得到的、用于进行实时语音识别的流式语音识别模型中,得到所述当前语音片段的语音识别结果。
56.这样,可以使用训练得到的流式语音识别模型对实时输出的当前语音片段进行语音识别,从而得到当前语音片段的语音识别结果,有助于快速得到语音识别结果,识别准确率高,识别速度快,识别效果好。
57.本公开实施例还提供一种神经网络训练装置,所述装置包括:
58.样本获取模块,用于获取样本音频数据以及所述样本音频数据的实际音频识别结果;
59.片段确定模块,用于从所述样本音频数据中确定多个样本音频片段,以及从所述实际音频识别结果中确定出每个样本音频片段的实际片段识别结果,所述样本音频片段包括多帧当前音频帧,以及在所述多帧当前音频帧之前的至少一帧历史音频帧和在所述多帧当前音频帧之后的至少一帧未来音频帧;
60.预测结果确定模块,用于将多个所述样本音频片段输入至预先构建好的流式语音
识别神经网络中,得到每个所述样本音频片段的预测片段识别结果;
61.模型确定模块,用于基于得到的多个预测片段识别结果和每个预测片段识别结果对应的实际片段识别结果,对所述流式语音识别神经网络的网络参数进行调整,直至所述流式语音识别神经网络满足训练截止条件,得到用于进行实时语音识别的流式语音识别模型。
62.一种可选的实施方式中,所述片段确定模块在用于从所述样本音频数据中确定多个样本音频片段时,具体用于:
63.使用预设采样时间窗,按照预设采样位移,对所述样本音频数据进行数据采样,得到多个采样音频帧,所述预设采样时间窗对应的时间跨度大于所述预设采样位移对应的时间跨度;
64.对所述多个采样音频帧进行切分处理,得到多个样本音频片段。
65.一种可选的实施方式中,所述片段确定模块在用于对所述多个采样音频帧进行切分处理,得到多个样本音频片段时,具体用于:
66.将通过所述预设采样时间窗连续采样预设次数得到的音频帧集合作为一个候选音频片段,得到多个候选音频片段,其中,所述候选音频片段中连续的多帧采样音频帧作为对应的多帧当前音频帧;
67.针对每个候选音频片段,从所述多帧采样音频帧中,确定出在所述候选音频片段之前连续的至少一帧历史音频帧,以及按照针对此轮训练生成动态延迟时间,确定出在所述候选音频片段之后连续的、与所述动态延迟时间匹配的至少一帧未来音频帧,所述至少一帧历史音频帧和所述至少一帧未来音频帧分别与所述候选音频片段相邻;
68.将所述至少一帧历史音频帧、所述候选音频片段的多个当前音频帧和所述至少一帧未来音频帧进行拼接,得到对应的样本音频片段。
69.一种可选的实施方式中,所述片段确定模块在用于从所述多帧采样音频帧中,确定出在所述候选音频片段之前连续的至少一帧历史音频帧,以及按照针对此轮训练生成动态延迟时间,确定出在所述候选音频片段之后连续的、与所述动态延迟时间匹配的至少一帧未来音频帧时,具体用于:
70.在确定所述候选音频片段的至少一帧历史音频帧和所述至少一帧未来音频帧的过程中,若所述候选音频片段为所述多个候选音频片段中的第一个音频片段,确定至少一帧第一空白音频帧,并将所述至少一帧第一空白音频帧作为所述候选音频片段的至少一帧历史音频帧;
71.若所述候选音频片段为所述多个候选音频片段中的最后一个音频片段,确定至少一帧第二空白音频帧,并将所述至少一帧第二空白音频帧作为所述候选音频片段的至少一帧未来音频帧。
72.一种可选的实施方式中,所述预测结果确定模块具体用于:
73.针对每个所述样本音频片段,将所述样本音频片段输入至流式语音识别神经网络中的特征卷积层,得到所述特征卷积层输出的、所述样本音频片段的第一样本特征序列;
74.将所述第一样本特征序列输入至所述流式语音识别神经网络中的特征编码层,得到编码后的第二样本特征序列;
75.将所述第二样本特征序列,输入至所述流式语音识别神经网络的特征解码层中,
得到所述样本音频片段的预测片段识别结果。
76.一种可选的实施方式中,所述预测结果确定模块在用于将所述样本音频片段输入至流式语音识别神经网络中的特征卷积层,得到所述特征卷积层输出的、所述样本音频片段的第一样本特征序列时,具体用于:
77.将所述样本音频片段输入至流式语音识别神经网络中的特征卷积层,分别提取所述至少一帧历史音频帧的一条历史样本特征向量,以及所述多帧当前音频帧的当前样本特征序列和所述至少一帧未来音频帧的未来样本特征序列;
78.基于所述历史样本特征向量、所述当前样本特征序列和所述未来样本特征序列,得到所述样本音频片段的初始样本特征序列;
79.对所述初始样本特征序列进行卷积处理,得到所述特征卷积层输出的第一样本特征序列。
80.一种可选的实施方式中,所述预测结果确定模块在用于将所述第一样本特征序列输入至所述神经网络中的特征编码层,得到编码后的第二样本特征序列时,具体用于:
81.将所述样本音频片段作为当前音频片段,获取所述当前音频片段之前的至少一段在先音频片段的在先特征向量;
82.基于所述第一样本特征序列,确定针对所述当前音频片段的第一键特征序列、第一值特征序列和第一查询特征序列,所述第一键特征序列包括第一历史键特征、当前键特征和未来键特征,所述第一值特征序列包括第一历史值特征、当前值特征和未来值特征,所述第一查询特征序列包括当前查询特征向量和未来查询特征向量;
83.基于所述在先特征向量,确定针对所述当前音频片段的第二历史键特征和第二历史值特征;
84.基于所述第二历史键特征和第二历史值特征,以及所述第一历史键特征、所述当前键特征、所述未来键特征、所述第一历史值特征、所述当前值特征、所述未来值特征、所述当前查询特征向量和所述未来查询特征向量,确定对所述第一样本特征序列进行编码后得到的第二样本特征序列。
85.一种可选的实施方式中,所述预测结果确定模块还用于:
86.在对所述第一样本特征序列进行编码的过程中,输出所述当前音频片段的当前特征序列,以供所述当前音频片段之后的在后音频片段在编码过程中,能够根据获取的所述当前特征序列确定所述在后音频片段之前的至少一段在先音频片段的在先特征向量。
87.一种可选的实施方式中,所述预测结果确定模块还用于:
88.在所述当前音频片段为所述多个样本音频片段中第一个音频片段的情况下,基于所述当前音频片段的当前特征序列,确定所述当前特征序列对应的当前特征向量;
89.将所述当前特征向量作为所述当前音频片段之前的至少一段在先音频片段的在先特征向量。
90.一种可选的实施方式中,所述预测结果确定模块在用于将所述第二样本特征序列,输入至所述神经网络的特征解码层中,得到所述样本音频片段的预测片段识别结果时,具体用于:
91.通过所述神经网络的特征解码层,对所述第二样本特征序列进行解码处理,得到所述样本音频片段的多个候选识别结果,所述候选识别结果包括空白标签和文字标签;
92.将空白标签从所述多个候选识别结果中删除,得到删除处理后的多个候选识别结果;
93.针对删除处理后的多个候选识别结果,基于各个文字标签的文字内容,对删除处理后的多个候选识别结果进行去重处理,得到去重处理后的多个候选识别结果;
94.针对去重处理后的多个候选识别结果进行组合排列,得到所述样本音频片段的预测片段识别结果。
95.本公开实施例还提供一种语音识别装置,所述装置包括:
96.数据获取模块,用于接收实时输出的当前语音片段,所述当前语音片段包括多帧当前实时音频帧,以及在所述多帧当前实时音频帧之前的至少一帧历史实时音频帧;
97.语音识别模块,用于将所述当前语音片段输入至根据上述的神经网络训练装置训练得到的、用于进行实时语音识别的流式语音识别模型中,得到所述当前语音片段的语音识别结果。
98.本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述神经网络训练方法或者语音识别方法的步骤。
99.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述神经网络训练方法或者语音识别方法的步骤。
100.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
101.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。
附图说明
102.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
103.图1示出了本公开实施例所提供的一种神经网络训练方法的流程图;
104.图2示出了本公开实施例所提供的确定采样音频帧的示意图;
105.图3示出了本公开实施例所提供的流式语音识别神经网络的结构示意图;
106.图4示出了本公开实施例所提供的确定第一样本特征序列的示意图;
107.图5示出了本公开实施例所提供的确定第二样本特征序列的示意图;
108.图6示出了本公开实施例所提供的一种语音识别方法的流程图;
109.图7示出了本公开实施例所提供的一种神经网络训练装置的示意图;
110.图8示出了本公开实施例所提供的一种语音识别装置的示意图;
111.图9示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
112.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
113.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
114.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
115.经研究发现,在需要用到语音识别的场景中,人们大多希望等待识别结果的时间短。由于音频数据的长度与识别的时间相关,音频数据长,会导致计算量大,识别速度慢,产生时间延迟,这就需要消耗大量时间等待识别结果。因此,流式asr在大量场景中被广泛应用,这要求在接收到发言者说完一个字后,就尽快识别出说话内容,但此时可用于识别的信息少,语音识别效果不佳。
116.基于上述研究,本公开提供了一种神经网络训练方法和语音识别方法,通过在当前音频帧的基础上引入历史音频帧和未来音频帧,使样本音频片段中包含的音频帧数量增加,可以提高训练数据包含的样本特征向量,大大增加通过训练得到的流式语音识别模型的鲁棒性,进而可以使用训练得到的流式语音识别模型对实时输出的当前语音片段进行语音识别,识别准确率高,识别速度快,识别效果好。
117.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
118.为便于对本实施例进行理解,首先对本公开实施例所公开的一种神经网络训练方法进行详细介绍,本公开实施例所提供的神经网络训练方法的执行主体可以是神经网络训练装置,例如,神经网络训练方法可以由终端设备或服务器或其它处理设备执行。在一些可能的实现方式中,该神经网络训练方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
119.下面对本公开实施例提供的一种神经网络训练方法加以说明。
120.请参阅图1,图1为本公开实施例提供的一种神经网络训练方法的流程图。如图1中所示,本公开实施例提供的神经网络训练方法包括:
121.s101:获取样本音频数据以及所述样本音频数据的实际音频识别结果。
122.在需要进行神经网络训练的时候,首先需要准备要训练用的样本音频数据,并且需要确定所述样本音频数据所对应的实际音频识别结果;
123.这里,所述实际音频识别结果包括针对所述样本音频数据进行识别得到的文本信
息,所述文本信息中包括所述样本音频数据记录的文字。
124.可选地,可以根据训练需求,在现实场景中设置录音机、麦克风等录音设备,通过录音设备采集样本音频数据,还可以是设置录像机等拍摄设备,拍摄得到包括说话过程的视频,再从视频中将音频信号提取出来,作为样本音频数据,也可以是从互联网上的音频数据库中获取样本音频数据,在此并不做任何限定。
125.s102:从所述样本音频数据中确定多个样本音频片段,以及从所述实际音频识别结果中确定出每个样本音频片段的实际片段识别结果,所述样本音频片段包括多帧当前音频帧,以及在所述多帧当前音频帧之前的至少一帧历史音频帧和在所述多帧当前音频帧之后的至少一帧未来音频帧。
126.在实际进行语音识别时,大多是流式语音识别的场景,为了能够训练出满足流式语音识别场景的训练需求,可以从所述样本音频数据中确定多个样本音频片段,相应的,需要从所述实际音频识别结果中确定出每个样本音频片段的实际片段识别结果。
127.这里,所述样本音频片段包括多帧当前音频帧,以及在所述多帧当前音频帧之前的至少一帧历史音频帧和在所述多帧当前音频帧之后的至少一帧未来音频帧,如此可以模拟出实际语音识别时的流式识别的效果,这样,通过增加历史信息和未来信息的方式,增加每个样本音频片段的样本数据量和丰富度,有助于提升语音识别的准确率。
128.为了确定样本音频片段,一些可能的实施方式中,所述从所述样本音频数据中确定多个样本音频片段,包括:
129.使用预设采样时间窗,按照预设采样位移,对所述样本音频数据进行数据采样,得到多个采样音频帧,所述预设采样时间窗对应的时间跨度大于所述预设采样位移对应的时间跨度;
130.对所述多个采样音频帧进行切分处理,得到多个样本音频片段。
131.该步骤中,可以根据训练需要,获取针对此轮训练的预设采样时间窗和预设采样位移,从而对所述样本音频数据进行数据采样,得到多个采样音频帧。
132.这里,所述预设采样时间窗对应的时间跨度大于所述预设采样位移对应的时间跨度。
133.可以理解,因为所述预设采样时间窗对应的时间跨度大于所述预设采样位移对应的时间跨度,所以连续的两个采样音频帧中必然会存在相同的单位音频帧,有助于保障采样音频帧的信息完整度。
134.然后,可以对所述多个采样音频帧进行切分处理,同时加入历史音频帧和未来音频帧,以得到多个样本音频片段。
135.示例性的,请同时参阅图2,若所述采样时间窗对应的时间跨度为25ms,所述预设采样位移对应的时间跨度为10ms,则针对样本音频数据来讲,每次采集25ms的采样音频帧,每间隔10ms进行一次采集,如此,0-25ms为采集到的第一个采样音频帧,10-35ms为采集到的第二个采样音频帧,20-45ms为采集到的第三个采样音频帧,30-55ms为采集到的第四个采样音频帧,以此类推,从而实现从所述样本音频数据中采样得到多个采样音频帧。
136.这样,可以将样本音频数据转换为多个样本音频片段,通过样本音频片段模拟在实际语音识别时接收到的语音片段,提升后续流式语音识别神经网络的训练效果。
137.相应地,一些可能的实施方式中,所述对所述多个采样音频帧进行切分处理,得到
多个样本音频片段,包括:
138.将通过所述预设采样时间窗连续采样预设次数得到的音频帧集合作为一个候选音频片段,得到多个候选音频片段,其中,所述候选音频片段中连续的多帧采样音频帧作为对应的多帧当前音频帧;
139.针对每个候选音频片段,从所述多帧采样音频帧中,确定出在所述候选音频片段之前连续的至少一帧历史音频帧,以及按照针对此轮训练生成动态延迟时间,确定出在所述候选音频片段之后连续的、与所述动态延迟时间匹配的至少一帧未来音频帧,所述至少一帧历史音频帧和所述至少一帧未来音频帧分别与所述候选音频片段相邻;
140.将所述至少一帧历史音频帧、所述候选音频片段的多个当前音频帧和所述至少一帧未来音频帧进行拼接,得到对应的样本音频片段。
141.该步骤中,在获取到多个采样音频帧的情况下,根据预设次数,确定通过所述预设采样时间窗连续采样预设次数得到的音频帧集合,将所述音频帧集合作为一个候选音频片段,从而得到多个候选音频片段。
142.示例性的,承接上述实例,若预设次数为4,将第一至四个采样音频帧进行帧堆叠处理,得到第一个音频帧集合,将第二至五个采样音频帧进行帧堆叠处理,得到第二个音频帧集合,以此类推,将得到的每个音频帧集合作为一个候选音频片段,从而得到多个候选音频片段。
143.这样,通过确定出与每个候选音频片段对应的历史音频帧和未来音频帧,拼接得到样本音频片段,增加样本音频片段的丰富性,提高训练数据包含的样本特征向量,提高流式语音识别神经网络对于每个样本音频片段的感受野,有效增强对于上下文的识别效果。
144.然后,针对每个候选音频片段,从所述多帧采样音频帧中,可以按照预设历史音频帧数量,确定出在所述候选音频片段之前连续的至少一帧历史音频帧,同时可以根据针对此轮训练生成动态延迟时间,确定出在所述候选音频片段之后连续的、与所述动态延迟时间匹配的至少一帧未来音频帧。
145.这里,所述至少一帧历史音频帧和所述至少一帧未来音频帧分别与所述候选音频片段相邻,有效保证至少一帧历史音频帧和至少一帧未来音频帧与所述候选音频片段的关联性,从而增强对于上下文的识别效果。
146.其中,根据每轮训练的训练需求,可以生成与此轮训练匹配的动态延迟时间。
147.优选地,每轮训练对应的动态延迟时间可以不同,有助于提升训练得到的流式语音识别模型的鲁棒性。
148.示例性的,第一轮训练对应的动态延迟时间为320ms,第二轮训练对应的动态延迟时间为640ms。
149.其中,在确定所述候选音频片段的至少一帧历史音频帧和所述至少一帧未来音频帧的过程中,针对多个候选音频片段中的第一个音频片段而言,其之前不存在历史音频帧,针对多个候选音频片段中的最后一个音频片段而言,其之后不存在未来音频帧,因此,针对多个候选音频片段中的第一个音频片段和最后一个音频片段,需要进行一定的设置。
150.因此,一些可能的实施方式中,在确定所述候选音频片段的至少一帧历史音频帧和所述至少一帧未来音频帧的过程中,若所述候选音频片段为所述多个候选音频片段中的第一个音频片段,确定至少一帧第一空白音频帧,并将所述至少一帧第一空白音频帧作为
所述候选音频片段的至少一帧历史音频帧;若所述候选音频片段为所述多个候选音频片段中的最后一个音频片段,确定至少一帧第二空白音频帧,并将所述至少一帧第二空白音频帧作为所述候选音频片段的至少一帧未来音频帧。
151.这样,在确定所述候选音频片段的至少一帧历史音频帧和所述至少一帧未来音频帧的过程中,针对多个候选音频片段中的第一个音频片段和最后一个音频片段,引入空白音频帧,分为作为第一个音频片段的至少一帧历史音频帧和最后一个音频片段的至少一帧未来音频帧,使得流式语音识别神经网络的训练过程中的数据符合实际语音输出数据的情况,保证流式语音识别神经网络训练过程的准确性和有效性。
152.接着,将所述至少一帧历史音频帧、所述候选音频片段的多个当前音频帧和所述至少一帧未来音频帧进行拼接,得到对应的样本音频片段。
153.s103:将多个所述样本音频片段输入至预先构建好的流式语音识别神经网络中,得到每个所述样本音频片段的预测片段识别结果。
154.该步骤中,在得到多个所述样本音频片段后,可以将多个所述样本音频片段输入至预先构建好的流式语音识别神经网络中,通过所述流式语音识别神经网络的处理,可以得到每个所述样本音频片段的预测片段识别结果。
155.具体的,一些可能的实施方式中,所述将多个所述样本音频片段输入至预先构建好的流式语音识别神经网络中,得到每个所述样本音频片段的预测片段识别结果,包括:
156.针对每个所述样本音频片段,将所述样本音频片段输入至流式语音识别神经网络中的特征卷积层,得到所述特征卷积层输出的、所述样本音频片段的第一样本特征序列;
157.将所述第一样本特征序列输入至所述流式语音识别神经网络中的特征编码层,得到编码后的第二样本特征序列;
158.将所述第二样本特征序列,输入至所述流式语音识别神经网络的特征解码层中,得到所述样本音频片段的预测片段识别结果。
159.这里,可以同时参阅图3,图3为本公开实施例提供的流式语音识别神经网络的结构示意图,如图3中所示,流式语音识别网络可以包括特征卷积层、特征编码层进而特征解码层,所述特征卷积层用于将每个所述样本音频片段进行卷积后得到所述样本音频片段的第一样本特征序列,所述特征编码层用于将所述第一样本特征序列进行编码后得到第二样本特征序列,所述特征解码层用于将所述第二样本特征序列进行解码后得到所述样本音频片段的预测片段识别结果。
160.这样,通过流式语音识别神经网络中的各个层的处理,可以得到样本音频片段的预测片段识别结果,以在后续基于预测片段识别结果对流式语音识别神经网络的网络参数进行调整。
161.具体的,在需要对样本音频片段进行处理时,在一些可能的实施方式中,所述将所述样本音频片段输入至流式语音识别神经网络中的特征卷积层,得到所述特征卷积层输出的、所述样本音频片段的第一样本特征序列,包括:
162.将所述样本音频片段输入至流式语音识别神经网络中的特征卷积层,分别提取所述至少一帧历史音频帧的一条历史样本特征向量,以及所述多帧当前音频帧的当前样本特征序列和所述至少一帧未来音频帧的未来样本特征序列;
163.基于所述历史样本特征向量、所述当前样本特征序列和所述未来样本特征序列,
得到所述样本音频片段的初始样本特征序列;
164.对所述初始样本特征序列进行卷积处理,得到所述特征卷积层输出的第一样本特征序列。
165.这里,为了减少计算量,提升训练速度,可以将所述至少一帧历史音频帧进行压缩处理,得到压缩处理后的一条历史样本特征向量。
166.示例性的,请同时参阅图4,图4为本公开实施例提供的确定第一样本特征序列的示意图,这里,所述特征卷积层包括两个vgg层,两个vgg层串行设置,每个vgg层由两个3
×
3卷积层、一个激活函数层和一个池化层组成,在先的vgg层有32个通道,在后的vgg层有64个通道,每个vgg层使用2
×
2最大池,步长为2,可以从样本音频片段中提取出特征向量,进而将特征向量从低维度向高维度映射,以得到第一样本特征序列。
167.这样,通过卷积特征层的处理,将样本音频片段转换为第一样本特征序列,使得第一样本特征序列包含历史音频帧、当前音频帧和未来音频帧的信息,有效提高流式语音识别神经网络在训练过程中的感受野。
168.一些可能的实施方式中,所述将所述第一样本特征序列输入至所述神经网络中的特征编码层,得到编码后的第二样本特征序列,包括:
169.将所述样本音频片段作为当前音频片段,获取所述当前音频片段之前的至少一段在先音频片段的在先特征向量;
170.基于所述第一样本特征序列,确定针对所述当前音频片段的第一键特征序列、第一值特征序列和第一查询特征序列,所述第一键特征序列包括第一历史键特征、当前键特征和未来键特征,所述第一值特征序列包括第一历史值特征、当前值特征和未来值特征,所述第一查询特征序列包括当前查询特征向量和未来查询特征向量;
171.基于所述在先特征向量,确定针对所述当前音频片段的第二历史键特征和第二历史值特征;
172.基于所述第二历史键特征和第二历史值特征,以及所述第一历史键特征、所述当前键特征、所述未来键特征、所述第一历史值特征、所述当前值特征、所述未来值特征、所述当前查询特征向量和所述未来查询特征向量,确定对所述第一样本特征序列进行编码后得到的第二样本特征序列。
173.其中,所述当前音频片段的在先音频片段为所述当前音频片段之前的、与所述当前音频片段不相邻的音频片段。
174.示例性的,所述当前音频片段为10s-12s,则所述在先音频片段为0-2s。
175.可选地,所述特征编码层可以由12个transformer层构成,每个transformer层有8个多头的san,transformer层维度为768,ffn维度为2048。
176.这里,请同时参阅图5,图5为本公开实施例提供的确定第二样本特征序列的示意图,这里以一个transformer层的处理过程为例进行说明,各个transformer层的处理过程相同,如图5中所示,可以确定第一样本特征序列包括的指示至少一帧未来音频帧的特征向量m、指示当前音频帧的特征向量c、指示至少一帧未来音频帧的特征向量r,同时可以将第一样本特征序列进行平均池化处理,得到当前音频片段的当前特征序列s,此外,还可以确定当前音频片段对应的在先特征向量l(图中未示),进而得到基于所述第一样本特征序列,确定针对所述当前音频片段的第一键特征序列k、第一值特征序列v和第一查询特征序列q,
所述第一键特征序列k包括第一历史键特征km、当前键特征kc和未来键特征kr,所述第一值特征序列v包括第一历史值特征vm、当前值特征vc和未来值特征vr,所述第一查询特征序列q包括当前查询特征向量qc和未来查询特征向量qr,基于在先特征向量l,确定针对所述当前音频片段的第二历史键特征kl和第二历史值特征vl,基于第二历史键特征kl和第二历史值特征vl、第一历史键特征km、当前键特征kc、未来键特征kr、第一历史值特征vm、当前值特征vc、未来值特征vr、当前查询特征向量qc和未来查询特征向量qr,确定对第一样本特征序列进行编码后得到的第二样本特征序列。
177.其中,所述第一键特征序列的计算公式如下公式(1)所示:
[0178][0179]
其中,为第一键特征序列,为指示至少一帧未来音频帧的特征向量,为第二历史键特征,为指示当前音频帧的特征向量,为指示至少一帧未来音频帧的特征向量,wk为可学习矩阵。
[0180]
所述第一值特征序列的计算公式如下公式(2)所示:
[0181][0182]
其中,为第一值特征序列,为指示至少一帧未来音频帧的特征向量,为第二历史值特征,为指示当前音频帧的特征向量,为指示至少一帧未来音频帧的特征向量,wv为可学习矩阵。
[0183]
所述ffn的计算公式如下公式(3)所示:
[0184][0185]
其中,为处理后的指示当前音频帧的特征向量,为处理后的指示至少一帧未来音频帧的特征向量,为指示当前音频帧的特征向量,为指示至少一帧未来音频帧的特征向量。
[0186]
所述attention的计算公式如下公式(4)、(5)、(6)所示:
[0187][0188]
其中,为应用于其余transformer层和ffn的指示当前音频帧的特征向量,wq为可学习矩阵,为处理后的指示当前音频帧的特征向量,为第一键特征序列,为第一值特征序列,为指示当前音频帧的特征向量。
[0189][0190]
其中,为应用于其余transformer层和ffn的指示至少一帧未来音频帧的特征向量,wq为可学习矩阵,为处理后的指示至少一帧未来音频帧的特征向量,为第一键特征序列,为第一值特征序列,为指示至少一帧未来音频帧的特征向量。
[0191][0192]
其中,为当前特征向量,wq为可学习矩阵,为当前特征序列,为第一键特
征序列,为第一值特征序列。
[0193]
所述transformer层的输出序列的计算公式如下公式(7)、(8)、(9)所示:
[0194][0195]
其中,为当前特征向量集合,为当前特征向量。
[0196][0197]
其中,为待传输到下一transformer层的候选特征序列,为应用于其余transformer层和ffn的指示当前音频帧的特征向量,为应用于其余transformer层和ffn的指示至少一帧未来音频帧的特征向量。
[0198][0199]
其中,为传输到下一transformer层的特征序列,为待传输到下一transformer层的候选特征序列,为应用于其余transformer层和ffn的指示当前音频帧的特征向量,为应用于其余transformer层和ffn的指示至少一帧未来音频帧的特征向量。
[0200]
这样,通过特征编码层的处理,得到当前音频片段的第一键特征序列、第一值特征序列和第一查询特征序列,再结合第二历史键特征和第二历史值特征,得到对第一样本特征序列进行编码后得到的第二样本特征序列,有效增加第二样本特征序列的丰富性。
[0201]
一些可能的实施方式中,所述方法还包括:
[0202]
在对所述第一样本特征序列进行编码的过程中,输出所述当前音频片段的当前特征序列,以供所述当前音频片段之后的在后音频片段在编码过程中,能够根据获取的所述当前特征序列确定所述在后音频片段之前的至少一段在先音频片段的在先特征向量。
[0203]
这里,可以同时参阅图5,图5中的s为当前音频片段的当前特征序列,可以将基于s得到的qs输出并存储,以作为所述当前特征序列确定所述在后音频片段之前的至少一段在先音频片段的在先特征向量。
[0204]
这样,可以对当前音频片段的当前特征序列进行存储,以便当前音频片段之后的在后音频片段在编码过程中可以获取在后音频片段之前的至少一段在先音频片段的在先特征向量。
[0205]
其中,针对所述多个样本音频片段中的第一个音频片段而言,起之前不存在在先音频片段,因此可以对第一个音频片段对应的在线特征向量进行一定的设置。
[0206]
相应的,一些可能的实施方式中,所述方法还包括:
[0207]
在所述当前音频片段为所述多个样本音频片段中第一个音频片段的情况下,基于所述当前音频片段的当前特征序列,确定所述当前特征序列对应的当前特征向量;
[0208]
将所述当前特征向量作为所述当前音频片段之前的至少一段在先音频片段的在先特征向量。
[0209]
这样,在当前音频片段为多个样本音频片段中第一个音频片段的情况下,将当前特征序列对应的当前特征向量作为在先特征向量,提升流式语音识别神经网络训练过程的灵活性和准确性。
[0210]
一些可能的实施方式中,所述将所述第二样本特征序列,输入至所述神经网络的特征解码层中,得到所述样本音频片段的预测片段识别结果,包括:
[0211]
通过所述神经网络的特征解码层,对所述第二样本特征序列进行解码处理,得到所述样本音频片段的多个候选识别结果,所述候选识别结果包括空白标签和文字标签;
[0212]
将空白标签从所述多个候选识别结果中删除,得到删除处理后的多个候选识别结果;
[0213]
针对删除处理后的多个候选识别结果,基于各个文字标签的文字内容,对删除处理后的多个候选识别结果进行去重处理,得到去重处理后的多个候选识别结果;
[0214]
针对去重处理后的多个候选识别结果进行组合排列,得到所述样本音频片段的预测片段识别结果。
[0215]
可选地,在对去重处理后的多个候选识别结果进行组合排列时,可以得到可行的多种排列方式对应的多个序列,为了提升预测片段识别结果的准确率,可以对多个序列进行概率优化,以使正确的序列概率最高。
[0216]
这里,若得到多个序列,可以分别对每个序列进行概率优化,也可以将多个序列合并为一个综合序列后,对该综合序列进行概率优化,在此并不做任何限定。
[0217]
可选地,可以通过反向传播的方式进行概率优化。示例性的,若序列概率是0.1,优化概率目标是1,此时序列概率与优化概率目标之前存在0.9的差距,这代表此时损失比较大,因而需要是让序列概率沿着损失降低的方向去优化,在损失降低损后,就可以更大概率地筛选出正确的序列。
[0218]
其中,可以通过cyc损失优化序列,示例性的,有多个候选识别结果l,ctc中的候选识别结果可以表示为l’=l∪{blank},设π是一个可行的解序列,是单元k在t时刻的输出概率,则序列概率的计算公式如下公式(10)所示:
[0219][0220]
其中,p(π|x)为各个序列的概率,t为第二样本特征序列的长度。
[0221]
ctc准则定义b(y)将长度为t的第二样本特征序列映射到长度为u的正确的序列y。ctc计算正确的序列的概率如下公式(11)所示:
[0222][0223]
其中,p(y|x)为正确的序列的概率,p(π|x)为各个序列的概率。
[0224]
这样,针对多个候选识别结果进行删除处理和去重处理,再进行组合排列,保障得到的预测片段识别结果的有效性和准确度。
[0225]
s104:基于得到的多个预测片段识别结果和每个预测片段识别结果对应的实际片段识别结果,对所述流式语音识别神经网络的网络参数进行调整,直至所述流式语音识别神经网络满足训练截止条件,得到用于进行实时语音识别的流式语音识别模型。
[0226]
可选地,可以基于预设损失函数,得到多个预测片段识别结果和每个预测片段识别结果对应的实际片段识别结果之间的损失值,结合所述损失值,在所述损失值小于预设损失值的情况下,确定所述流式语音识别神经网络满足训练截止条件,从而得到用于进行
实时语音识别的流式语音识别模型。
[0227]
可选地,还可以是在所述流式语音识别神经网络的训练次数大于或等于预设训练次数的情况下,确定所述流式语音识别神经网络满足训练截止条件,从而得到用于进行实时语音识别的流式语音识别模型。
[0228]
本公开实施例提供的神经网络训练方法,通过在当前音频帧的基础上引入历史音频帧和未来音频帧,使样本音频片段中包含的音频帧数量增加,可以增加样本音频片段的丰富性,提高训练数据包含的样本特征向量,提高流式语音识别神经网络对于每个样本音频片段的感受野,增强对于上下文的识别效果,大大增加通过训练得到的流式语音识别模型的鲁棒性,有效提高流式语音识别模型的语音识别准确度和速度。
[0229]
进一步的,在训练得到所述流式语音识别模型之后,即可使用所述流式语音识别模型进行语音识别,相应的,本公开实施例还提供一种语音识别方法,本公开实施例所提供的语音识别方法的执行主体可以是神经网络训练装置,例如,语音识别方法可以由终端设备或服务器或其它处理设备执行。在一些可能的实现方式中,该语音识别方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
[0230]
下面对本公开实施例提供的一种语音识别方法加以说明。
[0231]
请参阅图6,图6为本公开实施例提供的一种语音识别方法的流程图。如图6中所示,本公开实施例提供的语音识别方法包括:
[0232]
s601:接收实时输出的当前语音片段,所述当前语音片段包括多帧当前实时音频帧,以及在所述多帧当前实时音频帧之前的至少一帧历史实时音频帧。
[0233]
该步骤中,在需要进行语音识别时,可以接收实时输出的当前语音片段。
[0234]
其中,所述当前语音片段可以是在真实场景下,实时接收发言者的语音输出。
[0235]
这里,所述当前语音片段包括多帧当前实时音频帧,以及在所述多帧当前实时音频帧之前的至少一帧历史实时音频帧。
[0236]
s602:将所述当前语音片段输入至根据上述的神经网络训练方法训练得到的、用于进行实时语音识别的流式语音识别模型中,得到所述当前语音片段的语音识别结果。
[0237]
该步骤中,在将所述当前语音片段输入所述流式语音识别模型后,可以得到针对所述当前语音片段的语音识别结果。
[0238]
这里,针对所述当前语音片段的识别过程与上述训练过程类似,在此不进行赘述。
[0239]
需要说明的是,与训练过程不同的是,由于所述当前语音片段包括多帧当前实时音频帧,以及在所述多帧当前实时音频帧之前的至少一帧历史实时音频帧,并不包括未来实时音频帧,因此所述流式语音识别模型中的特征卷积层在对所述当前语音片段进行处理时,无需提取未来样本特征序列,在特征编码层对第一样本特征序列进行处理时,无需确定所述未来键特征、所述未来值特征和所述未来查询特征向量。
[0240]
本公开实施例提供的语音识别方法,可以使用训练得到的流式语音识别模型对实时输出的当前语音片段进行语音识别,从而得到当前语音片段的语音识别结果,有助于快速得到语音识别结果,识别准确率高,识别速度快,识别效果好。
[0241]
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0242]
基于同一发明构思,本公开实施例中还提供了与神经网络训练方法对应的神经网络训练装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述神经网络训练方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0243]
请参阅图7,图7为本公开实施例提供的一种神经网络训练装置的示意图。如图7中所示,本公开实施例提供的神经网络训练装置700包括:
[0244]
样本获取模块710,用于获取样本音频数据以及所述样本音频数据的实际音频识别结果;
[0245]
片段确定模块720,用于从所述样本音频数据中确定多个样本音频片段,以及从所述实际音频识别结果中确定出每个样本音频片段的实际片段识别结果,所述样本音频片段包括多帧当前音频帧,以及在所述多帧当前音频帧之前的至少一帧历史音频帧和在所述多帧当前音频帧之后的至少一帧未来音频帧;
[0246]
预测结果确定模块730,用于将多个所述样本音频片段输入至预先构建好的流式语音识别神经网络中,得到每个所述样本音频片段的预测片段识别结果;
[0247]
模型确定模块740,用于基于得到的多个预测片段识别结果和每个预测片段识别结果对应的实际片段识别结果,对所述流式语音识别神经网络的网络参数进行调整,直至所述流式语音识别神经网络满足训练截止条件,得到用于进行实时语音识别的流式语音识别模型。
[0248]
一种可选的实施方式中,所述片段确定模块720在用于从所述样本音频数据中确定多个样本音频片段时,具体用于:
[0249]
使用预设采样时间窗,按照预设采样位移,对所述样本音频数据进行数据采样,得到多个采样音频帧,所述预设采样时间窗对应的时间跨度大于所述预设采样位移对应的时间跨度;
[0250]
对所述多个采样音频帧进行切分处理,得到多个样本音频片段。
[0251]
一种可选的实施方式中,所述片段确定模块720在用于对所述多个采样音频帧进行切分处理,得到多个样本音频片段时,具体用于:
[0252]
将通过所述预设采样时间窗连续采样预设次数得到的音频帧集合作为一个候选音频片段,得到多个候选音频片段,其中,所述候选音频片段中连续的多帧采样音频帧作为对应的多帧当前音频帧;
[0253]
针对每个候选音频片段,从所述多帧采样音频帧中,确定出在所述候选音频片段之前连续的至少一帧历史音频帧,以及按照针对此轮训练生成动态延迟时间,确定出在所述候选音频片段之后连续的、与所述动态延迟时间匹配的至少一帧未来音频帧,所述至少一帧历史音频帧和所述至少一帧未来音频帧分别与所述候选音频片段相邻;
[0254]
将所述至少一帧历史音频帧、所述候选音频片段的多个当前音频帧和所述至少一帧未来音频帧进行拼接,得到对应的样本音频片段。
[0255]
一种可选的实施方式中,所述片段确定模块720在用于从所述多帧采样音频帧中,确定出在所述候选音频片段之前连续的至少一帧历史音频帧,以及按照针对此轮训练生成动态延迟时间,确定出在所述候选音频片段之后连续的、与所述动态延迟时间匹配的至少一帧未来音频帧时,具体用于:
[0256]
在确定所述候选音频片段的至少一帧历史音频帧和所述至少一帧未来音频帧的
过程中,若所述候选音频片段为所述多个候选音频片段中的第一个音频片段,确定至少一帧第一空白音频帧,并将所述至少一帧第一空白音频帧作为所述候选音频片段的至少一帧历史音频帧;
[0257]
若所述候选音频片段为所述多个候选音频片段中的最后一个音频片段,确定至少一帧第二空白音频帧,并将所述至少一帧第二空白音频帧作为所述候选音频片段的至少一帧未来音频帧。
[0258]
一种可选的实施方式中,所述预测结果确定模块730具体用于:
[0259]
针对每个所述样本音频片段,将所述样本音频片段输入至流式语音识别神经网络中的特征卷积层,得到所述特征卷积层输出的、所述样本音频片段的第一样本特征序列;
[0260]
将所述第一样本特征序列输入至所述流式语音识别神经网络中的特征编码层,得到编码后的第二样本特征序列;
[0261]
将所述第二样本特征序列,输入至所述流式语音识别神经网络的特征解码层中,得到所述样本音频片段的预测片段识别结果。
[0262]
一种可选的实施方式中,所述预测结果确定模块730在用于将所述样本音频片段输入至流式语音识别神经网络中的特征卷积层,得到所述特征卷积层输出的、所述样本音频片段的第一样本特征序列时,具体用于:
[0263]
将所述样本音频片段输入至流式语音识别神经网络中的特征卷积层,分别提取所述至少一帧历史音频帧的一条历史样本特征向量,以及所述多帧当前音频帧的当前样本特征序列和所述至少一帧未来音频帧的未来样本特征序列;
[0264]
基于所述历史样本特征向量、所述当前样本特征序列和所述未来样本特征序列,得到所述样本音频片段的初始样本特征序列;
[0265]
对所述初始样本特征序列进行卷积处理,得到所述特征卷积层输出的第一样本特征序列。
[0266]
一种可选的实施方式中,所述预测结果确定模块730在用于将所述第一样本特征序列输入至所述神经网络中的特征编码层,得到编码后的第二样本特征序列时,具体用于:
[0267]
将所述样本音频片段作为当前音频片段,获取所述当前音频片段之前的至少一段在先音频片段的在先特征向量;
[0268]
基于所述第一样本特征序列,确定针对所述当前音频片段的第一键特征序列、第一值特征序列和第一查询特征序列,所述第一键特征序列包括第一历史键特征、当前键特征和未来键特征,所述第一值特征序列包括第一历史值特征、当前值特征和未来值特征,所述第一查询特征序列包括当前查询特征向量和未来查询特征向量;
[0269]
基于所述在先特征向量,确定针对所述当前音频片段的第二历史键特征和第二历史值特征;
[0270]
基于所述第二历史键特征和第二历史值特征,以及所述第一历史键特征、所述当前键特征、所述未来键特征、所述第一历史值特征、所述当前值特征、所述未来值特征、所述当前查询特征向量和所述未来查询特征向量,确定对所述第一样本特征序列进行编码后得到的第二样本特征序列。
[0271]
一种可选的实施方式中,所述预测结果确定模块730还用于:
[0272]
在对所述第一样本特征序列进行编码的过程中,输出所述当前音频片段的当前特
征序列,以供所述当前音频片段之后的在后音频片段在编码过程中,能够根据获取的所述当前特征序列确定所述在后音频片段之前的至少一段在先音频片段的在先特征向量。
[0273]
一种可选的实施方式中,所述预测结果确定模块730还用于:
[0274]
在所述当前音频片段为所述多个样本音频片段中第一个音频片段的情况下,基于所述当前音频片段的当前特征序列,确定所述当前特征序列对应的当前特征向量;
[0275]
将所述当前特征向量作为所述当前音频片段之前的至少一段在先音频片段的在先特征向量。
[0276]
一种可选的实施方式中,所述预测结果确定模块730在用于将所述第二样本特征序列,输入至所述神经网络的特征解码层中,得到所述样本音频片段的预测片段识别结果时,具体用于:
[0277]
通过所述神经网络的特征解码层,对所述第二样本特征序列进行解码处理,得到所述样本音频片段的多个候选识别结果,所述候选识别结果包括空白标签和文字标签;
[0278]
将空白标签从所述多个候选识别结果中删除,得到删除处理后的多个候选识别结果;
[0279]
针对删除处理后的多个候选识别结果,基于各个文字标签的文字内容,对删除处理后的多个候选识别结果进行去重处理,得到去重处理后的多个候选识别结果;
[0280]
针对去重处理后的多个候选识别结果进行组合排列,得到所述样本音频片段的预测片段识别结果。
[0281]
本公开实施例提供的神经网络训练装置,通过在当前音频帧的基础上引入历史音频帧和未来音频帧,使样本音频片段中包含的音频帧数量增加,可以增加样本音频片段的丰富性,提高训练数据包含的样本特征向量,提高流式语音识别神经网络对于每个样本音频片段的感受野,增强对于上下文的识别效果,大大增加通过训练得到的流式语音识别模型的鲁棒性,有效提高流式语音识别模型的语音识别准确度和速度。
[0282]
基于同一发明构思,本公开实施例中还提供了与语音识别方法对应的语音识别装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述语音识别方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0283]
请参阅图8,图8为本公开实施例提供的一种语音识别装置的示意图。如图8中所示,本公开实施例提供的语音识别装置800包括:
[0284]
数据获取模块810,用于接收实时输出的当前语音片段,所述当前语音片段包括多帧当前实时音频帧,以及在所述多帧当前实时音频帧之前的至少一帧历史实时音频帧;
[0285]
语音识别模块820,用于将所述当前语音片段输入至根据上述的神经网络训练装置训练得到的、用于进行实时语音识别的流式语音识别模型中,得到所述当前语音片段的语音识别结果。
[0286]
本公开实施例提供的语音识别装置,可以使用训练得到的流式语音识别模型对实时输出的当前语音片段进行语音识别,从而得到当前语音片段的语音识别结果,有助于快速得到语音识别结果,识别准确率高,识别速度快,识别效果好。
[0287]
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
[0288]
对应于上述的神经网络训练方法或者语音识别方法,本公开实施例还提供了一种
电子设备900,如图9所示,为本公开实施例提供的电子设备900结构示意图,包括:
[0289]
处理器910、存储器920、和总线930;存储器920用于存储执行指令,包括内存921和外部存储器922;这里的内存921也称内存储器,用于暂时存放处理器910中的运算数据,以及与硬盘等外部存储器922交换的数据,处理器910通过内存921与外部存储器922进行数据交换,当所述电子设备900运行时,所述处理器910与所述存储器920之间通过总线930通信,使得所述处理器910可以执行上述的神经网络训练方法或者语音识别方法的步骤。
[0290]
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的神经网络训练方法或者语音识别方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
[0291]
本公开实施例还提供一种计算机程序产品,该计算机程序产品包括有计算机指令,所述计算机指令被处理器执行时可以执行上述方法实施例中所述的神经网络训练方法或者语音识别方法的步骤,具体可参见上述方法实施例,在此不再赘述。
[0292]
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
[0293]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0294]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0295]
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0296]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0297]
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
技术特征:
1.一种神经网络训练方法,其特征在于,所述方法包括:获取样本音频数据以及所述样本音频数据的实际音频识别结果;从所述样本音频数据中确定多个样本音频片段,以及从所述实际音频识别结果中确定出每个样本音频片段的实际片段识别结果,所述样本音频片段包括多帧当前音频帧,以及在所述多帧当前音频帧之前的至少一帧历史音频帧和在所述多帧当前音频帧之后的至少一帧未来音频帧;将多个所述样本音频片段输入至预先构建好的流式语音识别神经网络中,得到每个所述样本音频片段的预测片段识别结果;基于得到的多个预测片段识别结果和每个预测片段识别结果对应的实际片段识别结果,对所述流式语音识别神经网络的网络参数进行调整,直至所述流式语音识别神经网络满足训练截止条件,得到用于进行实时语音识别的流式语音识别模型。2.根据权利要求1所述的方法,其特征在于,所述从所述样本音频数据中确定多个样本音频片段,包括:使用预设采样时间窗,按照预设采样位移,对所述样本音频数据进行数据采样,得到多个采样音频帧,所述预设采样时间窗对应的时间跨度大于所述预设采样位移对应的时间跨度;对所述多个采样音频帧进行切分处理,得到多个样本音频片段。3.根据权利要求2所述的方法,其特征在于,所述对所述多个采样音频帧进行切分处理,得到多个样本音频片段,包括:将通过所述预设采样时间窗连续采样预设次数得到的音频帧集合作为一个候选音频片段,得到多个候选音频片段,其中,所述候选音频片段中连续的多帧采样音频帧作为对应的多帧当前音频帧;针对每个候选音频片段,从所述多帧采样音频帧中,确定出在所述候选音频片段之前连续的至少一帧历史音频帧,以及按照针对此轮训练生成动态延迟时间,确定出在所述候选音频片段之后连续的、与所述动态延迟时间匹配的至少一帧未来音频帧,所述至少一帧历史音频帧和所述至少一帧未来音频帧分别与所述候选音频片段相邻;将所述至少一帧历史音频帧、所述候选音频片段的多个当前音频帧和所述至少一帧未来音频帧进行拼接,得到对应的样本音频片段。4.根据权利要求3所述的方法,其特征在于,所述从所述多帧采样音频帧中,确定出在所述候选音频片段之前连续的至少一帧历史音频帧,以及按照针对此轮训练生成动态延迟时间,确定出在所述候选音频片段之后连续的、与所述动态延迟时间匹配的至少一帧未来音频帧,包括:在确定所述候选音频片段的至少一帧历史音频帧和所述至少一帧未来音频帧的过程中,若所述候选音频片段为所述多个候选音频片段中的第一个音频片段,确定至少一帧第一空白音频帧,并将所述至少一帧第一空白音频帧作为所述候选音频片段的至少一帧历史音频帧;若所述候选音频片段为所述多个候选音频片段中的最后一个音频片段,确定至少一帧第二空白音频帧,并将所述至少一帧第二空白音频帧作为所述候选音频片段的至少一帧未来音频帧。
5.根据权利要求1所述的方法,其特征在于,所述将多个所述样本音频片段输入至预先构建好的流式语音识别神经网络中,得到每个所述样本音频片段的预测片段识别结果,包括:针对每个所述样本音频片段,将所述样本音频片段输入至流式语音识别神经网络中的特征卷积层,得到所述特征卷积层输出的、所述样本音频片段的第一样本特征序列;将所述第一样本特征序列输入至所述流式语音识别神经网络中的特征编码层,得到编码后的第二样本特征序列;将所述第二样本特征序列,输入至所述流式语音识别神经网络的特征解码层中,得到所述样本音频片段的预测片段识别结果。6.根据权利要求5所述的方法,其特征在于,所述将所述样本音频片段输入至流式语音识别神经网络中的特征卷积层,得到所述特征卷积层输出的、所述样本音频片段的第一样本特征序列,包括:将所述样本音频片段输入至流式语音识别神经网络中的特征卷积层,分别提取所述至少一帧历史音频帧的一条历史样本特征向量,以及所述多帧当前音频帧的当前样本特征序列和所述至少一帧未来音频帧的未来样本特征序列;基于所述历史样本特征向量、所述当前样本特征序列和所述未来样本特征序列,得到所述样本音频片段的初始样本特征序列;对所述初始样本特征序列进行卷积处理,得到所述特征卷积层输出的第一样本特征序列。7.根据权利要求5所述的方法,其特征在于,所述将所述第一样本特征序列输入至所述神经网络中的特征编码层,得到编码后的第二样本特征序列,包括:将所述样本音频片段作为当前音频片段,获取所述当前音频片段之前的至少一段在先音频片段的在先特征向量;基于所述第一样本特征序列,确定针对所述当前音频片段的第一键特征序列、第一值特征序列和第一查询特征序列,所述第一键特征序列包括第一历史键特征、当前键特征和未来键特征,所述第一值特征序列包括第一历史值特征、当前值特征和未来值特征,所述第一查询特征序列包括当前查询特征向量和未来查询特征向量;基于所述在先特征向量,确定针对所述当前音频片段的第二历史键特征和第二历史值特征;基于所述第二历史键特征和第二历史值特征,以及所述第一历史键特征、所述当前键特征、所述未来键特征、所述第一历史值特征、所述当前值特征、所述未来值特征、所述当前查询特征向量和所述未来查询特征向量,确定对所述第一样本特征序列进行编码后得到的第二样本特征序列。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:在对所述第一样本特征序列进行编码的过程中,输出所述当前音频片段的当前特征序列,以供所述当前音频片段之后的在后音频片段在编码过程中,能够根据获取的所述当前特征序列确定所述在后音频片段之前的至少一段在先音频片段的在先特征向量。9.根据权利要求8所述的方法,其特征在于,所述方法还包括:在所述当前音频片段为所述多个样本音频片段中第一个音频片段的情况下,基于所述
当前音频片段的当前特征序列,确定所述当前特征序列对应的当前特征向量;将所述当前特征向量作为所述当前音频片段之前的至少一段在先音频片段的在先特征向量。10.根据权利要求5所述的方法,其特征在于,所述将所述第二样本特征序列,输入至所述神经网络的特征解码层中,得到所述样本音频片段的预测片段识别结果,包括:通过所述神经网络的特征解码层,对所述第二样本特征序列进行解码处理,得到所述样本音频片段的多个候选识别结果,所述候选识别结果包括空白标签和文字标签;将空白标签从所述多个候选识别结果中删除,得到删除处理后的多个候选识别结果;针对删除处理后的多个候选识别结果,基于各个文字标签的文字内容,对删除处理后的多个候选识别结果进行去重处理,得到去重处理后的多个候选识别结果;针对去重处理后的多个候选识别结果进行组合排列,得到所述样本音频片段的预测片段识别结果。11.一种语音识别方法,其特征在于,所述方法包括:接收实时输出的当前语音片段,所述当前语音片段包括多帧当前实时音频帧,以及在所述多帧当前实时音频帧之前的至少一帧历史实时音频帧;将所述当前语音片段输入至根据权利要求1-10中任一项所述的神经网络训练方法训练得到的、用于进行实时语音识别的流式语音识别模型中,得到所述当前语音片段的语音识别结果。12.一种神经网络训练装置,其特征在于,所述装置包括:样本获取模块,用于获取样本音频数据以及所述样本音频数据的实际音频识别结果;片段确定模块,用于从所述样本音频数据中确定多个样本音频片段,以及从所述实际音频识别结果中确定出每个样本音频片段的实际片段识别结果,所述样本音频片段包括多帧当前音频帧,以及在所述多帧当前音频帧之前的至少一帧历史音频帧和在所述多帧当前音频帧之后的至少一帧未来音频帧;预测结果确定模块,用于将多个所述样本音频片段输入至预先构建好的流式语音识别神经网络中,得到每个所述样本音频片段的预测片段识别结果;模型确定模块,用于基于得到的多个预测片段识别结果和每个预测片段识别结果对应的实际片段识别结果,对所述流式语音识别神经网络的网络参数进行调整,直至所述流式语音识别神经网络满足训练截止条件,得到用于进行实时语音识别的流式语音识别模型。13.一种语音识别装置,其特征在于,所述装置包括:数据获取模块,用于接收实时输出的当前语音片段,所述当前语音片段包括多帧当前实时音频帧,以及在所述多帧当前实时音频帧之前的至少一帧历史实时音频帧;语音识别模块,用于将所述当前语音片段输入至根据权利要求12所述的神经网络训练装置训练得到的、用于进行实时语音识别的流式语音识别模型中,得到所述当前语音片段的语音识别结果。14.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至10任一项所述的神经网络训练方法或权利要求11中所述的语音识别方法的步骤。
15.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至10任一项所述的神经网络训练方法或权利要求11中所述的语音识别方法的步骤。
技术总结
本公开提供了一种神经网络训练方法、语音识别方法、装置、设备及介质,通过在当前音频帧的基础上引入历史音频帧和未来音频帧,使样本音频片段中包含的音频帧数量增加,可以增加样本音频片段的丰富性,提高训练数据包含的样本特征向量,提高流式语音识别神经网络对于每个样本音频片段的感受野,增强对于上下文的识别效果,大大增加通过训练得到的流式语音识别模型的鲁棒性,有效提高流式语音识别模型的语音识别准确度和速度,进而可以使用训练得到的流式语音识别模型对实时输出的当前语音片段进行语音识别,识别准确率高,识别速度快,识别效果好。果好。果好。
技术研发人员:
孙景余 李宝祥 钟贵平 周鼎皓
受保护的技术使用者:
北京市商汤科技开发有限公司
技术研发日:
2022.08.09
技术公布日:
2022/11/11