1.本发明涉及语音信号处理技术领域,尤其涉及一种语音识别方法、装置、电子设备和存储介质。
背景技术:2.通常语音识别模型从随机初始化开始训练,随着训练样本的输入,语音识别模型根据样本的预测情况寻找梯度下降方向,丰富的数据为语音识别模型提供充分的指导,多轮迭代后得到较优的模型参数。
3.然而,在语音识别模型需要执行低资源语种的语音识别任务时,可供训练的标注数据量很少,从随机初始化开始训练容易造成对少量数据的过拟合。因此模型预训练对于提升低资源语种的语音识别性能十分重要。
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.图1是现有技术基于预训练语音模型的结构示意图;
34.图2是本发明实施例提供的语音识别方法的流程示意图;
35.图3是本发明实施例提供的语音识别模型的结构示意图;
36.图4是本发明实施例提供的语音识别模型数据处理流程示意图;
37.图5是本发明实施例提供的语音识别模型训练步骤的流程示意图;
38.图6是本发明提供的语音识别装置的结构示意图;
39.图7是本发明提供的电子设备的结构示意图。
具体实施方式
40.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.目前针对低资源语种的语音识别方法,主要集中在利用无标注语音数据预训练语音模型。具体在预训练语音模型时,可以通过设计自监督训练信号来避免对标注信息的依赖,使得语音模型能够在自监督训练过程中学习特征提取,保证语音模型能够拥有较优的初始化参数。
42.然而,语音识别通常需要语音模型和语言模型两部分实现。而在预训练阶段,则通常只针对语音模型进行单独的预训练,考虑到语言模型由于依赖语音模型的输出作为输入而难以单独预训练,目前应用的方案多为如下三种:一种是语言模型部分不做预训练,如图1(a)所示,但这一做法导致语言模型部分大量参数随机初始化,对低资源语种的少量标注数据来说难以训练;另一种是舍弃语言模型,直接接入ctc(connectionist temporal classification)损失,如图1(b)所示,然而缺少单独的语言模型,即使语音模型内部也能学习上下文信息,在一定程度上替代语言模型的作用,也无法将大量文本数据利用起来得到一个更稳健的语言模型;再一种是直接应用不参与训练的外接语言模型(external lm),虽然可以利用文本数据预训练,但仅起到重打分(rescore)或浅融合(shallow fusion)等十分有限的作用。
43.为了同时将无标注语音数据和无标注文本数据利用起来,实现充分的模型预训练,可以考虑预训练语音模型结合预训练语言模型的结构。对于这种结构中语言模型难以与语音模型结合的问题,即语音模型输出与语言模型输入不匹配的问题,仍然是语音识别领域亟待解决的问题。
44.图2是本发明提供的语音识别方法的流程示意图,如图2所示,本发明提供的语音
识别方法可以应用在常见的各种语音识别场景,例如语音输入、语音搜索、语音翻译、智能家居等。该方法包括如下步骤:
45.步骤210,确定待识别的语音数据。
46.此处,待识别的语音数据可以通过收音设备预先采集得到的,也可以是实时录制得到的。实时录制可以是语音录制,也可以是视频录制,本发明实施例对此不做具体限定。
47.步骤220,基于语音识别模型,对语音数据进行语音识别,将语音识别所得的语音语义特征转换为文本语义特征,并基于文本语义特征生成语音识别文本;其中,语音识别模型是基于预训练语音模型和预训练语言模型训练得到的,语音语义特征属于预训练语音模型的特征空间,文本语义特征属于预训练语言模型的特征空间。
48.其中,预训练语音模型即经过预训练的语音模型,预训练语音模型可以采用wav2vec模型、wav2vec 2.0模型或者充分预训练的非自回归解码式的端到端语音识别(fully
‑
pretrained
‑
nonautorregressive,fully
‑
pretrained
‑
nar)模型,对语音模型进行预训练时采用的预训练样本可以是无标注语音数据,语音数据的来源可以包含对话、演讲、电话、朗读等等场景。
49.同样地,预训练语言模型即经过预训练的语言模型,语言模型可以采用transformer decoder模型或者其他模型,对语言模型进行预训练时采用的预训练样本可以是无标注文本数据,文本数据的来源可以是书籍报刊、网络评论等。
50.预训练语音模型和预训练语言模型,都已经经过预训练,本身都具备较好的模型参数。因此在预训练语音模型和预训练语言模型的基础上构建语音识别模型,仅需利用少量有文本标注的语音数据作为训练样本,对语音识别模型参数进行微调即可达到较好效果。
51.需要说明的是,上述用于预训练语音模型的大量无标注语音数据、用于预训练语言模型的大量文本数据和用于训练语音识别模型的少量有文本标注的语音数据可以为同一个语种,即有相同的字典库。此处的语音数据可以是未经特征提取的原始语音数据,例如wav、flac、mp3等格式。
52.考虑到基于预训练语音模型和预训练语言模型的语音识别模型中,存在预训练语音模型的输出与预训练语音模型的输入不匹配,导致预训练语音模型和预训练语言模型难以结合的问题,本发明实施例在语音识别模型内部,预训练语音模型的输出和预训练语言模型的输入之间设置了专门的特征转换流程,使得经预训练语音模型作语音识别所得的语音语义特征,能够通过特征转换成为可适应预训练语言模型输入要求的文本语义特征。
53.此处的特征转换,是依赖于预训练语音模型和预训练语言模型分别对应的不同特征空间而言的。其中,预训练语音模型输出的语音语义特征,属于预训练语音模型的特征空间,而作为预训练语言模型输入的文本语义特征,则应当属于预训练语言模型的特征空间。考虑到预训练语音模型和预训练语言模型分别对应的特征空间在表征相同语义时,在特征长度和特征含义上均存在区别,因此需要通过特征转换的方式,将属于预训练语音模型的特征空间的语音语义特征,映射到属于预训练语言模型的特征空间中,从而得到特征长度和特征含义皆适应预训练语言模型的特征空间的文本语义特征,从而保证语音识别模型中的预训练语音模型和预训练语言模型能够紧密结合。
54.在步骤220,语音识别模型的应用过程中,可以首先将待识别的语音数据输入至语
音识别模型的预训练语音模型,经过预训练语音模型的多层特征提取后,得到语音语义特征,此处的语音语义特征属于预训练语音模型的特征空间。
55.考虑到文本语义特征属于预训练语言模型的特征空间,语音语义特征和文本语义特征在特征长度和特征含义上均不相同,语音语义特征不能直接作为输入数据输入至预训练语言模型中。在此基础上,语音识别模型将得到的语音语义特征转换为文本语义特征,此处的转换可以包括特征长度和特征含义的转换,然后,将转换得到的文本语义特征输入至语音识别模型的预训练语言模型,经过预训练语言模型生成语音识别文本。
56.对应在步骤220执行之前,还需要基于预训练语音模型和预训练语言模型训练语音识别模型,具体的训练步骤可以是:构建初始语音识别模型,初始语音识别模型中,预训练语音模型、转换模块和预训练语言模型顺序连接。将有文本标注的语音数据作为训练样本,对初始语音识别模型进行训练,从而得到语音识别模型。进一步地,在对初始语音识别模型进行训练的过程中,可以是对预训练语音模型、转换模块和预训练语言模型一并进行参数调整,也可以是固定预训练语音模型和预训练语言模型的参数不变,只对转换模块进行参数调整,还可以是先固定预训练语音模型和预训练语言模型的参数不变,只对转换模块进行参数调整,再对预训练语音模型、转换模块和预训练语言模型一并进行参数调整,本发明实施例对此不作具体限定。
57.本发明实施例提供的方法,应用预训练语音模型和预训练语言模型构建语音识别模型,对于低资源语种,仅需少量有标注语音数据进行微调即可达到较好效果,减少了对高成本有标注数据的依赖,在同等有标注数据量下提高了低资源语种语音识别能力和准确性。此外,在语音识别模型内部,通过将语音语义特征转换为文本语义特征,解决了预训练语音模型的输出与预训练语言模型的输入不匹配的问题,实现了预训练语音模型与预训练语言模型紧密结合,保障了基于预训练语音模型和预训练语言模型构建语音识别模型的可实现性。
58.基于上述实施例,图3为本发明提供的语音识别模型结构示意图,如图3所示,该语音识别模型包含预训练语音模型、转换模块和预训练语言模型三个主要部分。其中,转换模块分别与预训练语音模型和预训练语言模型连接,将二者结合起来。
59.相应地,步骤220中,所述将语音识别所得的语音语义特征转换为文本语义特征,包括:
60.基于语音识别模型中的转换模块,对语音语义特征进行长度转换和特征空间转换,得到文本语义特征,文本语义特征的长度是对语音语义特征进行文本长度预测得到的。
61.具体地,在预训练语音模型部分,输入数据为一段语音数据,其语音序列长度是已知的,输出数据为经过预训练语音模型语音识别得到的语音语义特征,语音语义特征的长度是基于语音序列长度确定的,与最终识别所得的文本长度无关。而在预训练语言模型部分,输入数据通常为一段文本的语义特征,此处的语义特征的长度是基于文本长度确定的。显然语音识别模型中,语音语义特征的长度与预训练语言模型所期望输入的与文本长度有关的特征长度,并不适配。
62.考虑到这一问题,在转换模块中,需要对语音语义特征进行长度转换。
63.此处的长度转换是指将语音语义特征的长度转换为文本语义特征的长度,由于文本语义特征的长度是未知的,可以通过对语音语义特征进行文本长度预测得到。长度转换
具体可以采用下采样映射的方式,根据文本语义特征的长度,对语音语义特征进行采样,具体进行采样时,可以根据下采样的位置索引可得到映射后的特征序列,使得到的特征序列长度与预测得到的文本语义特征长度相同。此处的下采样可以采用均匀采样或者随机采样,本发明实施例对此不作具体限定。
64.此外,考虑到语音语义特征属于预训练语音模型的特征空间,文本语义特征属于预训练语言模型的特征空间,两者可能存在语义表征不一致的问题,因此,在转换模块中,还需要对语音语义特征进行特征空间转换。
65.此处的特征空间转换是指将语音语义特征映射到预训练语言模型的特征空间,具体可以通过预先训练得到的预训练语音模型的特征空间和预训练语言模型的特征空间之间的映射关系实现。
66.需要说明的是,转换模块涉及到长度转换和特征空间转换,本发明实施例不对此两者的执行顺序作具体限定,转换模块可以先对语音语义特征进行长度转换,对长度转换后的语音语义特征进行特征空间转换,从而得到文本语义特征;转换模块也可以先对语音语义特征进行特征空间转换,并对特征空间转换后的语音语义特征进行长度转换,从而得到文本语义特征。
67.本发明实施例提供的方法,通过转换模块对语音语义特征进行长度转换和特征空间转换,得到文本语义特征,保证了预训练语音模型和预训练语言模型结合的可实现性。
68.基于上述实施例,图4为本发明提供的语音识别模型数据处理流程示意图,如图4所示,在语音识别模型的训练过程中,一个样本的数据处理过程如下所示:
69.首先进行样本数据的预处理,一个样本的语音序列和文本序列可以用如下方式表示:
70.语音序列x=[x1,x2,
…
,x
k
,
…
x
k
]
[0071]
文本序列y=[y0,y1,y2,
…
,y
t
,
…
y
t
]
[0072]
其中x
k
表示语音序列x中第k个采样点,语音采样频率可以为16khz,k为采样点个数;y
t
表示文本标注序列y中第t个字符,t+1为该样本总文本标注的总字符数目,其中y0为句子开始符“<sos>”,y
t
为句子结束符“<eos>”。以中文语音识别为例,并用单个汉字作为建模单元,训练数据能覆盖的常用汉字约6700。假设某句话的文本内容为“欢迎来到科大讯飞”,共有8个汉字,加上句子开始符和句子结束符,文本标注序列总共10个字符,则文本标注序列y=[<sos>,欢,迎,来,到,科,大,讯,飞,<eos>]。
[0073]
样本的输入语音序列为x=[x1,x2,
…
,x
k
,
…
x
k
],经预训练语音模型的多层特征提取后,得到一组表示语音信息的语音语义特征序列其中x
k
表示语音序列x中第k个采样点,表示特征序列h
am
中第k
′
个分量。由于语音模型中包括多层卷积网络,因此长度从k以一定比例放缩至k
′
。
[0074]
转换模块中,首先h
am
经过一个线性映射预测输出的文本语义特征序列长度然后,根据已知文本序列长度t,对语音语义特征序列进行采样,得到特征序列征序列进行采样,得到特征序列其中表示特征序列h
map
中第t个分量,表示特征序列h
am
中第i
t
个分量,i
t
为采样映射中
的第t个采样点对应的特征序列h
am
的分量的位置索引。
[0075]
特征序列h
map
再经一个特征空间转换,得到特征序列其中表示特征序列h
fc
中第t个分量,由映射来,与相对应。
[0076]
最后经由语言模型的特征提取,得到最终输出最后经由语言模型的特征提取,得到最终输出其中表示特征序列h
lm
中第t个分量。
[0077]
另外,语音识别模型的推理过程与上述训练过程相对应,特别地,语音识别模型在针对待识别的语音数据进行推理时,转换模块中,文本序列长度t是未知的,需要根据预测序列长度对语音语义特征序列进行采样,得到特征序列
[0078]
基于上述实施例,步骤120中,所述基于语音识别模型中的转换模块,对语音语义特征进行长度转换,包括:
[0079]
基于转换模块,按照采样比例对语音语义特征进行均匀采样,采样比例是基于语音语义特征的长度和文本长度预测的结果确定的。
[0080]
具体地,为了进一步提高语音识别的准确性,对语音语义特征进行长度转换时,可以按照采样比例对语音语义特征进行均匀采样。由于语音语义特征的长度是已知的,文本长度可以根据语音语义特征的长度预测得到,此处的采样比例可以是语音语义特征的长度与预测得到的文本长度的比值,此处的均匀采样,具体是指采样的分量的索引间隔是相等的。
[0081]
例如,预测得到的文本长度为50,其对应语音输入语音模型后得到序列长度为240的语音语义特征序列那么采样比例为那么采样比例为对h
am
下采样的分量的索引为i=round([(1
‑
0.5)
×
4.8,(2
‑
0.5)
×
4.8,
…
,(t
‑
0.5)
×
4.8,
…
(50
‑
0.5)
×
4.8])=[2,7,12,
…
,238],根据索引取对应分量得到其中round(r)函数对其中每个元素四舍五入取整。
[0082]
又例如,采样比例为对h
am
下采样的分量的索引为i=round([(1
‑
0.5)
×
4.8,(2
‑
0.5)
×
4.8,
…
,(t
‑
0.5)
×
4.8,
…
(50
‑
0.5)
×
4.8])=[2,7,12,
…
,238],根据索引取对应分量得到
[0083]
本发明实施例提供的方法,按照采样比例对语音语义特征进行均匀采样,保证了采样数据在语音语义特征序列长度上的均匀性,从而保证了转换后的文本语义特征的准确性,进一步提高了语音识别的准确性。
[0084]
基于上述实施例,步骤120中,所述基于所述文本语义特征生成语音识别文本,包括:
[0085]
基于语音识别模型中的预训练语言模型,对文本语义特征进行文本预测,得到文
本预测特征,基于文本语义特征和文本预测特征生成语音识别文本。
[0086]
具体地,为了进一步提高语音识别的准确性,预训练语言模型可以对预训练语音模型输出并转换得到的文本语义特征进行文本预测,得到文本预测特征。此处,文本预测可以是预训练语言模型对文本语义特征进行编解码,从而得到生成式文本的特征表示,即文本预测特征。
[0087]
在此基础上,为了进一步提高语音识别所得的语音识别文本的可靠性和准确性,可以将能够反映预训练语音模型的语音识别结果的文本语义特征,和能够反映预训练语言模型的文本生成结果的文本预测特征相结合,从而得到最终生成文本中每个字符的预测概率,取概率最大的索引为预测字符索引,从而得到语音识别文本。
[0088]
此处,基于文本语义特征和文本预测特征生成语音识别文本,具体可以是将文本语义特征和文本预测特征相融合,基于融合后的特征预测每个字符的概率,从而得到语音识别文本;也可以是分别基于文本语义特征和文本预测特征预测每个字符的概率,再将两种特征分别预测的概率进行融合,基于融合后的概率确定语音识别文本,本发明实施例对此不作具体限定。
[0089]
进一步地,基于文本语义特征和文本预测特征生成语音识别文本可以通过以下方式实现,对于一个语音样本x,经由语音识别模型网络依次得到通过在特征向量的最后一维上进行softmax(
·
),将特征向量转化为概率向量,即预测到每个字符v∈[1,2,
…
v]的概率。将预训练语音模型和预训练语言模型的预测概率相加得到最终预测概率向量
[0090]
p=softmax(h
lm
)+α*softmax(h
fc
)
[0091]
取概率最大的索引为预测字符索引
[0092][0093]
并且,上述公式还可以应用到模型测试阶段,通过对比全部样本的预测结果和标注y计算词错误率(word error rate,wer)用于衡量模型性能的优劣。
[0094]
本发明实施例提供的方法,在解码过程中结合了文本语义特征和文本预测特征生成语音识别文本,提高了语音识别文本的准确性。
[0095]
基于上述实施例,语音识别模型包括如下部分:
[0096]
预训练语音模型,在推理过程中,输入待识别的语音数据预训练语音模型的特征提取过程记作函数g
am
(
·
|θ
am
),其中θ
am
为预训练语音模型中的训练参数的集合。预训练语音模型输出的特征序列,即语音语义特征记为由于预训练语音模型中包括多层卷积网络,因此长度从k以一定比例放缩至k
′
,c为最后一层神经网络的通道维数。此过程用公式表达为
[0097]
h
am
=g
am
(x|θ
am
)
[0098]
转换模块,该模块包括通过下采样将输入序列长度转化为输出序列长度的功能。由于推理过程中输出序列长度未知,因此首先预测输出序列长度。对于预训练语音模型的输出h
am
,通过一个从c维映射到1维的线性层,记作f
len
(
·
|θ
len
),其中θ
len
为该线性层中的训练参数的集合,得到特征向量再通过sigmoid(
·
)函数和累加sum(
·
)函数得
到输出长度预测值此处的输出长度预测值即文本语义特征的长度。此过程用公式表达为
[0099]
h
len
=sum(sigmoid(f
len
(h
am
|θ
len
)))
[0100]
然后根据输出序列长度进行均匀采样。训练过程中使用已知的标注文本长度采样比例为推理过程中测试样本的文本长度未知,故使用预测长度采样比例为对h
am
下采样的分量的索引为i=round([(1
‑
0.5)r,(2
‑
0.5)r,
…
,(t
‑
0.5)r,
…
(t
‑
0.5)r]),其中round(
·
)函数对其中每个元素四舍五入取整,根据下采样的位置索引即可得到映射后的特征序列该过程用公式表达为
[0101]
h
map
=uniformmapping(h
am
|t)
[0102]
此外转换模块还用于解决语音模型输出和语言模型输入表征上含义不一致的问题,即还包括特征空间转换的功能。具体可以通过一个全连接层对特征向量进行特征空间变换。此处,预训练语音模型输出的特征维数为某个设定值c,而预训练语言模型的特征维数为词典的大小v,可以通过对网络通道数的设置实现通道数由c维到v维的转换。由均匀采样映射得到的特征序列h
map
,经由此处的全连接层,记为f
fc
(
·
|θ
fc
),其中θ
fc
为该线性层中的训练参数的集合,得到映射后特征序列,即文本语义特征该过程用公式表达为
[0103]
h
fc
=f
fc
(h
map
|θ
fc
)
[0104]
预训练语言模型,在推理过程中,以转换模块中的全连接层的输出h
fc
作为输入,经预训练语言模型的特征提取过程,此过程记作函数g
lm
(
·
|θ
lm
),其中θ
lm
为预训练语言模型中的训练参数的集合,预训练语言模型输出的特征序列,即文本语义特征序列为最终输出结果。此过程用公式表达为
[0105]
h
lm
=g
lm
(h
fc
|θ
lm
)
[0106]
基于上述任一实施例,语音识别模型的模型损失函数是基于语音识别损失函数和长度预测损失函数确定的;语音识别损失函数是基于样本语音对应的样本文本,以及样本语音的文本语义特征确定的;长度预测损失函数是基于样本语音对应的样本文本的长度和文本语义特征的长度确定的。
[0107]
具体地,由于语音识别模型中的语音模型、语言模型已经过预训练,本身都具备较好的模型参数,而语音识别模型中的转换模块在模型构建时,其中参数未经预训练,因此需要在对语音识别模型进行训练时,优先训练转换模块的参数。
[0108]
在语音识别模型训练过程中,可以通过语音识别损失函数和长度预测损失函数确定语音识别模型的模型损失函数。
[0109]
其中,语音识别损失函数即预训练语音模型输出的语音语义特征经过转换模块转换所得的文本语义特征的损失函数,是基于样本语音对应的样本文本,以及样本语音的文本语义特征确定的,样本语音对应的样本文本即真实文本,样本语音的文本语义特征即样本语音经预训练语音模型输出,再经转换模块转换后的文本语义特征。由此构造的语音识
别损失函数,记作loss
am
,用于表征样本文本的真实语义特征和语音识别模型中得到的文本语义特征之间的差距,此处的差距可以反映为交叉熵、相似度、欧式距离等。例如,语音识别损失函数的公式可以表达为:
[0110]
loss
am
=crossentropy(h
fc
,y)
[0111]
其中,为交叉熵损失,h
fc
为样本语音的文本语义特征的序列,y为样本语音对应的样本文本的真实语义特征的序列。
[0112]
长度预测损失函数为对长度约束的损失,是基于样本语音对应的样本文本的长度和文本语义特征的长度确定的。样本语音对应的样本文本的长度即真实的序列长度,文本语义特征的长度即根据预训练语音模型得到的语音语义特征进行文本预测得到的长度。在转换模块中,为保障长度预测的准确性,需要通过约束预测的序列长度和真实的序列长度之间的间隔来指导模型训练。由此构造的长度预测损失函数,记为loss
len
,用于表征样本文本的真实长度和文本语义特征的序列长度之间的差距,此处的差距可以反映为交叉熵、相似度、欧式距离等。例如,长度预测损失函数的公式可以表达为:
[0113][0114]
其中,为文本语义特征的长度,t为样本语音对应的样本文本的真实长度。
[0115]
在此基础上,模型损失函数可以表示语音识别损失函数和长度预测损失函数的融合形式,例如可以表示为下式中加权求和的形式:
[0116]
loss=α*loss
am
+β*loss
len
[0117]
其中,loss为语音识别模型的模型损失函数,loss
am
为语音识别损失函数,loss
len
为长度预测损失函数,α和β为权重系数。
[0118]
本发明实施例提供的方法,只有少量的转换模块的参数未经预训练,利用少量有文本标注的语音数据即可训练转换模块,相比只有小部分模块参与预训练的语音识别模型,更适合低资源任务的学习。
[0119]
基于上述实施例,模型损失函数是基于语音识别损失函数、文本生成损失函数和长度预测损失函数确定的;文本生成损失函数是基于样本语音对应的样本文本和语音识别文本确定的。
[0120]
具体地,文本生成损失函数,即在预训练语音模型的基础上加上预训练语言模型之后的生成语音识别文本的损失函数。文本生成损失函数是基于样本语音对应的样本文本和语音识别文本确定的,样本语音对应的样本文本即真实文本,语音识别文本即根据预训练语言模型得到的文本语义特征进行文本预测得到语音识别文本。为了保障语音识别的准确性,需要通过约束预测的文本和真实文本之间的差距来指导模型训练。由此构造的文本生成损失函数,记作loss
lm
,用于表征样本语音的样本文本特征和语音识别模型中得到的语音识别文本特征之间的差距,此处的差距可以反映为交叉熵、相似度、欧式距离等。例如,文本生成损失函数的公式可以表达为:
[0121]
loss
lm
=crossentropy(h
lm
,y)
[0122]
其中,为交叉熵损失,h
lm
为语音识别文本的特征序列,y为样本语音对应的样本文本的特征序列。
[0123]
训练过程中,预训练语音模型、转换模块、预训练语言模型的参数均可学习,利用少量有文本标注的语音数据,通过以下损失函数对全部参数在目标任务上进行优化。模型损失函数可以表示语音识别损失函数、长度预测损失函数和语音识别损失函数的融合形式,例如可以表示为下式中加权求和的形式:
[0124]
loss=loss
lm
+α*loss
am
+β*loss
len
[0125]
其中,loss
lm
为文本生成损失函数,loss
am
为语音识别损失函数,loss
len
为长度预测损失函数,α和β为权重系数。
[0126]
本发明实施例提供的方法,对目标任务的训练过程中,利用少量有文本标注的语音数据对全部参数共同微调即可,减少了对高成本有标注数据的依赖,在同等有标注数据量下显著提升模型识别能力。
[0127]
基于上述实施例,图5为语音识别模型的训练步骤的流程示意图,如图5所示,语音识别模型是基于如下步骤训练得到的:
[0128]
步骤510,构建初始模型,初始模型包括预训练语音模型和预训练语言模型,以及连接预训练语音模型和预训练语言模型的初始转换模块。
[0129]
步骤520,基于语音识别损失函数和长度预测损失函数训练初始转换模块,得到包含训练后的初始转换模块的阶段模型。
[0130]
步骤530,基于语音识别损失函数、文本生成损失函数和长度预测损失函数,训练阶段模型。得到语音识别模型。
[0131]
具体地,初始语音识别模型包括预训练语音模型和预训练语言模型,以及连接预训练语音模型和预训练语言模型的初始转换模块。其中,利用无标注语音数据预训练语音模型,利用文本数据预训练语言模型。初始转换模块用来将属于预训练语音模型的语音语义特征转换为属于预训练语言模型的文本语义特征。
[0132]
由于语音识别模型中的语音模型、语言模型已经过预训练,本身具备较好的模型参数,而语音识别模型中的初始转换模块在模型构建时,其中的参数未经训练,因此,在对模型进行训练时,可以首先训练初始转换模块。此训练阶段中,固定语音模型和语言模型参数,即这两部分参数不参与训练。训练用到的样本为少量有文本标注的语音数据。训练的损失函数为语音识别损失函数和长度预测损失函数。训练结果得到包含训练后的初始转换模块的阶段模型。
[0133]
初始转换模块训练完成后,语音识别模型的三个主要部分,语音模型、转换模块和语言模型都已经过训练。接下来为目标任务训练阶段。对语音识别模型全部参数共同微调作为目标任务上的主要训练阶段,此时可设置更长的训练时长。在此训练阶段中,训练对象为步骤520中得到的阶段模型,语音模型、转换模块和语言模型参数均可学习,训练用到的样本为少量有文本标注的语音数据,训练的损失函数为语音识别损失函数、文本生成损失函数和长度预测损失函数,训练结果得到全部参数优化后的语音识别模型。
[0134]
本发明实施例提供的方法,基于预训练语音模型和预训练语言模型,首先训练转换模块的参数,然后语音模型、转换模块和语言模型全部参数共同微调得到优化后的语音识别模型,充分利用了无标注语音数据和文本数据,降低了标注成本,更适合低资源任务的学习。同时对大量数据的使用能有效提升模型泛化性和鲁棒性。
[0135]
下面对本发明提供的语音识别装置进行描述,下文描述的语音识别装置与上文描
述的语音识别方法可相互对应参照。
[0136]
图6是本发明提供的语音识别装置的结构示意图,如图6所示,该装置包括:
[0137]
语音数据确定单元610,用于确定待识别的语音数据;
[0138]
语音识别单元620,用于基于语音识别模型,对所述语音数据进行语音识别,将语音识别所得的语音语义特征转换为文本语义特征,并基于所述文本语义特征生成语音识别文本;
[0139]
其中,所述语音识别模型是基于预训练语音模型和预训练语言模型训练得到的,所述语音语义特征属于所述预训练语音模型的特征空间,所述文本语义特征属于所述预训练语言模型的特征空间。
[0140]
本发明实施例提供的语音识别装置,通过将语音语义特征转换为文本语义特征,解决了预训练语音模型的输出与预训练语言模型的输入不匹配的问题,实现了预训练语音模型与预训练语言模型的直接结合,充分利用无标注语音数据和文本数据分别进行语音模型和语言模型的预训练,使模型有好的初始化,因而对于低资源语种,仅需少量有标注语音数据进行微调即可达到较好效果,减少了对高成本有标注数据的依赖,在同等有标注数据量下提高了低资源语种语音识别能力和准确性。
[0141]
基于上述实施例,语音识别单元620用于:
[0142]
基于所述语音识别模型中的转换模块,对所述语音语义特征进行长度转换和特征空间转换,得到所述文本语义特征,所述文本语义特征的长度是对所述语音语义特征进行文本长度预测得到的。
[0143]
基于上述实施例,语音识别单元620用于:
[0144]
基于所述转换模块,按照采样比例对所述语音语义特征进行均匀采样,所述采样比例是基于所述语音语义特征的长度和所述文本长度预测的结果确定的。
[0145]
基于上述实施例,语音识别单元620用于:
[0146]
基于所述语音识别模型中的语言模型,对所述文本语义特征进行文本预测,得到文本预测特征,基于所述文本语义特征和所述文本预测特征生成所述语音识别文本。
[0147]
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(communications interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行语音识别方法,该方法包括:确定待识别的语音数据;基于语音识别模型,对所述语音数据进行语音识别,将语音识别所得的语音语义特征转换为文本语义特征,并基于所述文本语义特征生成语音识别文本;其中,所述语音识别模型是基于预训练语音模型和预训练语言模型训练得到的,所述语音语义特征属于所述预训练语音模型的特征空间,所述文本语义特征属于所述预训练语言模型的特征空间。
[0148]
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施
例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read
‑
only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0149]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的语音识别方法,该方法包括:确定待识别的语音数据;基于语音识别模型,对所述语音数据进行语音识别,将语音识别所得的语音语义特征转换为文本语义特征,并基于所述文本语义特征生成语音识别文本;其中,所述语音识别模型是基于预训练语音模型和预训练语言模型训练得到的,所述语音语义特征属于所述预训练语音模型的特征空间,所述文本语义特征属于所述预训练语言模型的特征空间。
[0150]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的语音识别方法,该方法包括:确定待识别的语音数据;基于语音识别模型,对所述语音数据进行语音识别,将语音识别所得的语音语义特征转换为文本语义特征,并基于所述文本语义特征生成语音识别文本;其中,所述语音识别模型是基于预训练语音模型和预训练语言模型训练得到的,所述语音语义特征属于所述预训练语音模型的特征空间,所述文本语义特征属于所述预训练语言模型的特征空间。
[0151]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0152]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0153]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。