流式语音识别及模型训练的方法、装置及设备与流程

专利2023-10-27  99



1.本技术涉及计算机技术,尤其涉及一种流式语音识别及模型训练的方法、装置及设备。


背景技术:

2.语音识别技术就是让机器通过识别和理解过程,把语音信号转换为相应文本或命令的技术,其中,端到端语音识别受到了学术界和工业界的广泛关注,并且在大部分语音识别任务上展现出相比于传统混合建模方案更优的性能。
3.语音识别可以采用流式语音识别模型,也可以采用非流式语音识别模型。在处理语音流的过程中,流式语音识别模型支持实时返回识别结果,而非流式语音识别模型需要处理完整句后返回识别结果。目前,在很多领域,如线上的语音交互、线上语音识别服务等领域,通过采用端到端的流式语音识别模型来提高语音识别的效率。
4.目前,端到端的流式语音识别通常基于自回归解码器(auto-regressive decoder)将语音特征转换为文本,需要基于已识别出的字符依次识别还未被识别的字符,识别每个字符都需要调用一次语音识别模型,计算效率低,导致语音识别的效率低。


技术实现要素:

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.图1为本技术提供的流式语音识别的方法所适用的一种系统架构示例图;
34.图2为本技术一示例实施例提供的流式语音识别的方法流程图;
35.图3为本技术一示例实施例提供的流式语音识别模型的框架图;
36.图4为本技术一示例实施例提供的流式语音识别模型训练的方法流程图;
37.图5为本技术一示例实施例提供的流式语音识别模型训练的系统框架图;
38.图6为本技术一示例实施例提供的流式语音识别的装置的结构示意图;
39.图7为本技术一示例实施例提供的流式语音识别模型训练的装置的结构示意图;
40.图8为本技术另一示例实施例提供的流式语音识别模型训练的装置的结构示意图;
41.图9为本技术一示例实施例提供的电子设备的结构示意图。
42.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
43.这里将详细地对示例实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
44.首先对本技术所涉及的名词进行解释:
45.自动语音识别技术(automatic speech recognition,简称asr),是一种将语音转换为文本的技术。
46.端到端的语音识别(end-to-end asr)模型:是指将输入的声学特征序列直接映射为字的文本信息的模型。
47.语音识别可以采用流式语音识别模型,也可以采用非流式语音识别模型。在处理语音流的过程中,流式语音识别模型支持实时返回识别结果,而非流式语音识别模型需要处理完整句后返回识别结果。在实际应用中的很多实时语音识别的场景下,如线上的语音交互、线上语音识别服务等领域,通过采用端到端的流式语音识别的方案可以提高语音识别的效率。
48.目前,端到端的流式语音识别通常基于自回归解码器(auto-regressive decoder,也即ar decoder)将语音特征转换为文本,需要基于已识别出的字符依次识别还未被识别的字符,识别每个字符都需要调用一次语音识别模型,计算效率低,而且容易出现
重复出字、噪声出字等情况,并且对于特定场景下的个性化定制信息的识别效果不佳。
49.本技术提供一种基于非自回归解码器(non-auto-regressive decoder,也即nar decoder)的端到端的流式语音识别模型,并提供一种流式语音识别模型训练的方法,基于历史输入的完整句的样本语音,获取样本语音的语音声学特征及标注的目标文本,目标文本是样本语音对应的文本内容,通过流式语音识别模型的分块编码器对样本语音的语音声学特征进行分块,生成多个分块,并对每一分块进行编码生成每一分块的声学表示;通过流式语音识别模型的预测器根据每一分块的声学表示,确定每一分块包含的字的数量及每个字的时间戳和声学语义特征;通过流式语音识别模型的分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的第一文本信息,并对每一分块对应的第一文本信息进行整合,得到样本语音对应的第一文本,将第一文本作为文本识别结果;根据文本识别结果和样本语音对应的目标文本,更新流式语音识别模型的模型参数,实现流式语音识别模型的训练,得到训练好的流式语音识别模型。
50.本技术还提供一种流式语音识别的方法,在线上语义识别时,通过实时获取当前输入的语音片段,并提取语音片段的语音声学特征;利用训练好的流式语音识别模型,对语音片段的语音声学特征进行分块处理,生成至少一个分块,并对每一分块进行编码生成每一分块的声学表示,根据每一分块的声学表示,确定每一分块包含的字的数量及每个字的时间戳和声学语义特征;根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的文本信息,利用非自回归解码器一次解码得到每一分块对应的文本信息,通过对每一分块对应的文本信息进行拼接,得到语音片段对应的文本信息,能够提高流式语音识别的效率。
51.示例性地,以实时语音交互场景为例,本技术提供的流式语音识别的方法,可以适用于图1所示的系统架构。如图1所示,该系统架构包括:终端和服务器。
52.其中,该服务器可以是提供语音识别服务的服务器、语音交互系统的服务器等,具体可以是部署在云端的服务器集群。该服务器上存储有基于非自回归解码器的端到端的流式语音识别模型,通过服务器中预设运算逻辑,服务器利用该流式语音识别模型对实时输入的语音片段进行语音识别,得到识别结果,并可以向终端反馈识别结果。另外,服务器可以存储有训练所需的训练数据,基于训练数据实现基于非自回归解码器的端到端的流式语音识别模型的模型训练,得到训练好的流式语音识别模型。
53.终端具体可为具有网络通信功能、运算功能以及信息显示功能的硬件设备,其包括但不限于智能手机、平板电脑、台式电脑、物联网设备等。
54.通过与服务器的通信交互,当用户在使用终端输入语音流的过程中,服务器可以实时获取当前输入的语音片段,并提取语音片段的语音声学特征;利用训练好的流式语音识别模型,对语音片段的语音声学特征进行分块处理,生成至少一个分块,并对每一分块进行编码生成每一分块的声学表示;根据每一分块的声学表示,确定每一分块包含的字的数量及每个字的时间戳和声学语义特征;根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的文本信息,并对每一分块对应的文本信息进行拼接,得到语音片段对应的文本信息,并根据预设规则将识别结果输出至终端。
55.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
56.图2为本技术一示例实施例提供的流式语音识别的方法流程图。本实施例的执行主体可以是上述提及的服务器,如图2所示,该方法具体步骤如下:
57.步骤s201、实时获取当前输入的语音片段,并提取语音片段的语音声学特征。
58.本实施例中,根据预先设置的语音片段大小,采集实时输入的语音流得到当前输入的语音片段,并提取语音片段的语音声学特征。
59.示例性地,语音片段的语音声学特征可以是梅尔频率倒谱系数(mel-frequency cepstralcoefficients,简称mfcc)、线性预测倒谱系数(linear predictive cepstralcoefficient,简称lpcc)、短时平均能量、振幅平均变化率,fbank特征,等等,此处不做具体限定。
60.在提取到语音片段的语音声学特征之后,将语音片段的语音声学特征输入训练好的流式语音识别模型进行语音识别,通过流式语音识别模型实现步骤s202-s204的处理流程,得到文本识别结果,即语音片段对应的文本信息。流式语音识别模型可以通过后续的流式语音模型训练的方法实施例提供的方案训练得到。
61.示例性地,图3为本技术一示例实施例提供的流式语音识别模型的框架图。如图3所示,训练好的流式语音识别模型包括:分块编码器、预测器和分块注意解码器。其中,分块编码器(chunk encoder)用于对语音片段的语音声学特征进行分块,生成多个分块,并对每一分块进行编码生成每一分块的声学表示。预测器(predictor)用于根据每一分块的声学表示,确定每一分块包含的字的数量及每个字的时间戳和声学语义特征。分块注意解码器(scama decoder)用于根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的文本信息,并对每一分块对应的文本信息进行整合,得到样本语音对应的文本识别结果。
62.步骤s202、对语音片段的语音声学特征进行分块处理,生成至少一个分块,并对每一分块进行编码生成每一分块的声学表示。
63.该步骤中,语音片段的语音声学特征输入分块编码器,通过分块编码器对样本语音的语音声学特征进行分块,生成多个分块,并对每一分块进行编码生成每一分块的声学表示。每一分块的声学表示输入预测器。
64.示例性地,分块编码器可以是一个多层的神经网络,分块编码器可以采用如下任一种神经网络:深层前馈序列记忆神经网络(deep-feedforward sequential memory networks,简称dfsmn)、卷积神经网络(convolutional neural network,简称cnn)、长短时记忆网络(long short-term memory,简称lstm)、双向长短时记忆网络(bi-directional long short-term memory,简称blstm)、transformer。
65.具体地,根据预设分块大小,对语音片段的语音声学特征进行分块处理,将语音片段的语音声学特征分成至少一个分块。
66.其中,预设分块大小可以表示为时延,预设分块大小越小,流式语音识别的时延越小,但识别的准确性相对越低,预设分块大小越大,流式语音识别的准确率越高,但流式语音识别的时延越大。预设分块大小可以设置为3帧、5帧、10帧、15帧等,可以在对流式语音识
别模型进行训练时根据实际应用场景的需要进行设置,此处不做具体限定。
67.预先设置的语音片段大小可以根据预设分块大小并结合具体应用场景进行设置,例如语音片段大小可以等于预设分块大小,这样,实时采集的语音片段即为一个分块,可以实时地进行流式语音识别,提高语音识别的效率和实时性。
68.另外,预先设置的语音片段大小也可以大于预设分块大小,此处不做具体限定。当预先设置的语音片段大于预设分块大小时,将语音片段的语音声学特征进行带有重复信息的分块,也即每一分块带有历史和未来的信息。
69.进一步地,在对语音片段的语音声学特征进行分块处理,生成至少一个分块之后,对每一分块进行动态编码,以将每一分块的语音声学特征转换为一个新的具有区分性的高层表示,得到每一分块的声学表示,每一分块的声学表示也称为分块记忆。
70.步骤s203、根据每一分块的声学表示,确定每一分块包含的字的数量及每个字的时间戳和声学语义特征。
71.在得到每一分块的声学表示之后,每一分块的声学表示输入预测器,通过预测器(predictor)根据每一分块的声学表示,预测每一分块包含的字的数量及每个字的时间戳和声学语义特征。
72.其中,一个字是可以是汉语中的一个文字、或者英语中分词结果中的一个token或sub-token。
73.示例性地,预测器可以是一个2层的神经网络,神经网络可以选择采用如下任意一种:深度神经网络(deep neural networks,简称dnn)、cnn、lstm。
74.步骤s204、根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的文本信息,并对每一分块对应的文本信息进行拼接,得到语音片段对应的文本信息。
75.该步骤中,每一分块包含的字的数量及每个字的时间戳和声学语义特征输入分块注意解码器,通过分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的文本信息;再对每一分块对应的文本信息进行拼接,得到语音片段对应的文本信息。
76.示例性地,分块注意解码器是一个多层的神经网络,可以采用如下任一种神经网络:dfsmn、cnn、blstm、transformer。
77.本实施例中,通过对当前输入的语音片段的语音声学特征进行分块处理,生成至少一个分块,对每一分块进行编码生成每一分块的声学表示,并预测出每一分块包含的字的数量及每个字的时间戳和声学语义特征,根据各个分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部的注意力计算,从而解码出各个分块对应的文本信息,能够利用分块包含的字的数量及每个字的时间戳和声学语义特征来指导块内局部的注意力学习,实现基于非自回归解码器的流式语音识别,通过一次调用流式语音识别模型即可实现流式语音识别,提高了流式语音识别的效率。另外还可以避免重复出字、噪声出字等情况,并且对于特定场景下的个性化定制信息的识别效果较佳。
78.一种可选实施例中,预测器用于确定分块中包含的字的数量和每个字的帧边界,进一步地,基于每个字的帧边界计算得到每个字的时间戳,以及从每一分块的声学表示中提取每个字对应的帧向量,并根据每个字对应的帧向量确定每个字的声学语义特征。
79.示例性地,在获得每一分块的声学表示后,将每一分块的声学表示输入到预测器中,预测器可以确定每一分块的声学表示对应的预测序列。该预测序列用于指示每一分块的声学特征内包含的多帧各自是否对应于字,从而,根据该预测序列中对应于字的帧数可以确定每一分块中包含的字的数量,并可以确定每个字的帧边界。
80.其中,预测器用于预测分块中包含的字的数量和每个字的帧边界的预测网络可以通过如下方式训练得到:获取若干分块样本,标注每个分块样本中包含的字的数量以及每个字的帧边界,通过这个标注信息来训练预测网络。这样训练好的预测网络便具有预测分块中包含的字的数量及每个字的帧边界的功能。
81.可选地,根据分块包含的每个字对应的声学特征帧,采用连续整合发放(continuous integrate-and-fire,cif)模型、或基于注意力机制的连接时序分类(connectionist temporal classification,ctc))模型对来平均每个字对应的多个声学特征帧,得到每个字的声学语义特征。
82.一种可选实施例中,通过分块编码器确定的每一分块的声学表示可以不输入分块注意解码器。上述步骤s204中,通过分块注意解码器根据每一分块包含的字的数量及每个字的时间戳,对每一分块包含的字的声学语义特征进行块内局部自注意力计算,确定每一分块对应的文本信息,通过利用每一分块包含的字的数量及每个字的时间戳来指导对各个分块进行块内的局部自注意力计算,实现非自回归解码器的功能,通过非自回归解码器能够同时对分块中包含的多个字进行解码,从而获取流式语音识别的识别结果,通过一次调用分块注意解码器即可识别出分块的完整文本信息,能够提高流式语音识别的效率;另外还可以避免重复出字、噪声出字等情况,并且对于特定场景下的个性化定制信息的识别效果较佳。
83.一种可选实施例中,分块编码器确定的每一分块的声学表示可以输入分块注意解码器。上述步骤s204中,通过分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征,对每一分块的声学表示进行块内局部注意力计算,确定每一分块对应的文本信息。
84.具体地,假设分块m中包含多个字,通过预测器确定每一分块包含的字的数量及每个字的时间戳和声学语义特征输入分块注意解码器,通过分块编码器确定的每一分块的声学表示也输入分块注意解码器。分块注意解码器已知分块内每一个字的声学语义特征。通过将前一个字yt-1的声学语义特征与分块的声学表示(用cm表示)进行相关性计算,可以得到分块的声学表示中各元素对应的权重。其中,分块的声学表示cm中各元素对应于分块m中包含的各帧各自对应的编码结果。基于计算出的权重对分块的声学表示cm中的各元素进行加权求和,对加权求和结果解码可以得到下一个字yt。
85.由于分块注意解码器已知每一个字的声学语义特征,因此分块注意解码器可以同时对每一分块进行解码,并可以同时解码出每一分块包含的每一个字,相较于自回归解码器依次迭代来解码每一个字,可以提高流式语音识别的效率,另外还可以避免重复出字、噪声出字等情况,并且对于特定场景下的个性化定制信息的识别效果较佳。
86.图4为本技术一示例实施例提供的流式语音识别模型训练的方法流程图。本实施例的执行主体可以是上述提及的服务器,如图4所示,该方法具体步骤如下:
87.步骤s401、获取样本语音及样本语音的语音声学特征和目标文本。
88.在进行流式语音识别模型训练之前,首先基于历史语音数据获取训练数据。训练数据包括样本语音、样本语音的语音声学特征和目标文本。
89.其中,样本语音通常为一次语音输入的完整语句,样本语音的语音声学特征是提取的样本语音的声学特征,具体实现方式与上述步骤s201中提取语音片段的语音声学特征所采用的实现方式一致。样本语音的目标文本是指标注的样本语音的准确的识别结果。
90.示例性地,样本语音的输入时长大概在10秒~2分钟,在某些情况下也可能会有输入时长小于10秒或输入时长大于2分钟的样本语音。
91.由于流式语音识别时采集的语音片段的大小通常远小于一次完整输入的样本语音长度,本实施例中,为了训练得到能够基于较短输入时长的语音片段进行准确语音识别的流式语音识别模型,在进行模型训练时,可以根据采集语音片段的间隔时长来设置预设分块大小,流式语音识别模型能够基于预设分块大小对样本语音进行分块,并通过块内局部注意力计算分别对各个分块进行解码,得到每个分块对应的文本信息,从而使得训练好的流式语音识别模型可以针对较短输入时长的语音片段,准确地识别出语音片段对应的文本信息。
92.其中,预设分块大小通常在[300毫秒,1分钟]这一区间内取值,预设分块大小可以根据实际应用场景的需要进行设置。
[0093]
在获取到训练数据之后,基于训练数据通过如下步骤s402-s405实现流式语音识别模型的训练,得到训练好的流式语音识别模型。
[0094]
步骤s402、通过流式语音识别模型的分块编码器对样本语音的语音声学特征进行分块,生成多个分块,并对每一分块进行编码生成每一分块的声学表示。
[0095]
在对流式语音识别模型进行模型训练时,将样本语音的语音声学特征输入流式语音识别模型的分块编码器,通过分块编码器对样本语音的语音声学特征进行分块,生成多个分块,并对每一分块进行编码生成每一分块的声学表示。每一分块的声学表示输入预测器。
[0096]
示例性地,分块编码器可以是一个多层的神经网络,分块编码器可以采用如下任一种神经网络:dfsmn、cnn、lstm、blstm、transformer。
[0097]
具体地,分块编码器根据预设分块大小,对语音片段的语音声学特征进行分块处理,将语音片段的语音声学特征分成至少一个分块。
[0098]
示例性地,预设分块大小可以表示为时延,预设分块大小越小,流式语音识别的时延越小,但识别的准确性相对越低,预设分块大小越大,流式语音识别的准确率越高,但流式语音识别的时延越大。预设分块大小可以设置为3帧、5帧、10帧、15帧等,可以在对流式语音识别模型进行训练时根据实际应用场景的需要进行设置,此处不做具体限定。
[0099]
进一步地,在对样本语音的语音声学特征进行分块处理,生成至少一个分块之后,对每一分块进行动态编码,以将每一分块的语音声学特征转换为一个新的具有区分性的高层表示,得到每一分块的声学表示,每一分块的声学表示也称为分块记忆。
[0100]
步骤s403、通过流式语音识别模型的预测器根据每一分块的声学表示,确定每一分块包含的字的数量及每个字的时间戳和声学语义特征。
[0101]
其中,一个字是可以是汉语中的一个文字、或者英语中分词结果中的一个token或sub-token。
[0102]
示例性地,预测器可以是一个2层的神经网络,神经网络可以选择采用如下任意一种:深度神经网络(deep neural networks,简称dnn)、cnn、lstm。
[0103]
步骤s404、通过流式语音识别模型的分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的第一文本信息,并对每一分块对应的第一文本信息进行整合,得到样本语音对应的第一文本,将第一文本作为文本识别结果。
[0104]
本实施例中,分块注意解码器为非自回归解码器,利用每一分块包含的字的数量及每个字的时间戳,来指导块内局部注意力学习,对声学语义特征进行块内局部注意力计算,得到每一分块对应的第一文本信息。进一步地,对每一分块对应的第一文本信息进行整合,得到样本语音对应的第一文本,将第一文本作为文本识别结果。
[0105]
示例性地,分块注意解码器是一个多层的神经网络,可以采用如下任一种神经网络:dfsmn、cnn、blstm、transformer。
[0106]
步骤s405、根据文本识别结果和样本语音对应的目标文本,更新流式语音识别模型的模型参数。
[0107]
在通过流式语音识别模型识别出样本语音对应的文本识别结果之后,基于样本语音对应的文本识别结果与样本语音对应的目标文本之间的差异,计算损失值,并基于损失值更新流式语音识别模型的模型参数。
[0108]
示例性地,可以根据分块注意解码器输出的文本识别结果和样本语音对应的目标文本,计算交叉熵(cross entropy,简称ce)损失,根据交叉熵损失更新流式语音识别模型的模型参数。
[0109]
示例性地,还可以根据分块注意解码器输出的文本识别结果和样本语音对应的目标文本,可以计算交叉熵损失和最小词错误率(minimum word error rate,简称mwer)损失,根据交叉熵损失和最小词错误率损失更新流式语音识别模型的模型参数。
[0110]
当满足收敛条件时,获取较优的一组模型参数作为流式语音识别模型的模型参数,得到训练好的流式语音识别模型。
[0111]
本实施例在进行流式语音识别模型训练过程中,通过分块编码器对样本语音的语音声学特征进行分块,生成多个分块,并对每一分块进行编码生成每一分块的声学表示;通过预测器根据每一分块的声学表示,确定每一分块包含的字的数量及每个字的时间戳和声学语义特征;通过分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的第一文本信息,并对每一分块对应的第一文本信息进行整合,得到样本语音对应的第一文本,将第一文本作为文本识别结果;根据文本识别结果和样本语音对应的目标文本,更新流式语音识别模型的模型参数,训练好的流式语音识别模型中采用非自回归解码器,能够利用分块包含的字的数量及每个字的时间戳和声学语义特征来指导块内局部的注意力学习,能够同时对分块中包含的多个字进行解码,通过一次调用分块注意解码器即可识别出分块包含的完整文本信息,提高了流式语音识别的效率。
[0112]
图5为本技术一示例实施例提供的流式语音识别模型训练的系统框架图。一种可选实施例中,流式语音识别模型包括分块编码器、预测器、分块注意解码器,如图5所示,在进行流式语音识别模型的训练过程中,可以增加采样器,采样器是一种无参数的计算模块,
用于根据分块注意解码器输出的第一文本与目标文本的编辑距离,从目标文本的文本表示中采样至少一个字的文本表示,并使用采样结果替换至少一个字的声学语义特征,得到更新后的声学语义特征,更新后的声学语义特征包含正确的上下文信息,将更新后的声学语义特征输入分块注意解码器。
[0113]
本实施例中,在步骤s404之后,分块注意解码器将第一遍解码得到的第一文本输入采样器。采样器根据分块注意解码器输出的第一文本与目标文本的编辑距离,从目标文本的文本表示中采样至少一个字的文本表示,并使用采样结果替换至少一个字的声学语义特征,得到更新后的声学语义特征,更新后的声学语义特征包含正确的上下文信息,以增强预测器输出的声学语义特征的上下文信息,将更新后的声学语义特征输入分块注意解码器,基于包含正确的上下文信息的声学语义特征解码得到的文本识别结果更加准确。
[0114]
进一步地,通过分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和更新后的声学语义特征进行块内局部注意力计算,确定每一分块对应的第二文本信息,并对每一分块对应的第二文本信息进行整合,得到样本语音对应的第二文本,将第二文本作为文本识别结果。
[0115]
通过根据更新后的包含正确上下文信息的声学语义特征进行第二遍解码,得到新的文本识别结果(即样本语音对应的第二文本),能够提高文本识别结果的精准度。
[0116]
进一步地,本实施例的方案中,在步骤s405中,根据分块注意解码器第二遍输出的文本识别结果(第二文本)和样本语音对应的目标文本确定第一损失,根据第一损失更新流式语音识别模型的模型参数,能够提高训练好的流式语音识别模型的语音识别的精准度。
[0117]
示例性地,根据分块注意解码器第二遍输出的文本识别结果和样本语音对应的目标文本,可以计算交叉熵(cross entropy,简称ce),作为第一损失。
[0118]
示例性地,还可以根据分块注意解码器第二遍输出的文本识别结果和样本语音对应的目标文本,计算交叉熵和最小词错误率,根据计算交叉熵和最小词错误率确定第一损失。
[0119]
可选地,上述步骤s405中,可以根据分块注意解码器第二遍输出的文本识别结果(第二文本)和样本语音对应的目标文本确定第一损失,并根据每一分块包含的字的数量之和与目标文本的总字数确定第二损失;根据第一损失和第二损失,更新流式语音识别模型的模型参数,通过增加计算第二损失来更新模型参数,可以提高训练好的流式语音识别模型的预测器预测分块包含的字的数量以及每一字的时间戳的精准度。
[0120]
示例性地,根据分块注意解码器第二遍输出的文本识别结果和样本语音对应的目标文本,可以计算交叉熵(cross entropy,简称ce),作为第一损失。
[0121]
示例性地,还可以根据分块注意解码器第二遍输出的文本识别结果和样本语音对应的目标文本,计算交叉熵和最小词错误率,根据计算交叉熵和最小词错误率确定第一损失。
[0122]
示例性地,根据每一分块包含的字的数量之和与目标文本的总字数,可以计算平均绝对误差(mean absolute error,简称mae),作为第二损失。
[0123]
可选地,可以对第一损失和第二损失进行加权求和确定综合损失,根据综合损失更新模型参数。
[0124]
本实施例中,流式语音识别模型采用非自回归解码器结构,在训练时解码器迭代2
次,但是模型训练完以后,在实际应用解码时,只需要单次解码,可以实现实时的流式语音识别。
[0125]
一种可选实施例中,分块编码器确定的每一分块的声学表示可以不输入分块注意解码器。在实现通过流式语音识别模型的分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的文本信息时,可以通过流式语音识别模型的分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征,对每一分块包含的字的声学语义特征进行块内局部自注意力计算,确定每一分块对应的文本信息,通过利用每一分块包含的字的数量及每个字的时间戳来指导对各个分块进行块内的局部自注意力计算,实现非自回归解码器的功能,能够同时对分块中包含的多个字进行解码,从而获取流式语音识别的识别结果,通过一次调用分块注意解码器即可识别出分块的完整文本信息,能够提高流式语音识别的效率;另外还可以避免重复出字、噪声出字等情况,并且对于特定场景下的个性化定制信息的识别效果较佳。
[0126]
示例性地,分块注意解码器进行第一遍解码时,通过分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征,对每一分块包含的字的声学语义特征进行块内局部自注意力计算,确定每一分块对应的文本信息。
[0127]
示例性地,分块注意解码器进行第二遍解码时,通过分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和更新后的声学语义特征,对每一分块包含的字的更新后的声学语义特征进行块内局部自注意力计算,确定每一分块对应的文本信息。
[0128]
一种可选实施例中,分块编码器确定的每一分块的声学表示可以输入分块注意解码器(如图5中由分块编码器指向分块注意解码器的虚线箭头所示)。在实现通过流式语音识别模型的分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的文本信息时,可以通过流式语音识别模型的分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征,对每一分块的声学表示进行块内局部注意力计算,确定每一分块对应的文本信息。
[0129]
具体地,假设分块m中包含多个字,通过预测器确定每一分块包含的字的数量及每个字的时间戳和声学语义特征输入分块注意解码器,通过分块编码器确定的每一分块的声学表示也输入分块注意解码器。分块注意解码器已知分块内每一个字的声学语义特征。通过将前一个字yt-1的声学语义特征与分块的声学表示(用cm表示)进行相关性计算,可以得到分块的声学表示中各元素对应的权重。其中,分块的声学表示cm中各元素对应于分块m中包含的各帧各自对应的编码结果。基于计算出的权重对分块的声学表示cm中的各元素进行加权求和,对加权求和结果解码可以得到下一个字yt。
[0130]
由于分块注意解码器已知每一个字的声学语义特征,因此分块注意解码器可以同时对每一分块进行解码,并可以同时解码出每一分块包含的每一个字,相较于自回归解码器依次迭代来解码每一个字,可以提高流式语音识别的效率,另外还可以避免重复出字、噪声出字等情况,并且对于特定场景下的个性化定制信息的识别效果较佳。
[0131]
示例性地,分块注意解码器进行第一遍解码时,通过分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征,对每一分块的声学表示进行块内局部注意力计算,确定每一分块对应的第一文本信息。
[0132]
示例性地,分块注意解码器进行第二遍解码时,通过分块注意解码器根据每一分
块包含的字的数量及每个字的时间戳和更新后的声学语义特征,对每一分块的声学表示进行块内局部注意力计算,确定每一分块对应的第二文本信息。
[0133]
图6为本技术一示例实施例提供的流式语音识别的装置的结构示意图,本实施例提供的装置应用于上述提及的服务器,如图6所示,流式语音识别的装置60包括:预处理模块61、分块编码模块62、预测模块63和分块注意解码模块64。
[0134]
具体地,预处理模块61用于实时获取当前输入的语音片段,并提取语音片段的语音声学特征。
[0135]
分块编码模块62用于对语音片段的语音声学特征进行分块处理,生成至少一个分块,并对每一分块进行编码生成每一分块的声学表示。
[0136]
预测模块63用于根据每一分块的声学表示,确定每一分块包含的字的数量及每个字的时间戳和声学语义特征。
[0137]
分块注意解码模块64用于根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的文本信息,并对每一分块对应的文本信息进行拼接,得到语音片段对应的文本信息。
[0138]
本实施例提供的装置具体可以用于执行上述图2对应方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
[0139]
一种可选实施例中,在实现根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的文本信息时,预测模块63具体用于:
[0140]
根据每一分块包含的字的数量及每个字的时间戳和声学语义特征,对每一分块的声学表示进行块内局部注意力计算,确定每一分块对应的文本信息;或者,根据每一分块包含的字的数量及每个字的时间戳,对每一分块包含的字的声学语义特征进行块内局部自注意力计算,确定每一分块对应的文本信息。
[0141]
本实施例提供的装置具体可以用于执行上述任一流式语音识别的方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
[0142]
图7为本技术一示例实施例提供的流式语音识别模型训练的装置的结构示意图,本实施例提供的装置应用于上述提及的服务器,如图7所示,流式语音识别模型训练的装置70包括:分块编码模块71、预测模块72、分块注意解码模块73和参数更新模块74。
[0143]
具体地,分块编码模块71用于通过流式语音识别模型的分块编码器对样本语音的语音声学特征进行分块,生成多个分块,并对每一分块进行编码生成每一分块的声学表示。
[0144]
预测模块72用于通过流式语音识别模型的预测器根据每一分块的声学表示,确定每一分块包含的字的数量及每个字的时间戳和声学语义特征。
[0145]
分块注意解码模块73用于通过流式语音识别模型的分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的第一文本信息,并对每一分块对应的第一文本信息进行整合,得到样本语音对应的第一文本,将第一文本作为文本识别结果。
[0146]
参数更新模块74用于根据文本识别结果和样本语音对应的目标文本,更新流式语音识别模型的模型参数。
[0147]
本实施例提供的装置具体可以用于执行上述图4对应方法实施例所提供的方案,
具体功能和所能实现的技术效果此处不再赘述。
[0148]
一种可选实施例中,如图8所示,流式语音识别模型训练的装置70还包括:采样模块75。
[0149]
采样模块75用于:根据第一文本与目标文本的编辑距离,从目标文本的文本表示中采样至少一个字的文本表示,并使用采样结果替换至少一个字的声学语义特征,得到更新后的声学语义特征。
[0150]
分块注意解码模块73还用于:通过分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和更新后的声学语义特征进行块内局部注意力计算,确定每一分块对应的第二文本信息,并对每一分块对应的第二文本信息进行整合,得到样本语音对应的第二文本,将第二文本作为文本识别结果。
[0151]
一种可选实施例中,在实现通过流式语音识别模型的分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的文本信息时,分块注意解码模块73还用于:
[0152]
通过流式语音识别模型的分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征,对每一分块的声学表示进行块内局部注意力计算,确定每一分块对应的文本信息;或者,通过流式语音识别模型的分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征,对每一分块包含的字的声学语义特征进行块内局部自注意力计算,确定每一分块对应的文本信息。
[0153]
一种可选实施例中,在实现根据文本识别结果和样本语音对应的目标文本,更新流式语音识别模型的模型参数时,参数更新模块74还用于:
[0154]
根据文本识别结果和样本语音对应的目标文本确定第一损失,并根据每一分块包含的字的数量之和与目标文本的总字数确定第二损失;根据第一损失和第二损失,更新流式语音识别模型的模型参数。
[0155]
一种可选实施例中,在实现根据文本识别结果和样本语音对应的目标文本,更新流式语音识别模型的模型参数时,参数更新模块74还用于:
[0156]
根据文本识别结果和样本语音对应的目标文本确定第一损失,根据第一损失更新流式语音识别模型的模型参数。
[0157]
本实施例提供的装置具体可以用于执行上述任一流式语音识别模型训练的方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
[0158]
图9为本技术一示例实施例提供的电子设备的结构示意图。如图9所示,该电子设备90包括:处理器901,以及与处理器901通信连接的存储器902,存储器902存储计算机执行指令。
[0159]
其中,处理器执行存储器存储的计算机执行指令,以实现上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
[0160]
本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
[0161]
本技术实施例还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取
计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
[0162]
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。“多个”的含义是两个以上,除非另有明确具体的限定。
[0163]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。
[0164]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。

技术特征:
1.一种流式语音识别的方法,其特征在于,包括:实时获取当前输入的语音片段,并提取所述语音片段的语音声学特征;对所述语音片段的语音声学特征进行分块处理,生成至少一个分块,并对每一分块进行编码生成每一分块的声学表示;根据每一分块的声学表示,确定每一分块包含的字的数量及每个字的时间戳和声学语义特征;根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的文本信息,并对每一分块对应的文本信息进行拼接,得到所述语音片段对应的文本信息。2.根据权利要求1所述的方法,其特征在于,所述根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的文本信息,包括:根据每一分块包含的字的数量及每个字的时间戳和声学语义特征,对每一分块的声学表示进行块内局部注意力计算,确定每一分块对应的文本信息;或者,根据每一分块包含的字的数量及每个字的时间戳,对每一分块包含的字的声学语义特征进行块内局部自注意力计算,确定每一分块对应的文本信息。3.一种流式语音识别模型训练的方法,其特征在于,包括:通过流式语音识别模型的分块编码器对样本语音的语音声学特征进行分块,生成多个分块,并对每一分块进行编码生成每一分块的声学表示;通过所述流式语音识别模型的预测器根据每一分块的声学表示,确定每一分块包含的字的数量及每个字的时间戳和声学语义特征;通过所述流式语音识别模型的分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的第一文本信息,并对每一分块对应的第一文本信息进行整合,得到所述样本语音对应的第一文本,将所述第一文本作为文本识别结果;根据所述文本识别结果和所述样本语音对应的目标文本,更新所述流式语音识别模型的模型参数。4.根据权利要求3所述的方法,其特征在于,所述根据所述文本识别结果和所述目标文本,更新所述流式语音识别模型的模型参数之前,还包括:根据所述第一文本与所述目标文本的编辑距离,从所述目标文本的文本表示中采样至少一个字的文本表示,并使用采样结果替换所述至少一个字的声学语义特征,得到更新后的声学语义特征;通过所述分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和更新后的声学语义特征进行块内局部注意力计算,确定每一分块对应的第二文本信息,并对每一分块对应的第二文本信息进行整合,得到所述样本语音对应的第二文本,将所述第二文本作为文本识别结果。5.根据权利要求3或4所述的方法,其特征在于,通过所述流式语音识别模型的分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部
注意力计算,确定每一分块对应的文本信息,包括:通过所述流式语音识别模型的分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征,对每一分块的声学表示进行块内局部注意力计算,确定每一分块对应的文本信息;或者,通过所述流式语音识别模型的分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征,对每一分块包含的字的声学语义特征进行块内局部自注意力计算,确定每一分块对应的文本信息。6.根据权利要求3或4所述的方法,其特征在于,所述根据所述文本识别结果和所述样本语音对应的目标文本,更新所述流式语音识别模型的模型参数,包括:根据所述文本识别结果和所述样本语音对应的目标文本确定第一损失,并根据每一分块包含的字的数量之和与所述目标文本的总字数确定第二损失;根据所述第一损失和所述第二损失,更新所述流式语音识别模型的模型参数。7.根据权利要求3或4所述的方法,其特征在于,所述根据所述文本识别结果和所述样本语音对应的目标文本,更新所述流式语音识别模型的模型参数,包括:根据所述文本识别结果和所述样本语音对应的目标文本确定第一损失,根据所述第一损失更新所述流式语音识别模型的模型参数。8.一种流式语音识别的装置,其特征在于,包括:预处理模块,用于实时获取当前输入的语音片段,并提取所述语音片段的语音声学特征;分块编码模块,用于对所述语音片段的语音声学特征进行分块处理,生成至少一个分块,并对每一分块进行编码生成每一分块的声学表示;预测模块,用于根据每一分块的声学表示,确定每一分块包含的字的数量及每个字的时间戳和声学语义特征;分块注意解码模块,用于根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的文本信息,并对每一分块对应的文本信息进行拼接,得到所述语音片段对应的文本信息。9.一种流式语音识别模型训练的装置,其特征在于,包括:分块编码模块,用于通过流式语音识别模型的分块编码器对样本语音的语音声学特征进行分块,生成多个分块,并对每一分块进行编码生成每一分块的声学表示;预测模块,用于通过所述流式语音识别模型的预测器根据每一分块的声学表示,确定每一分块包含的字的数量及每个字的时间戳和声学语义特征;分块注意解码模块,用于通过所述流式语音识别模型的分块注意解码器根据每一分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部注意力计算,确定每一分块对应的第一文本信息,并对每一分块对应的第一文本信息进行整合,得到所述样本语音对应的第一文本,将所述第一文本作为文本识别结果;参数更新模块,用于根据所述文本识别结果和所述样本语音对应的目标文本,更新所述流式语音识别模型的模型参数。10.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-7中任一项所述的方法。11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-7中任一项所述的方法。12.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法。

技术总结
本申请提供一种流式语音识别及模型训练的方法、装置及设备。本申请的方法,通过基于非自回归解码器的流式语音识别模型,对当前输入的语音片段的语音声学特征进行分块,生成至少一个分块,对每一分块进行编码生成每一分块的声学表示,并预测出每一分块包含的字的数量及每个字的时间戳和声学语义特征,根据各个分块包含的字的数量及每个字的时间戳和声学语义特征进行块内局部的注意力计算,从而解码出各个分块对应的文本信息,能够利用分块包含的字的数量及每个字的时间戳和声学语义特征来指导块内局部的注意力学习,实现基于非自回归解码器的流式语音识别,通过一次调用流式语音识别模型即可实现流式语音识别,提高了流式语音识别的效率。识别的效率。识别的效率。


技术研发人员:高志付 张仕良 王嘉明
受保护的技术使用者:阿里巴巴达摩院(杭州)科技有限公司
技术研发日:2022.07.22
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-5983.html

最新回复(0)