音频识别方法、音频识别模型的训练方法、装置和设备与流程

文档序号:31705577发布日期:2022-10-01 10:54阅读:99来源:国知局
音频识别方法、音频识别模型的训练方法、装置和设备与流程

1.本公开涉及人工智能技术领域,尤其涉及语音识别、深度学习和自然语言处理技术领域。更具体地,本公开提供了一种音频识别方法、音频识别模型的训练方法、装置、电子设备和存储介质。


背景技术:

2.随着人工智能技术的发展,语音识别技术广泛地应用于智能音箱、车载导航、智能客服、语音助手等场景。


技术实现要素:

3.本公开提供了一种音频识别方法、音频识别模型的训练方法、装置、设备以及存储介质。
4.根据本公开的一方面,提供了一种音频识别方法,该方法包括:对目标音频数据的音频特征进行截断,得到至少一个第一音频序列特征,其中,至少一个第一音频序列特征对应的时长为预设时长;根据音频特征的尖峰信息,得到与第一音频序列特征对应的尖峰子信息,其中,尖峰子信息用于指示第一音频序列特征对应的尖峰;根据与第一音频序列特征对应的尖峰子信息,对第一音频序列特征执行至少一次解码操作,得到第一音频序列特征的识别结果,其中,解码操作的执行次数与第一音频序列特征对应的尖峰的数量一致;以及根据至少一个识别结果,得到目标音频数据的目标文本数据。
5.根据本公开的另一方面,提供了一种音频识别模型的训练方法,音频识别模型包括识别子模型,该方法包括:利用识别子模型对样本音频数据的音频特征进行截断,得到至少一个第一音频序列特征,其中,至少一个第一音频序列特征对应的时长为预设时长;根据音频特征的样本尖峰信息,得到与第一音频序列特征对应的样本尖峰子信息,其中,样本尖峰子信息用于指示第一音频序列特征对应的样本尖峰;根据与第一音频序列特征对应的样本尖峰子信息,利用识别子模型对第一音频序列特征执行至少一次解码操作,得到第一音频序列特征的识别结果,其中,解码操作的执行次数与第一音频序列特征对应的样本尖峰的数量一致;根据至少一个识别结果,得到样本音频数据的样本文本数据;根据样本文本数据和样本音频数据的识别子标签,确定识别损失值;以及根据识别损失值,训练音频识别模型。
6.根据本公开的另一方面,提供了一种音频识别装置,该装置包括:第一截断模块,用于对目标音频数据的音频特征进行截断,得到至少一个第一音频序列特征,其中,至少一个第一音频序列特征对应的时长为预设时长;第一获得模块,用于根据音频特征的尖峰信息,得到与第一音频序列特征对应的尖峰子信息,其中,尖峰子信息用于指示第一音频序列特征对应的尖峰;第一解码模块,用于根据与第一音频序列特征对应的尖峰子信息,对第一音频序列特征执行至少一次解码操作,得到第一音频序列特征的识别结果,其中,解码操作的执行次数与第一音频序列特征对应的尖峰的数量一致;以及第二获得模块,用于根据至
少一个识别结果,得到目标音频数据的目标文本数据。
7.根据本公开的另一方面,提供了一种音频识别模型的训练装置,音频识别模型包括识别子模型,该装置包括:第二截断模块,用于利用识别子模型对样本音频数据的音频特征进行截断,得到至少一个第一音频序列特征,其中,至少一个第一音频序列特征对应的时长为预设时长;第三获得模块,用于根据音频特征的样本尖峰信息,得到与第一音频序列特征对应的样本尖峰子信息,其中,样本尖峰子信息用于指示第一音频序列特征对应的样本尖峰;第二解码模块,用于根据与第一音频序列特征对应的样本尖峰子信息,利用识别子模型对第一音频序列特征执行至少一次解码操作,得到第一音频序列特征的识别结果,其中,解码操作的执行次数与第一音频序列特征对应的样本尖峰的数量一致;第四获得模块,用于根据至少一个识别结果,得到样本音频数据的样本文本数据;确定模块,用于根据样本文本数据和样本音频数据的识别子标签,确定识别损失值;以及训练模块,用于根据识别损失值,训练音频识别模型。
8.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据本公开提供的方法。
9.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行根据本公开提供的方法。
10.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据本公开提供的方法。
11.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
12.附图用于更好地理解本方案,不构成对本公开的限定。其中:图1是根据本公开的一个实施例的可以应用音频识别方法和装置的示例性系统架构示意图;图2是根据本公开的一个实施例的音频识别方法的流程图;图3是根据本公开的一个实施例的音频识别方法的原理图;图4a至图4c是根据本公开的一个实施例的流式多级截断注意力子模型的原理图;图5是根据本公开的另一个实施例的流式多级截断注意力子模型的原理图;图6是根据本公开的一个实施例的分类网络的示意图;图7是根据本公开的一个实施例的音频识别模型的训练方法的流程图;图8是根据本公开的一个实施例的音频识别装置的框图;图9是根据本公开的一个实施例的音频识别模型的训练装置的框图;以及图10是根据本公开的一个实施例的可以应用音频识别方法和/或音频识别模型的训练方法的电子设备的框图。
具体实施方式
13.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种
细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
14.本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
15.为了实现在线语音交互,可以利用语音识别(automatic speech recognition,asr)模块将输入的音频数据识别为对应的文本数据。对文本数据进行自然语音理解(natural language understanding,nlu)处理,得到相关语义数据。利用对话生成(dialog manager,dm)模块处理相关语义数据,得到相应的应答文本数据。再利用语音合成(text to speech synthesis,tts)引擎模块处理应答文本数据,得到输出音频数据,以便进行语音交互。
16.语音识别模块可以包括:声学模型、语言模型以及解码器。为了减少复杂度和计算量,语言模型和声学模型可以作为两个独立的模型分别进行优化。随着深度学习技术的不断发展,利用神经网络(neural network)逐渐替代声学模型的各个模块,可以简化声学模型的复杂度,也可以降低模型的开发和调试难度,还可以显著提升语音识别模块的性能。
17.根据神经网络对输入音频特征的不同建模方式,可以把语音识别技术分为前馈网络建模、循环时序建模以及自相关建模三种方式。
18.在一些实施例中,可以基于深度神经网络(deep neural network,dnn)模型和隐马尔可夫模型(hidden markov model,hmm)构建第一声学模型,以替代基于高斯混合模型(gaussian mixture model,gmm)和隐马尔可夫模型构建的第二声学模型。在工业级语音识别模块上,第一声学模型的性能可以大幅提升,可以推动语音识别技术进入深度学习时代。深度神经网络属于前馈神经网络。前馈神经网络可以假设输入的音频特征在固定长度的范围内存在上下文关系,未考虑语音识别的长时特征依赖关系。在第一声学模型的基础上,可以利用基于循环神经网络的门控循环单元(gate recurrent unit,gru)或长短时记忆(long and short term memory,lstm)网络等网络结构替换深度神经网络,以便进一步提升声学模型的建模精度。
19.在一些实施例中,端到端(end-to-end)的连接时序分类(connectionist temporal classification,ctc)模型可以用于识别与大规模词汇对应的语音。为了解决连接时序分类模型在语言上建模能力不足的问题,可以使用基于注意力机制的端到端的听注意拼写(listen,attend and spell,las)模型进行语音识别。然而,听注意拼写模型难以实现流式语音识别。基于此,可以利用循环神经网络(recurrent neural network,rnn)模型对声学和语言进行联合建模,得到基于变换的循环神经网络(rnn transducer,rnn-t)模型。基于长短时记忆网络的连接时序分类模型的建模方式和基于变换的循环神经网络的建模方式本质上仍然属于循环时序建模方式,时序上的依赖关系导致这些建模方式面临着全局建模能力弱、无法应用于对海量数据进行高效并行处理等问题。
20.基于循环时序建模的循环神经网络、长短时记忆网络等模型具备一定的上下文建模能力。但是,循环时序建模需要依靠逐帧递推的方式进行信息传递,仍然存在全局建模能力弱的问题。通过门控机制,长短时记忆网络模型可以在一定程度上缓解循环神经网络模型长时建模能力不足的问题。但在模型出现错误时,这种错误信息可以随着时间推移逐渐
放大,从而影响模型的建模能力。此外,循环神经网络模型在计算时可以在上一时刻计算完毕后进行下一时刻的计算。由于计算上存在时序依赖关系,在模型训练时,无法有效利用图形处理器(graph processing unit,gpu)高速并行计算的特性,训练速度较慢。在利用工业级的数十万小时的训练数据进行训练时,循环神经网络模型的训练效率较低。此外,经训练的循环神经网络模型的识别性能也较差。
21.在一些实施例中,为了解决循环时序建模存在的问题,可以采用基于自相关建模的transformer模型。不同于循环神经网络模型,transformer模型可以利用注意力机制对任意位置的特征信息进行自相关建模。与循环时序建模的方式相比,自相关建模的方式可以更加直观地反映特征之间的相互关系,具有更强的建模能力。在基于自注意力机制进行计算时,不同时刻的特征可以同时进行计算,可以更加有效地利用图形处理器并行计算的能力。
22.在一些实施例中,可以利用卷积神经网络(convolutional neural network,cnn)模型对transformer模型进行卷积增强,得到conformer模型。conformer模型同时结合了transformer模型的长距离关系建模能力和卷积神经网络模型的局部建模能力,可以提升语音识别模块的性能。但是,transformer模型或conformer模型可以在音频全部输入后才能启动解码,无法满足在线语音交互系统流式语音识别的需求。
23.在一些实施例中,针对流式语音识别任务实时输出识别结果的需求,可以融合基于变换的循环神经网络模型和听注意拼写模型,得到二遍识别模块。在利用该二遍识别模块进行语音识别时,可以利用基于变换的循环神经网络模型获得一个识别结果,然后再利用该识别结果得到中间特征,以便利用听注意拼写模型进行二次识别。
24.在一些实施例中,二遍识别系统的响应速度较差,无法满足在线语音交互任务对系统延迟的要求。基于此,可以将听注意拼写模型替换为transformer模型,对基于变换的循环神经网络模型的识别结果进行二次识别。此外,可以减小基于变换的循环神经网络模型的参数量,以便提升系统的响应速度。这种二次识别的方式同时具有循环时序建模能力和自相关建模能,仍然面临着全局建模能力弱、无法高效并行处理海量数据等问题。
25.融合循环时序建模和自相关建模的识别模块可以进行二次解码。在第一次解码输出识别结果后,可以进行第二次解码。这种二次解码的方式进一步增加了系统的延迟,无法满足语音交互任务中对语音识别低延迟的要求。此外,融合循环时序建模和自相关建模的识别模块依然面临着循环神经网络计算效率低、建模精度差的问题,难以及时完成利用海量训练数据对大参数模型进行快速高效训练的任务。此外,该识别模块的识别性能较差。此外,第一次的识别结果和第二次的识别结果之间可以存在一定的差异,导致语音交互系统的后续模块难以有效利用第一次的识别结果提前进行计算,导致语音交互系统的冗余计算较多、延迟较大。
26.在一些实施例中,可以利用基于历史特征抽象的端到端流式语音识别模块,进行语音识别。该模块将transformer模型应用于一次流式语音识别系统,同时解决了transformer模型在长音频训练和解码时面临的“显存爆炸”和“计算爆炸”问题。根据连接时序分类模型输出的尖峰信息,该模块可以将音频特征截断成非等长的连续特征片段。然后根据解码器输出的隐含特征逐层对这些特征片段进行历史特征抽象。通过历史特征抽象,可以把特征片段抽象为蕴含文本的信息表示,在利用transformer模型实现流式解码的
同时,解决了transformer模型计算时显存消耗大的问题。
27.根据连接时序分类模型的尖峰信息,基于历史特征抽象的端到端流式语音识别模块可以对音频特征进行截断、驱动解码器解码。在语音交互中,对象的语速不断变化,尖峰之间的特征长度随之变化。根据这种根据尖峰信息得到的音频特征片段的长度是不同的,无法充分利用图形处理器的显存空间,造成训练和推理效率低下。例如,在音频特征片段的长度不同的情况下,为了使用图形处理器进行并行计算,可以为音频特征片段添加特定值,将不等长的音频特征片段的长度调整为等长的。但是,添加特定值会导致调整后的音频特征片段占用了更多的显存空间,也需要更多的计算资源对其解码,导致训练和推理效率仍较低。
28.此外,该语音识别模块和连接时序分类模型共享相同的模型参数,增加了模型调节优化的难度。在线语音交互的任务场景丰富多样,针对不同交互任务需要对连接时序分类模型和该语音识别模块同时优化,造成模型更新迭代效率低。
29.图1是根据本公开一个实施例的可以应用音频识别方法和装置的示例性系统架构示意图。
30.需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
31.如图1所示,根据该实施例的系统架构100可以包括音频识别模块101、自然语言理解模块102、对话生成模块103和语音合成模块104。系统架构100可以应用于在线语音交互场景。
32.语音识别模块101可以将输入的目标音频数据识别为对应的文本数据。自然语言理解模块102可以对文本数据进行自然语言理解处理,得到相关语义数据。对话生成模块103可以处理相关语义数据,得到相应的应答文本数据。语音合成模块可以处理应答文本数据,得到输出音频数据,以便进行语音交互。
33.在一些实施例中,音频识别模块101、自然语言理解模块102、对话生成模块103和语音合成模块104可以分别部署于不同的服务器(或服务器集群)。这些不同的服务器(或服务器集群)之间可以通过网络进行通信。网络用以在不同的服务器之间提供通信链路的介质。网络可以包括各种连接类型,例如有线和/或无线通信链路等等。用户可以使用终端设备通过网络与部署有音频识别模块101等模块的服务器交互,以发送目标音频数据及接收输出音频数据。终端设备上可以部署有音频采集装置(例如麦克风),也可以部署有音频播放装置。终端设备可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
34.在另一些实施例中,音频识别模块101、自然语言理解模块102、对话生成模块103和语音合成模块104中的一个或几个模块也可以部署于终端设备。例如,音频识别模块101可以部署于终端设备,而自然语言理解模块102、对话生成模块103和语音合成模块104可以分别部署于不同的服务器(或服务器集群)。
35.可以理解,本公开提供的音频识别方法可以由部署有音频识别模块101的服务器、服务器集群或终端设备执行。
36.图2是根据本公开的一个实施例的音频识别方法的流程图。
37.如图2所示,该方法200可以包括操作s210至操作s240。
38.在操作s210,对目标音频数据的音频特征进行截断,得到至少一个第一音频序列特征。
39.在本公开实施例中,可以获取目标音频数据的梅尔谱数据,以便得到音频特征。
40.在本公开实施例中,目标音频数据可以与各种语言对应。例如,目标音频数据可以与汉语对应。又例如,目标音频数据可以与英语对应。
41.在本公开实施例中,至少一个第一音频序列特征对应的时长为预设时长。
42.在本公开实施例中,在第一音频序列特征为多个的情况下,第一音频序列特征对应的时长可以均为预设时长。例如,第一音频序列特征对应的时长可以是1秒。又例如,第一音频序列特征对应的时长也可以是10毫秒。
43.又例如,在接收到音频特征之后,在第1秒时,可以对第一音频序列特征进行截断,得到第1个第一音频序列特征。在第2秒时,可以对第一音频序列特征进行截断,得到第2个第一音频序列特征。二者对应的时长可以均为1秒。
44.在操作s220,根据音频特征的尖峰信息,得到与第一音频序列特征对应的尖峰子信息。
45.在本公开实施例中,尖峰子信息用于指示第一音频序列特征对应的尖峰。例如,尖峰可以与一个值对应。在一个示例中,不同尖峰对应的值可以是不同的。在另一个示例中,不同尖峰对应的值可以是相同的。
46.在本公开实施例中,可以根据音频特征,确定尖峰信息。再根据尖峰信息,确定与第一音频序列特征对应的尖峰子信息。例如,尖峰信息是根据音频特征生成的。根据第一音频序列特征对应的时段,可以从尖峰信息中获取与该时段对应的尖峰子信息。将该尖峰子信息确定为与第一音频序列特征对应的尖峰子信息。又例如,可以利用各种方式确定尖峰信息。
47.在操作s230,对第一音频序列特征执行至少一次解码操作,得到第一音频序列特征的识别结果。
48.在本公开实施例中,解码操作的执行次数与第一音频序列特征对应的尖峰的数量一致。例如,尖峰的数量为2个,解码操作的执行次数可以为2次。
49.在本公开实施例中,在获得一个第一音频序列特征之后,可以根据与该第一音频序列特征对应的尖峰子信息,对该第一音频序列特征执行至少一次解码操作。例如,在获得第1个第一音频序列特征之后,可以将与第1个第一音频序列特征对应的尖峰的数量,作为对第1个第一音频序列特征执行的解码操作的次数,以便对第1个第一音频序列特征执行至少一次解码操作,得到第1个识别结果。若在对第1个第一音频序列特征进行解码的过程中或完成了解码之后,获得了第2个第一音频序列特征,可以将与第2个第一音频序列特征对应的尖峰的数量,作为对第2个第一音频序列特征执行的解码操作的次数,以便对第2个第一音频序列特征执行至少一次解码操作,得到第2个识别结果。
50.在本公开实施例中,识别结果可以是各种语言的识别结果。例如,在目标音频数据与汉语对应的情况下,识别结果可以包括至少一个汉字。例如,在目标音频数据与英语对应的情况下,识别结果可以包括至少一个英文的单词或子词。可以理解,一个英文单词可以由一个或多个子词组成。
51.在操作s240,根据至少一个识别结果,得到目标音频数据的目标文本数据。
52.在本公开实施例中,可以融合至少一个识别结果,作为目标文本数据。例如,可以将第1个识别结果和第2个识别结果拼接,作为目标文本数据。
53.通过本公开实施例,将音频特征截断为预设长度的第一音频序列特征,可以高效快速地获取第一音频序列特征并进行后续处理,有助于提高音频识别的效率。此外,在多个第一音频序列特征的长度一致的情况下,可以有效地利用图形处理器进行并行计算,进一步提高音频识别的效率。
54.此外,通过本公开实施例,在对音频特征进行截断时,无需过度依赖其他信息,即使未即时获取尖峰信息,也可以进行截断,提高了获取第一音频序列特征的效率。也节约了解析尖峰信息的时间和解析开销,进一步提高了获取第一音频序列特征的效率,降低了资源开销,更加适合在线语音交互场景。可以实现在目标音频数据输入的同时,就可以输出部分识别结果,使得上述的自然语言理解模块102、对话生成模块103和语音合成模块104提前进行相关操作,减少冗余计算,降低系统架构100的响应时间,节约系统架构的计算资源。
55.此外,通过本公开实施例,对于一个第一音频序列特征,解码操作的执行次数与尖峰的数量一致,保证了对第一音频序列特征的解码次数,可以保证音频识别的准确率不会降低。此外,在尖峰的数量准确的情况下,可以准确地进行解码,降低了对尖峰的位置信息的准确性要求。由此,实现了高效地获取第一音频序列特征,并高效准确地进行解码,实现了音频识别准确率和计算效率之间的有效平衡。
56.此外,通过本公开实施例,可以利用conformer模型或transformer模型等模型执行至少一次解码操作。基于此,可以降低或消除对时序信息的依赖,可以直接对不同时段的第一音频序列特征进行处理,降低或避免了错误信息随着时序信息逐渐传递,提高了模型的精度。此外,conformer模型或transformer模型等模型与图形处理器的特点更加相符,便于利用并行计算的方式加速解码。
57.可以理解,目标音频数据可以是逐渐获取的。例如,目标对象在第1秒提供了对应两个字的音频信号,在第2秒提供了对应一个字的音频信号,在第3秒提供了一个子的音频信号。在第1秒,接收到音频信号之后,就可以将其转为一部分目标音频数据。在第3秒,获得了全部的音频信号,进而可以获取全部的目标音频数据。
58.可以理解,上文对本公开提供的方法的实施流程进行了描述,下面将结合图3对本公开提供的方法的原理进行详细描述。
59.图3是根据本公开的一个实施例的音频识别方法的原理图。
60.如图3所示,音频特征301可以是对目标音频数据进行特征提取得到的。本公开实施例中,音频识别方法可以由音频识别模型实现。音频识别模型可以包括第一卷积子模型310、流式多级截断注意力(streaming multi-layer truncated attention,smlta)子模型320、第二卷积子模型330和连接时序分类子模型340。
61.在本公开实施例中,对目标音频数据的音频特征进行截断可以包括:对音频特征进行卷积,得到第一音频特征。对第一音频特征进行截断。
62.例如,如图3所示,可以利用第一卷积子模型310对音频特征301进行卷积处理,得到第一音频特征。接下来,可以利用流式多级截断注意力子模型320对第一音频特征进行截断,得到至少一个第一音频序列特征。又例如,流式多级截断注意力子模型可以确定第一音
频特征对应的时长是否满足预设时长条件。响应于确定第一音频特征对应的时长满足预设时长条件,可以对第一音频特征进行截断。在一个示例中,预设时长条件例如可以为:时长的增量为预设时间增量阈值。预设时间增量阈值例如可以为1秒。由此,可以每秒对第一音频特征进行一次截断。
63.在本公开实施例中,根据音频特征的尖峰信息,得到与第一音频序列特征对应的尖峰子信息可以包括:对音频特征进行卷积,得到第二音频特征。根据第二音频特征的尖峰信息,得到与第一音频序列特征对应的尖峰子信息。
64.例如,如图3所示,可以利用第二卷积子模型330对音频特征301进行卷积处理,得到第二音频特征。接下来,可以利用连接时序分类子模型340处理第二音频特征,得到尖峰信息。将尖峰信息输入流式多级截断注意力子模型320,以便确定与截断出的第一音频序列特征对应的尖峰子信息。可以理解,第一音频特征和第二音频特征均是对音频特征进行卷积后得到的。基于第一音频序列特征对应的时段,可以确定出与第一音频序列特征对应的尖峰子信息。
65.在本公开实施例中,第一卷积子模型310可以包括多个堆叠的卷积层。例如,每个卷积层可以进行步长为2的卷积降采样。又例如,第一音频特征对应的帧率可以为音频特征301的1/4。
66.在本公开实施例中,第二卷积子模型330可以包括多个堆叠的卷积层。例如,每个卷积层可以进行步长为2的卷积降采样。又例如,第二音频特征对应的帧率可以为音频特征301的1/4。
67.在本公开实施例中,第一卷积子模型310和第二卷积子模型330的结构是一致的。例如,第一卷积子模型310的卷积层数量可以与第二卷积子模型330的卷积层数量相同。通过本公开实施例,对音频特征进行卷积降采样,可以有效地从音频特征中获取深层的信息,并可以提升音频识别模型的性能。此外,第一卷积子模型310和第二卷积子模型330的结构一致,可以充分利用图形处理器进行并行处理,以便进一步提高音频识别模型的性能。
68.接下来,可以利用流式多级截断注意力子模型对第一音频序列特征进行至少一次解码,得到识别结果。例如,利用流式多级截断注意力子模型的解码网络对第1个第一音频序列特征进行至少一次解码,得到第1个识别结果。又例如,利用流式多级截断注意力子模型的解码网络对第2个第一音频序列特征进行至少一次解码,得到第2个识别结果。根据2个识别结果,可以得到目标文本数据302。
69.可以理解,本公开实施例中,除了流式多级截断注意力子模型,也可以利用多级transformer模型对第一音频序列特征进行多级编码和解码,以便获得目标文本数据。
70.可以理解,本公开实施例中,除了连接时序分类子模型,也可以利用其他各种模型确定音频特征的尖峰信息。
71.可以理解,上文对本公开的音频识别方法的原理进行了详细说明。下面将结合相关实施例对本公开的流式多级截断注意力子模型进行详细说明。
72.在一些实施例中,至少一个第一音频序列特征为k个第一音频序列特征,第k个第一音频序列特征的识别结果包括i个识别子结果,第k个第一音频序列特征对应的尖峰的数量为i个,i为不小于1的整数,k为不小于1且不大于k的整数,k为大于1的整数。下面将结合图4a至图4c进行详细说明。
73.图4a至图4c是根据本公开的一个实施例的流式多级截断注意力子模型的原理图。
74.如图4a至图4c所示,流式多级截断注意力子模型420可以包括编码网络421和解码网络422。编码网络421可以包括第一前馈单元4211、p个编码单元4212、卷积单元4213和第二前馈单元4214。解码网络422可以包括q个解码单元4221。q为不小于1的整数。p为不小于1的整数。
75.在本公开实施例中,对第一音频序列特征执行至少一次解码操作可以包括:对第k个第一音频序列特征进行编码频序列编码特征。根据第k个初始音频序列编码特征,得到第k个目标音频序列编码特征。
76.例如,在获取了目标音频数据的第1个预设时长(例如1秒)之后,可以对目标音频数据的第一音频特征进行截断,得到第1个第一音频序列特征4101。可以利用第一前馈单元4211对第1个第一音频序列特征4101进行编码,得到第1个初始音频序列编码特征42111。接下来,基于自注意力机制,编码单元4212可以对第1个初始音频序列编码特征42111进行编码,得到第1个目标音频序列编码特征42121。
77.接下来,可以利用卷积单元4213对第1个目标音频序列编码特征42121进行卷积,得到第1个卷积后音频序列编码特征。利用第二前馈单元4214处理第1个卷积后音频序列编码特征,得到第1个处理后音频序列编码特征。
78.又例如,在获取了目标音频数据的第1个预设时长(例如1秒)之后,从连接时序分类子模型输出的尖峰信息中,可以确定与第1个第一音频序列特征4101对应的尖峰子信息4401。如图4a所示,尖峰子信息4401可以指示第1个第一音频序列特征4101对应2个尖峰。
79.在本公开实施例中,对第一音频序列特征执行至少一次解码操作可以包括:响应于确定第一音频序列特征满足识别起始条件,根据第一预设解码参数信息,对第一音频序列特征执行至少一次解码操作,得到起始解码参数信息和第一音频序列特征的识别结果。
80.例如,识别起始条件可以为:第一音频序列特征为从音频特征截断出的第1个音频序列特征。可以利用各种方式确定第1个第一音频序列特征4101满足识别起始条件。可以根据第一预设解码参数信息,对第1个第一音频序列特征4101执行i次解码操作,得到起始解码参数信息和i个识别子结果。在一个示例中,第一预设解码参数信息可以包括解码单元的句首符。如上文所述,尖峰子信息4401可以指示第1个第一音频序列特征4101对应2个尖峰。可以理解,对于第1个第一音频序列特征4101,i可以为2。
81.在本公开实施例中,对第一音频序列特征执行至少一次解码操作可以包括:根据第k个第一音频序列特征的初始解码参数信息,对第k个第一音频序列特征执行第1次解码操作,得到第k个第一音频序列特征的第1个解码参数信息和第k个第一音频序列特征的第1个识别子结果。例如,可以将第一预设解码参数信息作为第1个第一音频序列特征4101的初始解码参数信息。接下来,对第1个处理后音频序列编码特征执行第1次解码操作,可以得到第1个第一音频序列特征4101的第1个解码参数信息,也可以得到第1个第一音频序列特征4101的第1个识别子结果。在一个示例中,第1个识别子结果可以是1个汉字。
82.在本公开实施例中,对第一音频序列特征执行至少一次解码操作可以包括:根据第k个第一音频序列特征的第i-1个解码参数信息,对第k个第一音频序列特征执行第i次解码操作,得到第k个第一音频序列特征的第i个解码参数信息和第k个第一音频序列特征的第i个识别子结果。此外,在本公开实施例中,对第k个第一音频序列特征执行第i次解码操
作可以包括:根据第k个第一音频序列特征的第i-1个解码参数信息,对第k个第一音频序列特征执行第i次解码操作,得到第k个第一音频序列特征的第i个解码参数信息和第k个第一音频序列特征的第i个识别子结果。
83.例如,i为大于1且不大于i的整数。又例如,如上文所述,对于第1个第一音频序列特征4101,i可以为2。在i=i=2的情况下,根据第1个第一音频序列特征4101的第1个解码参数信息,可以对第1个处理后音频序列编码特征执行第2次解码操作,可以得到第1个第一音频序列特征4101的第2个解码参数信息,也可以得到第1个第一音频序列特征4101的第2个识别子结果。在一个示例中,第2个识别子结果也可以是1个汉字。例如,可以利用q个解码单元4221对第1个处理后音频序列编码特征执行q级解码,以实现1次解码操作。
84.在执行了2次解码操作之后,可以将第1个第一音频序列特征4101的第1个识别子结果和第2个识别子结果,作为第1个第一音频序列特征4101的识别结果。
85.可以理解,上文结合图4a详细描述了对1个第一音频序列特征进行编码和解码的一些方式。在获得识别结果之后,流式多级截断注意力子模型还可以确定历史特征,以便基于历史注意力机制对之后的第一音频序列特征进行编码。下面将结合图4a进行详细说明。
86.在本公开实施例中,对第一音频序列特征执行至少一次解码操作可以包括:根据第k个第一音频序列特征的第1个识别子结果和第k个初始音频序列编码特征,得到第k个第一音频序列特征的第1个历史子特征。例如,如图4a所示,根据第1个第一音频序列特征4101的第1个识别子结果以及第1个初始音频序列编码特征42111进行编码,可以得到第1个第一音频序列特征4101的第1个历史子特征h1。
87.在本公开实施例中,对第一音频序列特征执行至少一次解码操作还可以包括:根据第k个第一音频序列特征的第i个识别子结果和第k个初始音频序列编码特征,得到第k个第一音频序列特征的第i个历史子特征。例如,如图4a所示,在i=i=2的情况下,根据第1个第一音频序列特征4101的第2个识别子结果以及第1个初始音频序列编码特征42111进行编码,可以得到第1个第一音频序列特征4101的第2个历史子特征h2。
88.在本公开实施例中,对第一音频序列特征执行至少一次解码操作还可以包括:在k=1的情况下,可以将第k个第一音频序列特征的i个历史子特征融合,得到与第k+1个第一音频序列特征相关的历史特征。例如,如图4a所示,可以将第1个第一音频序列特征4101的第1个历史子特征h1和第1个第一音频序列特征4101的第2个历史子特征h2拼接,得到与第2个第一音频序列特征相关的历史特征。
89.此外,在本公开实施例中,对第k个第一音频序列特征进行至少一次解码操作还可以包括:在k小于k的情况下,将第k个第一音频序列特征的第i个解码参数信息作为第k+1个第一音频序列特征的初始解码参数信息。例如,可以将第1个第一音频序列特征4101的第2个解码参数信息作为第2个第一音频序列特征的初始解码参数信息。
90.可以理解,上文详细描述了对第1个第一音频序列特征进行编码和解码的一些方式以及基于历史注意力机制对第1个第一音频序列特征的识别结果进行处理的一些方式。下面将结合相关实施例详细描述对第2个第一音频序列特征进行编码和解码的一些方式。
91.如图4b所示,在获取了目标音频数据的2个预设时长(例如2秒)之后,可以对目标音频数据的第一音频特征进行截断,得到第2个第一音频序列特征4102。如图4a和图4b所示,第1个第一音频序列特征4101和第2个第一音频序列特征4102对应的时长可以是一致
的。在一个示例中,第1个第一音频序列特征4101和第2个第一音频序列特征4102对应的时长均为1秒。
92.可以利用第一前馈单元4211对第2个第一音频序列特征4102进行编码,得到第2个初始音频序列编码特征42112。
93.在本公开实施例中,根据第k个初始音频序列编码特征,得到第k个目标音频序列编码特征可以包括:根据与第k个第一音频序列特征相关的历史特征和第k个初始音频序列编码特征,得到第k个目标音频序列编码特征。例如,基于自注意力机制,编码单元4212可以根据第2个初始音频序列编码特征42112、第1个历史子特征h1和第2个历史子特征h2进行编码,得到第2个目标音频序列编码特征42122。
94.接下来,可以利用卷积单元4213对第2个目标音频序列编码特征42122进行卷积,得到第2个卷积后音频序列编码特征。利用第二前馈单元4214处理第2个卷积后音频序列编码特征,得到第2个处理后音频序列编码特征。
95.又例如,在获取了目标音频数据的2个预设时长(例如2秒)之后,从连接时序分类子模型输出的尖峰信息中,可以确定与第2个第一音频序列特征4102对应的尖峰子信息4402。如图4b所示,尖峰子信息4402可以指示第2个第一音频序列特征4102对应1个尖峰。可以理解,对于第2个第一音频序列特征4102,i可以为1。
96.又例如,如上文所述,将第1个第一音频序列特征4101的第2个解码参数信息作为第2个第一音频序列特征的初始解码参数信息。接下来,对第2个处理后音频序列编码特征执行第1次解码操作,可以得到第2个第一音频序列特征4102的第1个解码参数信息,也可以得到第2个第一音频序列特征4102的第1个识别子结果(例如可以是1个汉字)。
97.在执行了1次解码操作之后,可以将第2个第一音频序列特征4102的第1个识别子结果,作为第2个第一音频序列特征4102的识别结果。
98.可以理解,上文结合图4b详细描述了对第一音频序列特征进行编码和解码的一些方式。下面将结合图4b详细说明确定第2个第一音频序列特征的i个历史子特征的一些方式。
99.例如,如图4b所示,根据第2个第一音频序列特征4102的第1个识别子结果以及第2个初始音频序列编码特征42112进行编码,可以得到第2个第一音频序列特征4102的第1个历史子特征h3。
100.在本公开实施例中,对第一音频序列特征执行至少一次解码操作还可以包括:在k=k的情况下,可以将第k个第一音频序列特征的i个历史子特征以及与第k个第一音频序列特征相关的历史特征融合,得到下一音频序列特征相关的历史特征。例如,如图4b所示,可以将第1个第一音频序列特征4101的第1个历史子特征h1、第1个第一音频序列特征4101的第2个历史子特征h2以及第2个第一音频序列特征4102的第1个历史子特征h3拼接,得到与下一个音频序列特征相关的历史特征。
101.如图4c所示,在获取了目标音频数据的3个预设时长(例如3秒)之后,可以对目标音频数据的第一音频特征进行截断,得到一个音频序列特征。若确定该音频序列特征满足识别结束条件,可以确定从第一音频特征截断出第二音频序列特征4103。例如,识别结束条件可以为:音频序列特征为第一音频特征的最后一个音频序列特征。
102.如图4a、图4b和图4c所示,第1个第一音频序列特征4101、第2个第一音频序列特征
4102以及第二音频序列特征4103对应的时长是一致的。在一个示例中,第1个第一音频序列特征4101、第2个第一音频序列特征4102以及第二音频序列特征4103对应的时长均为1秒。
103.可以利用第一前馈单元4211对第二音频序列特征4103进行编码,得到第3个初始音频序列编码特征42113。
104.例如,基于自注意力机制,编码单元4212可以根据第3个初始音频序列编码特征42113、第1个第一音频序列特征4101的第1个历史子特征h1、第1个第一音频序列特征4101的第2个历史子特征h2以及第2个第一音频序列特征4102的第1个历史子特征h3进行编码,得到第3个目标音频序列编码特征42123。
105.接下来,可以利用卷积单元4213对第3个目标音频序列编码特征42123进行卷积,得到第3个卷积后音频序列编码特征。利用第二前馈单元4214处理第3个卷积后音频序列编码特征,得到第3个处理后音频序列编码特征。
106.又例如,在获取了目标音频数据的3个预设时长(例如3秒)之后,从连接时序分类子模型输出的尖峰信息中,可以确定与第二音频序列特征4103对应的尖峰子信息4403。如图4c所示,尖峰子信息4403可以指示第二音频序列特征4103对应1个尖峰。可以理解,对于第二音频序列特征4103,解码操作的次数不大于与第二音频序列特征对应的尖峰的数量。
107.在本公开实施例中,根据至少一个第一音频序列特征的识别结果,得到目标音频数据的目标文本数据可以包括:响应于从音频特征截断出第二音频序列特征,根据第二预设解码参数信息,对第二音频序列特征执行至少一次解码操作,得到第二音频序列特征的识别结果。可以利用各种方式确定第二音频序列特征4103满足识别结束条件。如图4c所示,尖峰子信息4403可以指示第二音频序列特征4103对应1个尖峰。对第二音频序列特征执行解码操作的次数可以为1次。在一个示例中,第二预设解码参数信息可以包括解码单元所需的句尾符。可以理解,可以基于各种方式,确定音频序列特征是否满足识别起始条件或识别结束条件,本公开对此不做限制。
108.又例如,可以根据第二预设解码参数信息,对第3个处理后音频序列编码特征执行第1次解码操作,可以得到第二音频序列特征4103的第1个识别子结果(例如可以是1个汉字)。
109.在执行了1次解码操作之后,可以将第二音频序列特征4103的第1个识别子结果,作为第二音频序列特征的识别结果。
110.可以理解,上文结合图4c详细描述了对第二音频序列特征进行编码和解码的一些方式。下面将结合图4c详细说明确定第二音频序列特征的历史子特征的一些方式。
111.例如,如图4c所示,根据第二音频序列特征4103的第1个识别子结果以及第3个初始音频序列编码特征42113进行编码,可以得到第二音频序列特征4103的第1个历史子特征h4。
112.例如,如图4c所示,可以将第1个第一音频序列特征4101的第1个历史子特征h1、第1个第一音频序列特征4101的第2个历史子特征h2、第2个第一音频序列特征4102的第1个历史子特征h3、第二音频序列特征4103的第1个历史子特征h4融合,得到与提供目标音频数据的目标对象对应的历史特征。
113.可以理解,如图4a至图4c所示,k可以为2。k的取值可以为1、2。
114.可以理解,在另一些实施例中,在确定从第一音频特征中截断出第二音频序列特
征4103之后,可以不再基于历史注意力机制对第二音频序列特征4103的识别结果进行编码。
115.可以理解,上文结合图4a至图4c详细描述了对第一音频序列特征和第二音频序列特征进行编码和解码的一些实施方式,对二者采用了不同的解码方式,可以进一步提高音频识别的识别准确率。在本公开另一些实施例中,也可以将第二音频序列特征作为一个第一音频特征,本公开对此不进行限制。
116.可以理解,上文以k=2为示例,对本公开提供的流式多级截断注意力子模型进行了详细说明。但本公开不限于此,下面将结合图5进行详细说明。
117.图5是根据本公开的另一个实施例的流式多级截断注意力子模型的原理图。
118.如图5所示,流式多级截断注意力子模型520可以包括编码网络521和解码网络522。编码网络521可以包括第一前馈单元5211、p个编码单元5212、卷积单元5213和第二前馈单元5214。解码网络522可以包括q个解码单元5221。q为不小于1的整数。p为不小于1的整数。
119.在获取了目标音频数据的k个预设时长(例如k秒)之后,可以对目标音频数据的第一音频特征进行截断,得到第k个第一音频序列特征5104。如图5所示,k个第一音频序列特征的长度是彼此一致的。k个第一音频序列特征的对应的时长也可以是彼此一致的,均为预设时长。
120.可以利用第一前馈单元5211对第k个第一音频序列特征5104进行编码,得到第k个初始音频序列编码特征52114。
121.例如,基于自注意力机制,编码单元5212可以根据第k个初始音频序列编码特征52114、第1个第一音频序列特征的第1个历史子特征h1、第1个第一音频序列特征的第2个历史子特征h2、
……
、第k-1个音频序列特征的第1个历史子特征ht-1进行编码,得到第k个目标音频序列编码特征52124。可以理解,t为大于1的整数。可以理解,如图5所示,第1个第一音频序列特征对应的尖峰的数量为2。若第2个第一音频序列特征至第k-1个第一音频序列特征对应的尖峰的数量均为1,则在本实施例中,k=t-1。
122.接下来,可以利用卷积单元5213对第k个目标音频序列编码特征52124进行卷积,得到第k个卷积后音频序列编码特征。利用第二前馈单元5214处理第k个卷积后音频序列编码特征,得到第k个处理后音频序列编码特征。
123.又例如,在获取了目标音频数据的k个预设时长(例如k秒)之后,从连接时序分类子模型输出的尖峰信息中,可以确定与第k个第一音频序列特征5104对应的尖峰子信息5404。如图5所示,尖峰子信息5404可以指示第k个第一音频序列特征5104对应1个尖峰。可以理解,对于第k个第一音频序列特征5104,i可以为1。
124.又例如,可以将第k-1个第一音频序列特征的第i个解码参数信息作为第k个第一音频序列特征的初始解码参数信息。接下来,对第k个处理后音频序列编码特征执行第1次解码操作,可以得到第k个第一音频序列特征5104的第1个解码参数信息,也可以得到第1个第一音频序列特征5104的第1个识别子结果(例如可以是1个汉字)。
125.在执行了1次解码操作之后,可以将第k个第一音频序列特征5104的第1个识别子结果,作为第k个识别结果。
126.可以理解,上文结合图5详细描述了对k个第一音频序列特征进行编码和解码的一
些方式。下面将结合图5详细说明确定第k个第一音频序列特征的i个历史子特征的一些方式。
127.例如,如图5所示,根据第k个第一音频序列特征5104的第1个识别子结果以及第k个初始音频序列编码特征52114,可以根据各种方式进行编码,得到第k个第一音频序列特征5104的第1个历史子特征ht。
128.在本公开实施例中,对第一音频序列特征执行至少一次解码操作还可以包括:在k大于1且小于k的情况下,可以将第k个第一音频序列特征的i个历史子特征以及与第k个第一音频序列特征相关的历史特征融合,得到与第k+1个第一音频序列特征相关的历史特征。例如,如图5所示,在k大于1且小于k的情况下,可以将第1个第一音频序列特征的第1个历史子特征h1、第1个第一音频序列特征的第2个历史子特征h2、
……
、第k-1个第一音频序列特征的第1个历史子特征ht-1以及第k个第一音频序列特征5104的第1个历史子特征ht融合,得到与第k+1个第一音频序列特征相关的历史特征。
129.可以理解,可以利用p个编码单元5212对第k个初始音频序列编码特征52114进行p级编码,以得到第k个目标音频序列编码特征。
130.可以理解,可以利用q个解码单元5221对第k个处理后音频序列编码特征进行q级解码,以实现对第k个处理后音频序列编码特征的1次解码操作。
131.可以理解,在本公开实施例中,在k=k的情况下,可以将第k个第一音频序列特征的第i个解码参数信息作为第二音频序列特征的初始解码参数信息。可以对第二音频序列特征执行至少一次解码操作。例如,以对第二音频序列特征执行多次解码操作为示例,根据第k个第一音频序列特征的第i个解码参数信息,可以对第二音频序列特征执行第1次解码操作。接下来,在使用第二预设解码参数进行解码后,停止对该第二音频序列特征进行解码。通过本公开实施例,可以提高音频识别准确率,确保目标音频数据与目标文本数据对应。
132.在本公开实施例中,上述的编码网络可以是基于conformer模型建立的。上述的解码网络可以是基于transformer模型建立的。通过本公开实施例,基于conformer模型和transformer模型分别建立编码网络和解码网络,可以充分利用自相关建模方式适合大规模数据并行计算的特点,有助于更进一步提高音频识别方法的识别准确率。
133.可以理解,上文对本公开的流式多级截断注意力子模型进行了详细描述。下面将结合相关实施例对获得音频特征的尖峰信息的一些实施方式进行详细描述。
134.可以理解,可以利用连接时序分类子模型340获得音频特征的尖峰信息。
135.如上文所述,不同尖峰对应的值可以是不同的。在一些实施例中,连接时序分类子模型可以是多值的连接时序分类子模型。多值的连接时序分类子模型可以输出目标音频数据的第一文本数据。第一文本数据可以包括至少一个第一识别结果。每个第一识别结果与一个字、音素(phone)、音节(syllable)或子词(word piece)对应。例如,以第一识别结果与一个汉字对应为示例,多值的连接时序分类子模型可以确定与第二音频特征的音频子特征对应的一个汉字。该汉字来自于3000多个汉字。在训练多值的连接时序分类子模型时,需要有与3000多个汉字对应的样本音频及标签,导致训练成本较高。此外,多值的连接时序分类子模型的参数量也较大,确定尖峰信息所需的时间成本较高,导致尖峰信息输出不及时,易出现“尖峰延迟”(peak delay)现象,进一步导致流式多级截断注意力子模型无法及时解码出最终的目标文本数据,影响了用户体验。
136.此外,多值的连接时序分类子模型参数量大,计算误差也较大。多值的连接时序分类子模型也无法充分利用音频数据的上下文特征,输出的尖峰信息不准确,导致流式多级截断注意力子模型不能准确地解码,无法输出准确的目标文本数据,进一步影响了用户体验。
137.可以理解,为了提高用户体验,可以采用更大规模的训练数据集对多值的连接时序分类子模型进行充分地训练优化,以便提高尖峰信息的准确性。
138.也可以理解,如上文所述,多值的连接时序分类子模型无法充分利用音频数据的上下文特征,多值的连接时序分类子模型输出的第一文本数据可能不准确。因此,可以利用流式多级截断注意力截断子模型进行再次解码,以便音频识别整体的精度。
139.为了提高音频识别的效率,并进一步获取准确的目标文本数据,在本公开实施例中,不同尖峰对应的值可以是相同的。下面将结合相关实施例进行详细描述。
140.在一些实施例中,根据音频特征的尖峰信息,得到与第一音频序列特征对应的尖峰子信息可以包括:根据音频特征,得到音频特征的尖峰信息。根据尖峰信息和第一音频序列特征,得到与第一音频序列特征对应的尖峰子信息。
141.在本公开实施例中,尖峰信息用于指示与音频特征对应的尖峰,尖峰与一个预设值对应。例如,预设值可以是1。
142.在本公开实施例中,预设值用于指示尖峰与语义单元对应,不同尖峰对应的预设值是相同的。例如,语义单元可以是字、音素、音节或子词等等。又例如,不同尖峰对应的预设值均可以是1。
143.在本公开实施例中,连接时序分类子模型可以是二值的连接时序分类子模型。二值的连接时序分类子模型可以确定音频子特征是否对应一个语义单元。例如,以语义单元是一个汉字为示例,二值的连接时序分类子模型可以确定一个或几个音频子特征是否与一个完整的汉字对应。若确定一个或几个音频子特征与一个完整的汉字对应,则输出一个预设值(例如1),以生成一个尖峰。若确定一个或几个音频子特征未与一个完整的汉字对应,则输出另一预设值(例如0),不生成一个尖峰。
144.通过本公开实施例,利用二值的连接时序分类子模型获得了尖峰信息。可以快速地确定尖峰信息,大幅地降低了时间成本,有助于及时输出尖峰信息,缓解甚至消除“尖峰延迟”现象,使得流式多级截断注意力子模型可以及时解码出最终的目标文本数据,提高用户体验。
145.此外,通过本公开实施例,二值的连接时序分类子模型可以确定一个或几个音频子特征是否与一个完整的汉字对应,参数量较小,计算误差也较小,可以输出准确的尖峰信息,使得流式多级截断注意力子模型可以准确地解码,输出准确的目标文本数据,进一步提高了用户体验。
146.此外,在训练二值的连接时序分类子模型时,需要有与样本音频及标签,标签的类别较少,训练成本较低。使用二值的连接时序分类子模型,可以降低执行开销,还可以提高音频识别的准确率。
147.下面将结合相关实施例对本公开的二值的连接时序分类子模型进行详细说明。
148.在一些实施例中,连接时序分类子模型可以包括多个分类网络。分类网络可以包括时间掩码单元和卷积单元。下面将结合图6进行详细说明。
149.图6是根据本公开的一个实施例的分类网络的示意图。
150.如图6所示,分类网络640可以包括第三前馈单元641、时间掩码单元642、卷积单元643和第四前馈单元644。
151.在本公开实施例中,音频特征包括n个音频子特征,音频子特征与一个时刻对应。n为不小于1的整数。例如,第n个时刻和第n-1个时刻之间时长可以是10毫秒。
152.在本公开实施例中,根据音频特征,得到音频特征的尖峰信息可以包括:对音频特征进行掩码处理,得到时间掩码特征。
153.例如,时间掩码特征与第1个音频子特征至第n个音频子特征对应,n为大于1且小于n的整数。
154.例如,将第二音频特征输入第三前馈单元641,得到处理后的第二音频特征。将处理后的第二音频特征与第二音频特征融合,得到第一融合特征。将第一融合特征输入时间掩码单元642,得到时间掩码特征。时间掩码特征可以与第1个音频子特征至第n个音频子特征对应。第1个音频子特征可以与获取目标音频数据的起始时刻对应。第n个音频子特征可以与第1秒对应。可以理解,第二音频特征还包括与第1秒之后的多个时刻对应的音频子特征。通过掩码处理得到的时间掩码特征与对应第n+1个时刻的音频子特征无关,进而使得在确定尖峰信息的过程中,可以使用第n个时刻之前的历史信息,以适应在线语音交互场景的需求。
155.又例如,时间掩码单元642可以是基于多头自注意力的时间掩码单元(time-masked multi-head self-attention module)。
156.在本公开实施例中,根据音频特征,得到音频特征的尖峰信息可以包括:根据时间掩码特征,得到与n个时刻对应的尖峰信息。在本公开实施例中,根据时间掩码特征,得到与n个时刻对应的尖峰信息可以包括:对时间掩码特征进行卷积,得到卷积后时间掩码特征。根据卷积后时间掩码特征,得到与n个时刻对应的尖峰信息。
157.例如,可以将时间掩码特征和第一融合特征融合,得到第二融合特征。将第二融合特征输入卷积单元643,得到卷积后时间掩码特征。将卷积后时间掩码特征和第二融合特征融合,得到第三融合特征。将第三融合特征输入第四前馈单元644,得到处理后时间掩码特征。将处理后时间掩码特征与第三融合特征融合,得到第四融合特征。可以理解,可以利用一个全连接层处理第四融合特征,得到与n个时刻对应的尖峰信息。在一个示例中,若第n个音频子特征与第1秒对应,与n个时刻对应的尖峰信息可以作为与第1个第一音频序列特征对应的尖峰子信息。
158.可以理解,上述的卷积单元643可以是因果卷积单元(casual convolution module)。通过本公开实施例,基于时间掩码处理和因果卷积处理,可以同时关注音频特征的全局信息和局部信息,有助于提高分类网络的描述能力。
159.可以理解,上文中目标音频数据的数量可以为1个,也可以为多个。下面将进行详细说明。
160.在一些实施例中,目标音频数据可以为多个,音频特征可以为多个。例如,目标音频数据为2个,音频特征也可以为2个。
161.在一些实施例中,对第一音频序列特征执行至少一次解码操作可以包括:对分别来自于多个音频特征的第一音频序列特征并行地执行至少一次解码操作。
162.例如,在同时获取了2个目标音频数据的情况下,若第1个目标音频数据的音频特征满足了预设时长条件,可以对第1个目标音频数据的音频特征进行截断,得到第1个目标音频数据的1个第一音频序列特征。将与该第一音频序列特征对应的尖峰的数量,作为对第一音频序列特征执行的解码操作次数。接下来,可以利用图形处理器的一个运算单元对其执行至少一次解码操作。
163.又例如,若第2个目标音频数据的音频特征满足了预设时长条件,可以对第2个目标音频数据的音频特征进行截断,得到第2个目标音频数据的1个第一音频序列特征。将与该第一音频序列特征对应的尖峰子信息,作为对该第一音频序列特征执行的解码操作次数。接下来,可以利用图形处理器的另一个运算单元对其执行至少一次解码操作。
164.通过本公开实施例,来自于多个音频特征的第一音频序列特征对应的时长也可以均为预设时长。基于此,在获得第一音频序列特征之后,即可利用图形处理进行并行处理,可以大幅地提高推理速度,音频识别效率大幅提高。
165.在一些实施例中,上述的方法还可以包括:对分别来自于多个音频特征的第一音频序列特征和第二音频序列特征并行地执行至少一次解码操作。如上文所述,第二音频序列特征的长度可以同第一音频序列特征的长度一致。例如,若二者对应的时长存在差别,可以向第二音频序列特征添加特定值,使得第二音频序列特征的长度和第一音频序列特征的长度一致。
166.在一些实施例中,第一音频序列特征可以包括j个音频序列子特征。j为大于1的整数。例如,以j=5为示例,第k-1个第一音频序列特征可以包括5个音频序列子特征。
167.在一些实施例中,第k个第一音频序列特征包括第k-1个第一音频序列特征的第j-h个音频序列子特征。h为不小于0的整数。例如,以j=5且h=0为示例。第k个第一音频序列特征可以包括第k-1个第一音频序列特征的第5个音频序列子特征。第k个第一音频序列特征还可以包括其他4个音频序列子特征。通过本公开实施例,相邻的两个第一音频序列特征之间存在重叠,可以引入一定的上下文信息,提升流式多级截断注意力子模型的编码能力。
168.可以理解,在相邻的两个第一音频序列特征之间存在重叠的情况下,与第k-1个第一音频序列特征对应的尖峰子信息,可以是与第k-1个第一音频序列特征的第1个音频序列子特征至第j-h个音频序列子特征对应的尖峰子信息。与第k个第一音频序列特征对应的尖峰子信息,可以是与第k个第一音频序列特征的第1个音频序列子特征至第j-h个音频序列子特征对应的尖峰子信息。
169.可以理解,第二音频序列特征也可以包括j个音频序列子特征。第二音频序列特征可以包括第k个第一音频序列特征的第j-h个音频序列子特征。通过本公开实施例,第一音频序列特征和第二音频序列特征之间也可以存在重叠,可以引入一定的上下文信息,进一步提升流式多级截断注意力子模型的编码能力。
170.可以理解,上文对本公开的音频识别方法进行了详细描述。为了实现该音频识别方法,可以训练一个音频识别模型,下文将进行详细描述。
171.图7是根据本公开的一个实施例的音频识别模型的训练方法的流程图。
172.如图7所示,该方法700可以包括操作s710至操作s760。
173.在本公开实施例中,音频识别模型包括识别子模型。
174.在操作s710,利用识别子模型对样本音频数据的音频特征进行截断,得到至少一
个第一音频序列特征。
175.在本公开实施例中,可以获取目标音频数据的梅尔谱数据,以便得到音频特征。
176.在本公开实施例中,样本音频数据可以与各种语言对应。例如,样本音频数据可以与汉语对应。又例如,样本音频数据可以与英语对应。
177.在本公开实施例中,至少一个第一音频序列特征对应的时长为预设时长。
178.在本公开实施例中,在第一音频序列特征为多个的情况下,第一音频序列特征对应的时长可以均为预设时长。例如,第一音频序列特征对应的时长可以是1秒。又例如,第一音频序列特征对应的时长也可以是10毫秒。
179.又例如,样本音频数据的音频特征对应的时长可以为3秒。在获取样本音频数据的音频特征之后,可以截断出例如2个第一音频序列特征,分别为第1个第一音频序列特征、第2个第一音频序列特征。二者对应的时长可以均为1秒。可以理解,与目标音频数据不同,全部的样本音频数据是可以直接获取的,样本音频数据的时长是可以确定的,由此,可以直接截断出样本音频数据的全部第一音频序列特征。
180.在操作s720,根据音频特征的样本尖峰信息,得到与第一音频序列特征对应的样本尖峰子信息。
181.在本公开实施例中,样本尖峰子信息用于指示第一音频序列特征对应的样本尖峰。例如,样本尖峰可以与一个值对应。在一个示例中,不同样本尖峰对应的值可以是不同的。在另一个示例中,不同样本尖峰对应的值可以是相同的。
182.在本公开实施例中,可以根据音频特征,确定样本尖峰信息。再根据样本尖峰信息,确定与第一音频序列特征对应的样本尖峰子信息。例如,样本尖峰信息是根据音频特征生成的。根据第一音频序列特征对应的时段,可以从样本尖峰信息中获取与该时段对应的样本尖峰子信息。将该样本尖峰子信息确定为与第一音频序列特征对应的样本尖峰子信息。又例如,可以利用各种方式确定样本尖峰信息。
183.在操作s730,利用识别子模型对第一音频序列特征执行至少一次解码操作,得到第一音频序列特征的识别结果。
184.在本公开实施例中,解码操作的执行次数与第一音频序列特征对应的样本尖峰的数量一致。例如,样本尖峰的数量为3个,解码操作的执行次数可以为3次。
185.例如,可以将与第1个第一音频序列特征对应的样本尖峰的数量,作为对第1个第一音频序列特征执行的解码操作的次数,以便对第1个第一音频序列特征执行至少一次解码操作,得到第1个识别结果。又例如,可以将与第2个第一音频序列特征对应的尖峰数量,作为对第2个第一音频序列特征执行的解码操作的次数,以便对第2个第一音频序列特征执行至少一次解码操作,得到第2个识别结果。
186.在本公开实施例中,识别结果可以是各种语言的识别结果。例如,在样本音频数据与汉语对应的情况下,识别结果可以包括至少一个汉字。例如,在样本音频数据与英语对应的情况下,识别结果可以包括至少一个英文的单词或子词。可以理解,一个英文单词可以由一个或多个子词组成。
187.在操作s740,根据至少一个第一音频序列特征的识别结果,得到样本音频数据的样本文本数据。
188.在本公开实施例中,可以融合至少一个第一音频序列特征的识别结果,得到样本
文本数据。例如,可以将第1个识别结果和第2个识别结果拼接,以得到样本文本数据。
189.在操作s750,根据样本文本数据和样本音频数据的识别子标签,确定识别损失值。
190.在本公开实施例中,可以利用各种损失函数确定识别损失值。
191.在操作s760,根据识别损失值,训练音频识别模型。
192.在本公开实施例中,基于反向传播算法,根据识别损失值,可以调整识别子模型的参数,以训练音频识别模型。
193.通过本公开实施例,将音频特征截断为预设长度的第一音频序列特征,可以高效快速地获取第一音频序列特征并进行后续处理,有助于提高音频识别的效率。此外,在多个第一音频序列特征的长度一致的情况下,可以有效地利用图形处理器进行并行训练,进一步提高音频识别模型的训练效率。
194.此外,通过本公开实施例,在对音频特征进行截断时,无需过度依赖其他信息,即使未即时获取尖峰信息,也可以进行截断,提高了获取第一音频序列特征的效率。也节约了解析尖峰信息的时间和解析开销,进一步提高了获取第一音频序列特征的效率,降低了资源开销,使得经训练的音频识别模型更加适合在线语音交互场景。
195.此外,通过本公开实施例,对于一个第一音频序列特征,解码操作的执行次数与样本尖峰的数量一致,保证了对第一音频序列特征的解码次数,可以保证音频识别的准确率不会降低。此外,在样本尖峰的数量准确的情况下,可以准确地进行解码,降低了对样本尖峰的位置信息的准确性要求。由此,实现了高效地获取第一音频序列特征,并高效准确地进行解码,实现了音频识别准确率和计算效率之间的有效平衡。
196.此外,通过本公开实施例,可以利用conformer模型或transformer模型等模型执行至少一次解码操作。基于此,可以降低或消除对时序信息的依赖,可以直接对不同时段的第一音频序列特征进行处理,降低或避免了错误信息随着时序信息逐渐传递,提高了模型的精度。此外,conformer模型或transformer模型等模型与图形处理器的特点更加相符,便于利用并行计算的方式加速解码。
197.此外,通过本公开实施例,可以降低识别子模型与其他子模型之间的依赖关系,降低了模型调节优化的难度,有助于提高模型更新迭代效率。
198.可以理解,上文对本公开提供的方法的实施流程进行了描述,下面将结合相关实施例对本公开提供的训练方法的原理进行详细描述。
199.在一些实施例中,音频识别模型可以包括第一卷积子模型、识别子模型、第二卷积子模型和分类子模型。例如,识别子模型可以为流式多级截断注意力子模型。又例如,分类子模型可以是连接时序分类子模型。可以理解,识别子模型也可以是其他的模型。分类子模型也可以是其他模型。
200.在本公开实施例中,音频特征可以是对样本音频数据进行特征提取得到的。
201.在本公开实施例中,利用识别子模型对样本音频数据的音频特征进行截断可以包括:将音频特征输入音频识别模型的第一卷积子模型,得到第一音频特征。利用识别子模型对第一音频特征进行截断。
202.例如,可以利用第一卷积子模型对音频特征进行卷积处理,得到第一音频特征。接下来,可以利用流式多级截断注意力子模型对第一音频特征进行截断,得到至少一个第一音频序列特征。又例如,利用流式多级截断注意力子模型按照预设的时间间隔对第一音频
特进行截断,可以得到第1个第一音频序列特征和第2个第一音频序列特征。
203.在本公开实施例中,根据音频特征的样本尖峰信息,得到与第一音频序列特征对应的样本尖峰子信息可以包括:将音频特征输入音频识别模型的第二卷积子模型,得到第二音频特征。根据第二音频特征的样本尖峰信息,得到与第一音频序列特征对应的样本尖峰子信息。
204.例如,可以利用第二卷积子模型对音频特征进行卷积处理,得到第二音频特征。接下来,可以利用连接时序分类子模型处理第二音频特征,得到样本尖峰信息。将尖峰信息输入流式多级截断注意力子模型,以便确定与截断出的第一音频序列特征对应的样本尖峰子信息。可以理解,第一音频特征和第二音频特征均是对音频特征进行卷积后得到的。基于第一音频序列特征对应的时段,可以确定出与第一音频序列特征对应的样本尖峰子信息。
205.在本公开实施例中,第一卷积子模型可以包括多个堆叠的卷积层。例如,每个卷积层可以进行步长为2的卷积降采样。又例如,第一音频特征对应的帧率可以为音频特征的1/4。
206.在本公开实施例中,第二卷积子模型可以包括多个堆叠的卷积层。例如,每个卷积层可以进行步长为2的卷积降采样。又例如,第二音频特征对应的帧率可以为音频特征的1/4。
207.在本公开实施例中,第一卷积子模型和第二卷积子模型的结构是一致的。例如,第一卷积子模型的卷积层数量可以与第二卷积子模型的卷积层数量相同。通过本公开实施例,对音频特征进行卷积降采样,可以有效地从音频特征中获取深层的信息,并可以提升音频识别模型的性能。此外,第一卷积子模型和第二卷积子模型的结构一致,可以充分利用图形处理器进行并行训练,以便进一步提高音频识别模型的性能,以及可以提高模型训练效率。
208.接下来,可以利用流式多级截断注意力子模型的解码网络对第一音频序列特征进行至少一次解码,得到识别结果。例如,利用流式多级截断注意力子模型的解码网络对第1个第一音频序列特征进行至少一次解码,得到第1个识别结果。又例如,利用流式多级截断注意力子模型的解码网络对第2个第一音频序列特征进行至少一次解码,得到第2个识别结果。根据2个识别结果,可以得到样本文本数据。
209.在本公开实施例中,识别子标签用于指示与样本音频数据对应的文本数据。例如,识别子标签可以指示与样本音频数据对应的真实文本数据。在本公开实施例中,根据样本文本数据和样本音频数据的识别子标签,确定识别损失值。例如,根据样本文本数据和识别子标签,可以利用交叉熵损失函数确定识别损失值。
210.在本公开实施例中,根据识别损失值,训练音频识别模型可以包括:根据样本尖峰信息和样本音频数据的分类子标签,确定分类损失值。例如,分类子标签用于指示与样本音频数据对应的真实尖峰,真实尖峰与一个语义单元对应。例如,如上文所述,利用连接时序分类子模型处理第二音频特征,可以得到样本尖峰信息。根据样本尖峰信息和分类子标签,可以利用连接时序分类损失函数(connectionist temporal classification loss,ctc loss)确定分类损失值。
211.接下来,可以根据分类损失值和识别损失值,训练音频识别模型。例如,可以根据分类损失值调整连接时序分类子模型的参数,以训练音频识别模型的分类子模型。也可以
根据识别损失值调整流式多级截断注意力子模型的参数,以训练音频识别模型的识别子模型。在经过多次调整之后,可以得到经训练的音频识别模型,以便进行在线语音交互。
212.在一些实施例中,对第一音频特征进行截断可以包括:响应于确定第一音频特征对应的时长满足预设时长条件,利用识别子模型对第一音频特征进行截断。
213.可以理解,上文对本公开的音频识别模型的训练方法的原理进行了详细说明。下面将结合相关实施例对本公开的识别子模型进行详细说明。例如,识别子模型可以为流式多级截断注意力子模型。
214.在一些实施例中,至少一个第一音频序列特征为k个第一音频序列特征,第k个第一音频序列特征的识别结果包括i个识别子结果,第k个第一音频序列特征对应的样本尖峰的数量为i个。i为不小于1的整数,k为不小于1且小于k的整数,k为大于1的整数。下面将结合相关实施例进行详细说明。
215.流式多级截断注意力子模型可以包括编码网络和解码网络。编码网络可以包括第一前馈单元、p个编码单元、卷积单元和第二前馈单元。解码网络可以包括q个解码单元。q为不小于1的整数。p为不小于1的整数。
216.在本公开实施例中,利用识别子模型对第一音频序列特征执行至少一次解码操作可以包括:利用编码网络的第一前馈单元对第k个第一音频序列特征进行编码,得到第k个初始音频序列编码特征。利用编码网络的编码单元处理第k个初始音频序列编码特征,得到第k个目标音频序列编码特征。
217.例如,可以利用第一前馈单元对第1个第一音频序列特征进行编码,得到第1个初始音频序列编码特征。接下来,基于自注意力机制,编码单元可以对第1个初始音频序列编码特征进行编码,得到第1个目标音频序列编码特征。
218.接下来,可以利用卷积单元对第1个目标音频序列编码特征进行卷积,得到第1个卷积后音频序列编码特征。利用第二前馈单元处理第1个卷积后音频序列编码特征,得到第1个处理后音频序列编码特征。
219.又例如,从连接时序分类子模型输出的样本尖峰信息中,可以确定与第1个第一音频序列特征对应的样本尖峰子信息。该样本尖峰子信息可以指示第1个第一音频序列特征对应2个样本尖峰。
220.在本公开实施例中,利用识别子模型对第一音频序列特征执行至少一次解码操作可以包括:响应于确定第一音频序列特征满足识别起始条件,根据第一预设解码参数信息,利用解码网络对第一音频序列特征执行至少一次解码操作,得到起始解码参数信息和识别结果。
221.例如,识别起始条件可以为:第一音频序列特征为从音频特征截断出的第1个音频序列特征。可以利用各种方式确定第1个第一音频序列特征满足识别起始条件。可以根据第一预设解码参数信息,对第1个第一音频序列特征执行i次解码操作,得到起始解码参数信息和i个识别子结果。在一个示例中,第一预设解码参数信息可以包括解码单元的句首符。如上文所述,与第1个第一音频序列特征对应的样本尖峰子信息可以指示第1个第一音频序列特征对应2个样本尖峰。可以理解,对于第1个第一音频序列特征,i可以为2。
222.在本公开实施例中,利用识别子模型对第一音频序列特征执行至少一次解码操作可以包括:根据第k个第一音频序列特征的初始解码参数信息,利用解码网络对第k个第一
音频序列特征执行第1次解码操作,得到第k个第一音频序列特征的第1个解码参数信息和第k个第一音频序列特征的第1个识别子结果。例如,可以将第一预设解码参数信息作为第1个第一音频序列特征的初始解码参数信息。接下来,对第1个处理后音频序列编码特征执行第1次解码操作,可以得到第1个第一音频序列特征的第1个解码参数信息,也可以得到第1个第一音频序列特征的第1个识别子结果。在一个示例中,第1个识别子结果可以是1个汉字。例如,可以利用q个解码单元对第1个处理后音频序列编码特征执行q级解码,以实现1次解码操作。
223.在本公开实施例中,利用识别子模型对第一音频序列特征执行至少一次解码操作可以包括:根据第k个第一音频序列特征的第i-1个解码参数信息,利用解码网络对第k个第一音频序列特征执行第i次解码操作,得到第k个第一音频序列特征的第i个解码参数信息和第k个第一音频序列特征的第i个识别子结果。此外,在本公开实施例中,利用解码网络对第k个第一音频序列特征执行第i次解码操作包括:根据第k个第一音频序列特征的第i-1个解码参数信息,利用解码网络对第k个第一音频序列特征执行第i次解码操作,得到第k个第一音频序列特征的第i个解码参数信息和第k个第一音频序列特征的第i个识别子结果。
224.例如,i为大于1且不大于i的整数。又例如,如上文所述,对于第1个第一音频序列特征,i可以为2。在i=i=2的情况下,根据第1个第一音频序列特征的第1个解码参数信息,可以对第1个处理后音频序列编码特征执行第2次解码操作,可以得到第1个第一音频序列特征的第2个解码参数信息,也可以得到第1个第一音频序列特征的第2个识别子结果。在一个示例中,第2个识别子结果也可以是1个汉字。
225.在执行了2次解码操作之后,可以将第1个第一音频序列特征的第1个识别子结果和第2个识别子结果,作为第1个第一音频序列特征的识别结果。
226.可以理解,上文详细描述了对1个第一音频序列特征进行编码和解码的一些方式。在获得识别结果之后,流式多级截断注意力子模型还可以确定历史特征,以便基于历史注意力机制对第2个第一音频序列特征进行编码。下面将进行详细说明。
227.在本公开实施例中,利用识别子模型对第一音频序列特征执行至少一次解码操作包括:根据第k个第一音频序列特征的第1个识别子结果和第k个初始音频序列编码特征,得到第k个第一音频序列特征的第1个历史子特征。例如,根据第1个第一音频序列特征的第1个识别子结果以及第1个初始音频序列编码特征,可以利用编码单元进行编码,得到第1个第一音频序列特征的第1个历史子特征。
228.在本公开实施例中,利用识别子模型对第一音频序列特征执行至少一次解码操作还可以包括:根据第k个第一音频序列特征的第i个识别子结果和第k个初始音频序列编码特征,得到第k个第一音频序列特征的第i个历史子特征。例如,在i=i=2的情况下,根据第1个第一音频序列特征的第2个识别子结果以及第1个初始音频序列编码特征,利用编码单元进行编码,可以得到第1个第一音频序列特征的第2个历史子特征。
229.在本公开实施例中,利用识别子模型对第一音频序列特征执行至少一次解码操作还可以包括:在k=1的情况下,可以将第k个第一音频序列特征的i个历史子特征融合,得到与第k+1个第一音频序列特征相关的历史特征。例如,可以将第1个第一音频序列特征的第1个历史子特征和第1个第一音频序列特征的第2个历史子特征拼接,得到与第2个第一音频序列特征相关的历史特征。
230.此外,在本公开实施例中,利用解码网络对第k个第一音频序列特征进行至少一次解码操作还可以包括:在k小于k的情况下,将第k个第一音频序列特征的第i个解码参数信息作为第k+1个第一音频序列特征的初始解码参数信息。例如,可以将第1个第一音频序列特征的第2个解码参数信息作为第2个第一音频序列特征的初始解码参数信息。
231.可以理解,上文详细描述了对第1个第一音频序列特征进行编码和解码的一些方式以及基于历史注意力机制对第1个第一音频序列特征的识别结果进行处理的一些方式。下面将结合相关实施例详细描述对第2个第一音频序列特征进行编码和解码的一些方式。
232.例如,第1个第一音频序列特征和第2个第一音频序列特征对应的时长可以是一致的,均为预设时长。在一个示例中,第1个第一音频序列特征和第2个第一音频序列特征对应的时长均为1秒。在训练阶段,第1个第一音频序列特征和第2个第一音频序列特征可以是同时获得的。
233.可以利用第一前馈单元对第2个第一音频序列特征进行编码,得到第2个初始音频序列编码特征。
234.在本公开实施例中,利用编码网络的编码单元处理第k个初始音频序列编码特征,得到第k个目标音频序列编码特征可以包括:利用编码单元处理与第k个第一音频序列特征相关的历史特征以及第k个初始音频序列编码特征,得到第k个目标音频序列编码特征。例如,基于自注意力机制,编码单元可以处理第2个初始音频序列编码特征、第1个第一音频序列特征的第1个历史子特征h1和第1个第一音频序列特征的第2个历史子特征进行编码,得到第2个目标音频序列编码特征。
235.接下来,可以利用卷积单元对第2个目标音频序列编码特征进行卷积,得到第2个卷积后音频序列编码特征。利用第二前馈单元处理第2个卷积后音频序列编码特征,得到第2个处理后音频序列编码特征。
236.又例如,从连接时序分类子模型输出的样本尖峰信息中,可以确定与第2个第一音频序列特征对应的样本尖峰子信息。该样本尖峰子信息可以指示第2个第一音频序列特征对应1个样本尖峰。可以理解,对于第2个第一音频序列特征,i可以为1。
237.又例如,如上文所述,将第1个第一音频序列特征的第2个解码参数信息作为第2个第一音频序列特征的初始解码参数信息。接下来,对第2个处理后音频序列编码特征执行第1次解码操作,可以得到第2个第一音频序列特征的第1个解码参数信息,也可以得到第1个第一音频序列特征的第1个识别子结果(例如可以是1个汉字)。
238.在执行了1次解码操作之后,可以将第2个第一音频序列特征的第1个识别子结果,作为第2个第一音频序列特征的识别结果。
239.可以理解,上文详细描述了对第一音频序列特征进行编码和解码的一些方式。下面将详细说明确定第2个第一音频序列特征的i个历史子特征的一些方式。
240.例如,根据第2个第一音频序列特征的第1个识别子结果以及第2个初始音频序列编码特征,可以利用编码单元进行编码,得到第2个第一音频序列特征的第1个历史子特征。
241.在本公开实施例中,对第一音频序列特征执行至少一次解码操作还可以包括:在k=k的情况下,可以将第k个第一音频序列特征的i个历史子特征以及与第k个第一音频序列特征相关的历史特征融合,得到下一音频序列特征相关的历史特征。例如,可以将第1个第一音频序列特征的第1个历史子特征、第1个第一音频序列特征的第2个历史子特征以及第2
个第一音频序列特征的第1个历史子特征拼接,得到与下一个音频序列特征相关的历史特征。
242.可以理解,上文详细描述了对第2个第一音频序列特征进行编码和解码的一些方式以及基于历史注意力机制对第2个第一音频序列特征的识别结果进行处理的一些方式。下面将结合相关实施例详细描述对第二音频序列特征进行编码和解码的一些方式。
243.对第一音频特征进行截断,可以得到3个音频序列特征。这3个音频序列特征可以包括上述的第1个第一音频序列特征和第2个第一音频序列特征。对于最后一个音频序列特征,若确定该音频序列特征满足识别结束条件,可以确定从第一音频特征截断出第二音频序列特征。将最后一个音频序列特征作为第二音频序列特征。例如,识别结束条件可以为:音频序列特征为音频特征的最后一个音频序列特征。
244.第1个第一音频序列特征、第2个第一音频序列特征以及第二音频序列特征对应的时长可以是一致的。在一个示例中,第1个第一音频序列特征、第2个第一音频序列特征以及第二音频序列特征对应的时长均为1秒。在训练阶段,第1个第一音频序列特征、第2个第一音频序列特征以及第二音频序列特征可以是同时获得的。
245.可以利用第一前馈单元对第二音频序列特征进行编码,得到第3个初始音频序列编码特征。
246.例如,基于自注意力机制,编码单元可以根据第3个初始音频序列编码特征、第1个第一音频序列特征的第1个历史子特征、第1个第一音频序列特征的第2个历史子特征以及第2个第一音频序列特征的第1个历史子特征进行编码,得到第3个目标音频序列编码特征。
247.接下来,可以利用卷积单元对第3个目标音频序列编码特征进行卷积,得到第3个卷积后音频序列编码特征。利用第二前馈单元处理第3个卷积后音频序列编码特征,得到第3个处理后音频序列编码特征。
248.又例如,从连接时序分类子模型输出的样本尖峰信息中,可以确定与第二音频序列特征对应的样本尖峰子信息。该样本尖峰子信息可以指示第二音频序列特征对应1个样本尖峰。可以理解,对于第二音频序列特征,解码操作的次数不大于与第二音频序列特征对应的尖峰的数量。
249.在本公开实施例中,根据至少一个第一音频序列特征的识别结果,得到样本音频数据的样本文本数据可以包括:响应于确定从音频特征截断出第二音频序列特征,根据第二预设解码参数信息,利用解码网络对第二音频序列特征执行至少一次解码操作,得到第二音频序列特征的识别结果。可以利用各种方式确定第二音频序列特征满足识别结束条件。与第二音频序列特征对应的样本尖峰子信息可以指示第二音频序列特征对应1个样本尖峰。对第二音频序列特征执行解码操作的次数可以为1次。在一个示例中,第二预设解码参数信息可以包括解码单元的句尾符。可以理解,可以基于各种方式,确定音频序列特征是否满足识别起始条件或识别结束条件,本公开对此不做限制。
250.又例如,可以根据第二预设解码参数信息,对第3个处理后音频序列编码特征执行第1次解码操作,可以得到第二音频序列特征的第1个识别子结果(例如可以是1个汉字)。
251.在执行了1次解码操作之后,可以将第二音频序列特征的第1个识别子结果,作为第二音频序列特征的识别结果。
252.可以理解,上文详细描述了对第二音频序列特征进行编码和解码的一些方式。下
面将详细说明确定第二音频序列特征的历史子特征的一些方式。
253.例如,根据第二音频序列特征的第1个识别子结果以及第3个初始音频序列编码特征,可以利用编码单元进行编码,得到第二音频序列特征的第1个历史子特征。
254.例如,可以将第1个第一音频序列特征的第1个历史子特征、第1个第一音频序列特征的第2个历史子特征、第2个第一音频序列特征的第1个历史子特征、第二音频序列特征的第1个历史子特征融合,得到与提供样本音频数据的样本对象对应的历史特征。
255.可以理解,本实施例中,k可以为2。k的取值可以为1、2。
256.可以理解,在另一些实施例中,在从第一音频特征中截断出第二音频序列特征之后,可以不再基于历史注意力机制对第二音频序列特征的识别结果进行编码。
257.可以理解,上文详细描述了对第一音频序列特征和第二音频序列特征进行编码和解码的一些实施方式,对二者采用了不同的解码方式,可以进一步提高音频识别模型的识别准确率。在本公开另一些实施例中,也可以将第二音频序列特征作为一个第一音频特征。
258.可以理解,上文以k=2为示例,对本公开提供的流式多级截断注意力子模型进行了详细说明。但本公开不限于此,下面将结合相关实施例进行详细说明。
259.可以对样本音频数据的第一音频特征进行k次截断,得到k个第一音频序列特征。k个第一音频序列特征的长度是彼此一致的。k个第一音频序列特征的对应的时长也可以是彼此一致的,均为预设时长。
260.可以利用第一前馈单元对第k个第一音频序列特征进行编码,得到第k个初始音频序列编码特征。第1个第一音频序列特征对应的尖峰的数量为可以为2,第2个第一音频序列特征至第k-1个第一音频序列特征对应的尖峰的数量可以均为1。
261.例如,基于自注意力机制,编码单元可以根据第k个初始音频序列编码特征、第1个第一音频序列特征的第1个历史子特征、第1个第一音频序列特征的第2个历史子特征、
……
、第k-1个音频序列特征的第1个历史子特征进行编码,得到第k个目标音频序列编码特征。
262.接下来,可以利用卷积单元对第k个目标音频序列编码特征进行卷积,得到第k个卷积后音频序列编码特征。利用第二前馈单元处理第k个卷积后音频序列编码特征,得到第k个处理后音频序列编码特征。
263.又例如,从连接时序分类子模型输出的尖峰信息中,可以确定与第k个第一音频序列特征对应的样本尖峰子信息。该样本尖峰子信息可以指示第k个第一音频序列特征对应1个样本尖峰。可以理解,对于第k个第一音频序列特征,i可以为1。
264.又例如,可以将第k-1个第一音频序列特征的第i个解码参数信息作为第k个第一音频序列特征的初始解码参数信息。接下来,利用解码网络对第k个处理后音频序列编码特征执行第1次解码操作,可以得到第k个第一音频序列特征的第1个解码参数信息,也可以得到第1个第一音频序列特征的第1个识别子结果(例如可以是1个汉字)。
265.在执行了1次解码操作之后,可以将第k个第一音频序列特征的第1个识别子结果,作为第k个识别结果。
266.可以理解,上文详细描述了对k个第一音频序列特征进行编码和解码的一些方式。下面将详细说明确定第k个第一音频序列特征的i个历史子特征的一些方式。
267.例如,根据第k个第一音频序列特征的第1个识别子结果以及第k个初始音频序列
编码特征,可以利用编码单元进行编码,得到第k个第一音频序列特征的第1个历史子特征。
268.在本公开实施例中,对第一音频序列特征执行至少一次解码操作还可以包括:在k大于1且小于k的情况下,可以将第k个第一音频序列特征的i个历史子特征以及与第k个第一音频序列特征相关的历史特征融合,得到与第k+1个第一音频序列特征相关的历史特征。例如,在k大于1且小于k的情况下,可以将第1个第一音频序列特征的第1个历史子特征、第1个第一音频序列特征的第2个历史子特征、
……
、第k-1个第一音频序列特征的第1个历史子特征以及第k个第一音频序列特征的第1个历史子特征融合,得到与第k+1个第一音频序列特征相关的历史特征。
269.可以理解,可以利用p个编码单元对第k个初始音频序列编码特征进行p级编码,以得到第k个目标音频序列编码特征。
270.可以理解,可以利用q个解码单元对第k个处理后音频序列编码特征进行q级解码,以实现对第k个处理后音频序列编码特征的1次解码操作。
271.可以理解,在本公开实施例中,在k=k的情况下,可以将第k个第一音频序列特征的第i个解码参数信息作为第二音频序列特征的初始解码参数信息。可以对第二音频序列特征执行至少一次解码操作。例如,以对第二音频序列特征执行多次解码操作为示例,根据第k个第一音频序列特征的第i个解码参数信息,可以对第二音频序列特征执行第1次解码操作。接下来,在使用第二预设解码参数进行解码后,停止对该第二音频序列特征进行解码。通过本公开实施例,可以提高音频识别准确率。
272.在本公开实施例中,上述的编码网络可以是基于conformer模型建立的。上述的解码网络可以是基于transformer模型建立的。通过本公开实施例,基于conformer模型和transformer模型分别建立编码网络和解码网络,可以充分利用自相关建模方式适合大规模数据并行计算和训练的特点,有助于更进一步提高经训练的音频识别模型的识别准确率,也有助于更进一步地提高训练效率。
273.可以理解,上文对本公开的流式多级截断注意力子模型进行了详细描述。下面将结合相关实施例对获得音频特征的样本尖峰信息的一些实施方式进行详细描述。
274.可以理解,可以利用连接时序分类子模型获得音频特征的样本尖峰信息。如上文所述,连接时序分类子模型可以是多值的连接时序分类子模型,也可以是二值的连接时序分类子模型。
275.在一些实施例,可以利用多值的连接时序分类子模型获得音频特征样本尖峰信息。
276.在另一些实施例中,也可以利用二值的连接时序分类子模型获得音频特征的样本尖峰特征。
277.在一些实施例中,音频识别模型包括分类子模型。例如,分类子模型可以为二值的连接时序分类子模型。
278.在一些实施例中,根据音频特征的样本尖峰信息,得到与第一音频序列特征对应的样本尖峰子信息可以包括:将音频特征输入分类子模型,得到音频特征的样本尖峰信息。根据样本尖峰信息和第一音频序列特征,得到与第一音频序列特征对应的样本尖峰子信息。
279.在本公开实施例中,样本尖峰信息用于指示与音频特征对应的尖峰,样本尖峰与
一个预设值对应。例如,预设值可以是1。
280.在本公开实施例中,预设值用于指示样本尖峰与语义单元对应,不同样本尖峰对应的预设值是相同的。例如,语义单元可以是字、音素、音节或子词等等。又例如,不同尖峰对应的预设值均可以是1。
281.在本公开实施例中,二值的连接时序分类子模型可以确定第二音频特征的音频子特征是否对应一个语义单元。例如,以语义单元是一个汉字为示例,二值的连接时序分类子模型可以确定一个或几个音频子特征是否与一个完整的汉字对应。若确定一个或几个音频子特征与一个完整的汉字对应,则输出一个预设值(例如1),以生成一个样本尖峰。若确定一个或几个音频子特征未与一个完整的汉字对应,则输出另一预设值(例如0),不生成一个样本尖峰。可以训练二值的连接时序分类子模型,使得经训练的二值的连接时序分类子模型可以准确的确定一个或几个音频子特征是否与一个完整的语义单元对应。
282.通过本公开实施例,可以分别训练分类子模型和识别子模型,二值的连接时序分类子模型和流式多级截断注意力子模型的参数可以完全独立。针对不同语音交互场景,可以对二值的连接时序分类子模型可以进行专项优化,而不会影响音频识别模型整体的识别准确率。在线语音交互场景丰富多样,二值的连接时序分类子模型有助于实现音频识别模型的快速适配迭代。
283.在一些实施例中,可以音频特征包括m个音频子特征,音频子特征与一个时刻对应,m为不大于1的整数。例如,若将上述的目标音频数据作为一个样本音频数据,m可以不小于n。
284.在一些实施例中,连接时序分类子模型可以包括多个分类网络。分类网络可以包括时间掩码单元和卷积单元。
285.在一些实施例中,连接时序分类子模型可以包括多个分类网络。分类网络可以包括时间掩码单元和卷积单元。例如,分类网络可以包括第三前馈单元、时间掩码单元、卷积单元和第四前馈单元。
286.在一些实施例中,将音频特征输入分类子模型,得到音频特征的样本尖峰信息可以包括:将音频特征输入分类子模型的时间掩码单元,得到时间掩码特征。在本公开实施例中,时间掩码特征与第1个音频子特征至第n个音频子特征对应,n为大于1且小于m的整数。
287.例如,将第二音频特征输入第三前馈单元,得到处理后的第二音频特征。将处理后的第二音频特征与第二音频特征融合,得到第一融合特征。将第一融合特征输入时间掩码单元,得到时间掩码特征。时间掩码特征可以与第1个音频子特征至第n个音频子特征对应。第1个音频子特征可以与获取样本音频数据的起始时刻对应。第n个音频子特征可以与第1秒对应。可以理解,第二音频特征还包括与第1秒之后的多个时刻对应的音频子特征。在训练阶段,通过掩码处理得到的时间掩码特征与对应第n+1个时刻的音频子特征无关,进而使得在确定样本尖峰信息的过程中,可以使用第n个时刻之前的历史信息,以适应在线语音交互场景的需求。
288.例如,时间掩码单元可以是基于多头自注意力的时间掩码单元。
289.在一些实施例中,将音频特征输入分类子模型,得到音频特征的样本尖峰信息可以包括:根据时间掩码特征,得到与n个时刻对应的样本尖峰信息。在本公开实施例中,根据时间掩码特征,得到与n个时刻对应的样本尖峰信息可以包括:将时间掩码特征输入分类子
模型的卷积单元,得到卷积后时间掩码特征。根据卷积后时间掩码特征,得到与n个时刻对应的样本尖峰信息。
290.例如,可以将时间掩码特征和第一融合特征融合,得到第二融合特征。将第二融合特征输入卷积单元,得到卷积后时间掩码特征。将卷积后时间掩码特征和第二融合特征融合,得到第三融合特征。将第三融合特征输入第四前馈单元,得到处理后时间掩码特征。将处理后时间掩码特征与第三融合特征融合,得到第四融合特征。可以理解,可以利用一个全连接层处理第四融合特征,得到与n个时刻对应的样本尖峰信息。在一个示例中,若第n个音频子特征与第1秒对应,与n个时刻对应的样本尖峰信息可以作为与第1个第一音频序列特征对应的样本尖峰子信息。
291.可以理解,卷积单元可以是因果卷积单元。通过本公开实施例,基于时间掩码处理和因果卷积处理,可以同时关注音频特征的全局信息和局部信息,有助于提高分类网络的描述能力。
292.可以理解,可以同时利用多个样本音频数据及其标签训练音频识别模型。下面将进行详细说明。
293.在一些实施例中,样本音频数据可以为多个,音频特征可以为多个。例如,样本音频数据为2个,音频特征也可以为2个。
294.在一些实施例中,利用识别子模型对第一音频序列特征执行至少一次解码操作可以包括:利用识别子模型对分别来自于多个音频特征的第一音频序列特征并行地执行至少一次解码操作。
295.例如,以样本音频数据是多个为示例。在同时获取了多个样本音频数据的情况下,可以分别对多个样本音频数据的音频特征进行截断,得到多个样本音频数据的1个第一音频序列特征。根据分别与这些第一音频序列特征对应的样本尖峰子信息,可以分别确定对第一音频序列特征执行的解码操作次数。接下来,可以利用部署有识别子模型的图形处理器的多个运算单元,分别对这些第一音频序列特征执行至少一次解码操作。通过本公开实施例,可以利用多个样本音频数据并行地进行训练,有效地提高了训练效率。
296.在一些实施例中,第一音频序列特征包括j个音频序列子特征,j为大于1的整数。例如,以j=5为示例,第k-1个第一音频序列特征可以包括5个音频序列子特征。
297.在一些实施例中,第k个第一音频序列特征包括第k-1个第一音频序列特征的第j-h个音频序列子特征,h为不小于0的整数。例如,以j=5且h=0为示例。第k个第一音频序列特征可以包括第k-1个第一音频序列特征的第5个音频序列子特征。第k个第一音频序列特征还可以包括其他4个音频序列子特征。
298.可以理解,在相邻的两个第一音频序列特征之间存在重叠的情况下,与第k-1个第一音频序列特征对应的样本尖峰子信息,可以是与第k-1个第一音频序列特征的第1个音频序列子特征至第j-h个音频序列子特征对应的样本尖峰子信息。与第k个第一音频序列特征对应的样本尖峰子信息,可以是与第k个第一音频序列特征的第1个音频序列子特征至第j-h个音频序列子特征对应的样本尖峰子信息。
299.在一些实施例中,利用识别子模型对第一音频序列特征执行至少一次解码操作可以包括:利用识别子模型分别对至少一个第一音频序列特征并行地执行至少一次解码操作。例如,可以利用部署有识别子模型的图形处理器的不同运算单元,分别对至少一个第一
音频序列特征并行地执行至少一次解码操作。
300.图8是根据本公开的一个实施例的音频识别装置的框图。
301.如图8所示,该装置800可以包括第一截断模块810、第一获得模块820、第一解码模块830和第二获得模块840。
302.第一截断模块810,用于对目标音频数据的音频特征进行截断,得到至少一个第一音频序列特征。例如,至少一个第一音频序列特征对应的时长为预设时长。
303.第一获得模块820,用于根据音频特征的尖峰信息,得到与第一音频序列特征对应的尖峰子信息。例如,尖峰子信息用于指示第一音频序列特征对应的尖峰。
304.第一解码模块830,用于对第一音频序列特征执行至少一次解码操作,得到第一音频序列特征的识别结果。例如,解码操作的执行次数与第一音频序列特征对应的尖峰的数量一致。
305.第二获得模块840,用于根据至少一个第一音频序列特征的识别结果,得到目标音频数据的目标文本数据。
306.在一些实施例中,至少一个第一音频序列特征为k个第一音频序列特征,第k个第一音频序列特征的识别结果包括i个识别子结果,第k个第一音频序列特征对应的尖峰的数量为i个,i为不小于1的整数,k为不小于1且小于k的整数,k为大于1的整数。
307.在一些实施例中,第一解码模块包括:第一解码子模块,用于根据第k个第一音频序列特征的第i-1个解码参数信息,对第k个第一音频序列特征执行第i次解码操作,得到第k个第一音频序列特征的第i个解码参数信息和第k个第一音频序列特征的第i个识别子结果。例如,i为大于1且不大于i的整数。
308.在一些实施例中,第一解码模块包括:第二解码子模块,用于根据第k个第一音频序列特征的初始解码参数信息,对第k个第一音频序列特征执行第1次解码操作,得到第k个第一音频序列特征的第1个解码参数信息和第k个第一音频序列特征的第1个识别子结果。
309.在一些实施例中,i为大于1的整数,第一解码子模块包括:第一解码单元,用于根据第k个第一音频序列特征的第i-1个解码参数信息,对第k个第一音频序列特征执行第i次解码操作,得到第k个第一音频序列特征的第i个解码参数信息和第k个第一音频序列特征的第i个识别子结果。
310.在一些实施例中,第一解码单元还用于:在k小于k的情况下,将第k个第一音频序列特征的第i个解码参数信息作为第k+1个第一音频序列特征的初始解码参数信息。
311.在一些实施例中,第一解码模块包括:第三解码子模块,用于响应于确定第一音频序列特征满足识别起始条件,根据第一预设解码参数信息,对第一音频序列特征执行至少一次解码操作,得到起始解码参数信息和第一音频序列特征的识别结果。
312.在一些实施例中,第二获得模块包括:第四解码子模块,用于响应于从音频特征截断出第二音频序列特征,根据第二预设解码参数信息,对第二音频序列特征执行至少一次解码操作,得到第二音频序列特征的识别结果,其中,第二音频序列特征满足识别结束条件;以及根据第二音频特征的识别结果和至少一个第一音频特征的识别结果,得到目标文本数据。
313.在一些实施例中,第一解码模块包括:第一编码子模块,用于对第k个第一音频序列特征进行编码,得到第k个初始音频序列编码特征;第一获得子模块,用于根据第k个初始
音频序列编码特征,得到第k个目标音频序列编码特征;以及第五解码子模块,用于根据与第k个第一音频序列特征对应的尖峰子信息,对第k个目标音频序列编码特征执行至少一次解码操作,得到识别结果。
314.在一些实施例中,第一获得子模块包括:第一获得单元,用于根据与第k个第一音频序列特征相关的历史特征和第k个初始音频序列编码特征,得到第k个目标音频序列编码特征。
315.在一些实施例中,第一解码模块包括:第二获得子模块,用于根据第k个第一音频序列特征的第1个识别子结果和第k个初始音频序列编码特征,得到第k个第一音频序列特征的第1个历史子特征;第三获得子模块,用于根据第k个第一音频序列特征的第i个识别子结果和第k个初始音频序列编码特征,得到第k个第一音频序列特征的第i个历史子特征,其中,i为大于1且不大于i的整数;以及第一融合子模块,用于将第k个第一音频序列特征的i个历史子特征以及与第k个第一音频序列特征相关的历史特征融合,得到与第k+1个第一音频序列特征相关的历史特征。
316.在一些实施例中,第一获得模块包括:第四获得子模块,用于根据音频特征,得到音频特征的尖峰信息,其中,尖峰信息用于指示与音频特征对应的尖峰,尖峰与一个预设值对应;以及第五获得子模块,用于根据尖峰信息和第一音频序列特征,得到与第一音频序列特征对应的尖峰子信息。
317.在一些实施例中,预设值用于指示尖峰与语义单元对应,不同尖峰对应的预设值是相同的。
318.在一些实施例中,音频特征包括n个音频子特征,音频子特征与一个时刻对应,n为不小于1的整数。第四获得子模块包括:第一时间掩码处理单元,用于对音频特征进行时间掩码处理,得到时间掩码特征,其中,时间掩码特征与第1个音频子特征至第n个音频子特征对应,n为大于1且小于n的整数;以及第二获得单元,用于根据时间掩码特征,得到与n个时刻对应的尖峰信息。
319.在一些实施例中,第二获得单元包括:第一卷积子单元,用于对时间掩码特征进行卷积,得到卷积后时间掩码特征;以及第一获得子单元,用于根据卷积后时间掩码特征,得到与n个时刻对应的尖峰信息。
320.在一些实施例中,第一截断模块包括:第一卷积子模块,用于对音频特征进行卷积,得到第一音频特征;以及第一截断子模块,用于对第一音频特征进行截断。
321.在一些实施例中,对第一截断子模块还用于响应于确定第一音频特征对应的时长满足预设时长条件,对第一音频特征进行截断。
322.在一些实施例中,第一获得模块包括:第二卷积子模块,用于对音频特征进行卷积,得到第二音频特征;以及第六获得子模块,用于根据第二音频特征的尖峰信息,得到与第一音频序列特征对应的尖峰子信息。
323.在一些实施例中,目标音频数据为多个,音频特征为多个。第一解码模块包括:第一并行解码子模块,用于对分别来自于多个音频特征的第一音频序列特征并行地执行至少一次解码操作。
324.在一些实施例中,第一音频序列特征包括j个音频序列子特征,j为大于1的整数;第k个第一音频序列特征包括第k-1个第一音频序列特征的第j-h个音频序列子特征,h为不
小于0的整数。
325.图9是根据本公开的另一个实施例的音频识别模型的训练装置的框图。
326.在本公开实施例中,音频识别模型包括识别子模型。
327.如图9所示,该装置900可以包括第二截断模块910、第三获得模块920、第二解码模块930、第四获得模块940、确定模块950和训练模块960。
328.第二截断模块910,用于利用识别子模型对样本音频数据的音频特征进行截断,得到至少一个第一音频序列特征。例如,至少一个第一音频序列特征对应的时长为预设时长;第三获得模块920,用于根据音频特征的样本尖峰信息,得到与第一音频序列特征对应的样本尖峰子信息。例如,样本尖峰子信息用于指示第一音频序列特征对应的样本尖峰。
329.第二解码模块930,用于利用识别子模型对第一音频序列特征执行至少一次解码操作,得到第一音频序列特征的识别结果。例如,解码操作的执行次数与第一音频序列特征对应的样本尖峰的数量一致。
330.第四获得模块940,用于根据至少一个识别结果,得到样本音频数据的样本文本数据。
331.确定模块950,用于根据样本文本数据和样本音频数据的识别子标签,确定识别损失值。
332.训练模块960,用于根据识别损失值,训练音频识别模型。
333.在一些实施例中,至少一个第一音频序列特征为k个第一音频序列特征,第k个第一音频序列特征的识别结果包括i个识别子结果,第k个第一音频序列特征对应的样本尖峰的数量为i个,i为不小于1的整数,k为于1且小于k的整数,k为大于1的整数。
334.在一些实施例中,识别子模型包括解码网络,第二解码模块包括:第六解码子模块,用于根据第k个第一音频序列特征的第i-1个解码参数信息,利用解码网络对第k个第一音频序列特征执行第i次解码操作,得到第k个第一音频序列特征的第i个解码参数信息和第k个第一音频序列特征的第i个识别子结果。例如,i为大于1且不大于i的整数。
335.在一些实施例中,利第二解码模块包括:第七解码子模块,用于根据第k个第一音频序列特征的初始解码参数信息,利用解码网络对第k个第一音频序列特征执行第1次解码操作,得到第k个第一音频序列特征的第1个解码参数信息和第k个第一音频序列特征的第1个识别子结果。
336.在一些实施例中,i为大于1的整数,第六解码子模块包括:第二解码单元,用于根据第k个第一音频序列特征的第i-1个解码参数信息,利用解码网络对第k个第一音频序列特征执行第i次解码操作,得到第k个第一音频序列特征的第i个解码参数信息和第k个第一音频序列特征的第i个识别子结果。
337.在一些实施例中,第二解码单元还用于:在k小于k的情况下,将第k个第一音频序列特征的第i个解码参数信息作为第k+1个第一音频序列特征的初始解码参数信息。
338.在一些实施例中,识别子模型包括解码网络,第二解码模块包括:第八解码子模块,用于响应于确定第一音频序列特征满足识别起始条件,根据第一预设解码参数信息,利用解码网络对第一音频序列特征执行至少一次解码操作,得到起始解码参数信息和第一音频序列特征的识别结果。
339.在一些实施例中,识别子模型包括解码网络,第四获得模块包括:第九解码子模块,用于响应于从音频特征截断出第二音频序列特征,根据第二预设解码参数信息,利用解码网络对第二音频序列特征执行至少一次解码操作,得到第二音频序列特征的识别结果,其中,第二音频序列特征满足识别结束条件;以及根据第二音频特征的识别结果和至少一个第一音频特征的识别结果,得到样本文本数据。
340.在一些实施例中,识别子模型包括编码网络和解码网络,第二解码模块包括:第二编码子模块,用于利用编码网络的第一前馈单元对第k个第一音频序列特征进行编码,得到第k个初始音频序列编码特征;第七获得子模块,用于利用编码网络的编码单元处理第k个初始音频序列编码特征,得到第k个目标音频序列编码特征;以及第十解码子模块,用于根据与第k个第一音频序列特征对应的样本尖峰子信息,利用解码网络对第k个目标音频序列编码特征执行至少一次解码操作,得到识别结果。
341.在一些实施例中,第七获得子模块包括:第三获得单元,用于利用编码单元处理与第k个第一音频序列特征相关的历史特征以及第k个初始音频序列编码特征,得到第k个目标音频序列编码特征。
342.在一些实施例中,第二解码模块包括:第八获得子模块,用于根据第k个第一音频序列特征的第1个识别子结果和第k个初始音频序列编码特征,得到第k个第一音频序列特征的第1个历史子特征;第九获得子模块,用于根据第k个第一音频序列特征的第i个识别子结果和第k个初始音频序列编码特征,得到第k个第一音频序列特征的第i个历史子特征,其中,i为大于1且不大于i的整数;以及第二融合子模块,用于将第k个第一音频序列特征的i个历史子特征以及与第k个第一音频序列特征相关的历史特征融合,得到与第k+1个第一音频序列特征相关的历史特征。
343.在一些实施例中,音频识别模型包括分类子模型,第三获得模块包括:第十获得子模块,用于将音频特征输入分类子模型,得到音频特征的样本尖峰信息,其中,样本尖峰信息用于指示与音频特征对应的样本尖峰,样本尖峰与一个预设值对应;以及第十一获得子模块,用于根据样本尖峰信息和第一音频序列特征,得到与第一音频序列特征对应的样本尖峰子信息。
344.在一些实施例中,预设值用于指示样本尖峰与语义单元对应,不同样本尖峰对应的预设值是相同的。
345.在一些实施例中,音频特征包括m个音频子特征,音频子特征与一个时刻对应,m为不小于1的整数。第十获得子模块包括:第二时间掩码处理单元,用于将音频特征输入分类子模型的时间掩码单元,得到时间掩码特征,其中,时间掩码特征与第1个音频子特征至第n个音频子特征对应,n为大于1且小于m的整数;以及第四获得单元,用于根据时间掩码特征,得到与n个时刻对应的样本尖峰信息。
346.在一些实施例中,第四获得单元包括:第二卷积子单元,用于将时间掩码特征输入分类子模型的卷积单元,得到卷积后时间掩码特征;以及第二获得子单元,用于根据卷积后时间掩码特征,得到与n个时刻对应的样本尖峰信息。
347.在一些实施例中,第二截断模块包括:第三卷积子模块,用于将音频特征输入音频识别模型的第一卷积子模型,得到第一音频特征;以及第二截断子模块,用于利用识别子模型对第一音频特征进行截断。
348.在一些实施例中,第二截断子模块还用于:响应于确定第一音频特征对应的时长满足预设时长条件,利用识别子模型对第一音频特征进行截断。
349.在一些实施例中,第三获得模块包括:第四卷积子模块,用于将音频特征输入音频识别模型的第二卷积子模型,得到第二音频特征;以及第十一获得子模块,用于根据第二音频特征的样本尖峰信息,得到与第一音频序列特征对应的样本尖峰子信息。
350.在一些实施例中,样本音频数据为多个,音频特征为多个。第二解码模块包括:第二并行解码子模块,用于利用多个识别子模型对分别来自于多个音频特征的第一音频序列特征并行地执行至少一次解码操作。
351.在一些实施例中,第一音频序列特征包括j个音频序列子特征,j为大于1的整数;第k个第一音频序列特征包括第k-1个第一音频序列特征的第j-h个音频序列子特征,h为不小于0的整数。
352.在一些实施例中,第二解码模块包括:第三并行解码子模块,用于利用至少一个识别子模型分别对至少一个第一音频序列特征并行地执行至少一次解码操作。
353.在一些实施例中,识别子标签用于指示与样本音频数据对应的文本数据。
354.在一些实施例中,训练模块包括:确定子模块,用于根据样本尖峰信息和样本音频数据的分类子标签,确定分类损失值,其中,分类子标签用于指示与样本音频数据对应的真实尖峰,真实尖峰与一个语义单元对应;以及训练子模块,用于根据分类损失值和识别损失值,训练音频识别模型。
355.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
356.图10示出了可以用来实施本公开的实施例的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
357.如图10所示,设备1000包括计算单元1001,其可以根据存储在只读存储器(rom)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(ram)1003中的计算机程序,来执行各种适当的动作和处理。在ram 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、rom 1002以及ram 1003通过总线1004彼此相连。输入/输出(i/o)接口1005也连接至总线1004。
358.设备1000中的多个部件连接至i/o接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
359.计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和
处理,例如音频识别方法和/或音频识别模型的训练方法。例如,在一些实施例中,音频识别方法和/或音频识别模型的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由rom 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到ram 1003并由计算单元1001执行时,可以执行上文描述的音频识别方法和/或音频识别模型的训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行音频识别方法和/或音频识别模型的训练方法。
360.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
361.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
362.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
363.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)显示器或者lcd(液晶显示器));以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
364.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数
字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
365.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
366.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
367.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1