一种基于跨语言ctc的端到端语音翻译模型建模方法和设备
技术领域
1.本发明涉及自然语言处理技术领域,特别涉及一种基于跨语言ctc的端到端语音翻译模型建模方法和设备。
背景技术:2.早期语音翻译模型的设计思路,是先通过语音识别模型来对语音进行转录为文本,然后通过文本翻译模型对转录文本进行翻译,称之为级联语音翻译。尽管级联语音翻译取得了不错的性能,但这种方式存在着错误传播、翻译效率较低和语音中的副语言信息丢失的问题。
3.近期,研究人员们提出了端到端语音翻译,也就是通过单个模型,完成指定源语言语音到目标语言文本的生成。这种方法可以有效缓解上述几个问题,但却面临着两个新的挑战:
4.任务建模复杂,语音翻译模型需要学习从源语言语音到目标语言文本的生成,这种跨模态跨语言的建模导致模型的收敛更加困难。并且,由于端到端模型并没有中间的输出信息,很难针对翻译过程中出现的问题进行定向的优化。尤其是在实际场景中,音频中可能包含非常多的噪声,口语化的句子结构十分不规范,如何处理这种情况,是端到端系统在实际应用时的难点与痛点。
5.数据积累不足,端到端语音翻译是一个新兴的方向,数据集大都在近几年标注,目前最常用的must-c数据集,数据量只有几百个小时音频,数据量的不足是语音翻译发展的最大障碍。
6.针对这两个问题,现有的解决思路是通过ctc作为辅助损失预测输入音频所对应的标注问题,从而指导编码器的学习。但现有的方法忽略了来自目标语言文本对于编码器的指导。同时,ctc存在着两个重要的假设,分别是单调假设与条件独立假设,在一定程度上阻碍了ctc的使用。
技术实现要素:7.鉴于上述的分析,本发明旨在提供一种基于跨语言ctc的端到端语音翻译模型建模方法和设备;解决现有技术中的语音翻译方法仅针对源语言文本进行预测,忽略了来自目标语言文本对于编码器的指导,及ctc存在着单调假设与条件独立假设,一定程度上阻碍了ctc的使用问题。
8.本发明的目的主要是通过以下技术方案实现的:
9.一方面,本发明提供了一种基于跨语言ctc的端到端语音翻译模型建模方法,包括以下步骤:
10.获取语音数据集;所述语音数据集中包括源语言语音数据、所述语音数据对应的源语言标注文本和目标语言标注文本;
11.构建初始语音翻译模型;所述初始语音翻译模型包括声学编码器、文本编码器和
解码器;所述声学编码器用于对输入语音进行特征提取及源语言语义嵌入,得到声学编码器隐向量;所述文本编码器用于对所述声学编码器隐向量进行特征提取及目标语言语义嵌入,得到文本编码器隐向量;所述解码器用于基于所述文本编码器隐向量进行解码,得到所述输入语音对应的翻译文本;
12.利用所述语音数据集对所述初始语音翻译模型进行训练,经过损失函数迭代更新,得到所述语音翻译模型。
13.进一步的,所述声学编码器包括依次连接的n层特征提取层和设置于第l层特征提取层的第一语义嵌入模块,n为大于1的整数,2/n《l《n;其中,
14.n层所述特征提取层用于对输入的源语言语音数据依次进行特征提取;
15.所述语义嵌入模块用于对所述第l层特征提取层的输出进行语义嵌入,得到具有初步预测内容的张量表示sim(h
l
);
16.所述张量表示sim(h
l
)为所述编码器第l+1层特征提取层的输入。
17.进一步的,所述语义嵌入模块通过下述方法进行语义嵌入:
18.对所述声学编码器第l层特征提取层的输出计算对于预测的源语言文本的ctc分布;
19.通过所述ctc分布对源语言词嵌入矩阵w进行加权,得到具有文本表示的软词嵌入矩阵;所述源语言词嵌入矩阵w为模型参数;
20.将所述软词嵌入矩阵与所述第l层特征提取层的输出相加,得到具有初步预测内容的张量表示sim(h
l
)。
21.进一步的,所述语义嵌入模块通过下述公式得到所述张量表示sim(h
l
):
22.sim(h
l
)=h
l
+p
sim_ctc
(π|h
l
)
·
w;
23.其中,sim(h
l
)为所述语音编码器第l层特征提取层的语义嵌入模块输出的具有初步预测内容的张量表示;h
l
为所述第l层特征提取层的输出,π为预测的源语言文本;w为所述源语言词嵌入矩阵,p
sim_ctc
()为所述编码器第l层特征提取层输出的ctc分布。
24.进一步的,在声学编码器和文本编码器之间还包括适配器模块,所述适配器模块用于对所述声学编码器隐向量进行处理,得到具有源语言语义信息的声学表示所述声学表示用于通过解码器进行解码,得到所述输入语音对应的翻译文本;
25.所述对所述声学编码器隐向量进行处理,包括:
26.对所述声学编码器隐向量计算对于预测的源语言文本的ctc分布p
src_ctc
;
27.将所述ctc分布p
src_ctc
对源语言词嵌入矩阵进行加权,并将加权后得到的声学表示与所述声学编码器隐向量相加,得到具有源语言语义信息的声学表示
28.进一步的,所述文本编码器包括依次连接的n层特征提取层和设置于第k层特征提取层的第二语义嵌入模块;利用所述第二语义嵌入模块进行目标语言语义嵌入,包括:
29.通过所述文本编码器第k层的输出表示计算对于预测的目标语言文本的ctc分布p
sim_tgt_ctc
(hk),k为大于1的整数;
30.通过所述ctc分布p
sim_tgt_ctc
(hk)对目标语言文本的词嵌入矩阵进行加权,将加权得到的表示与所述第k层的输出表示相加,得到具有目标语言文本语义信息的表示sim(hk);所述具有目标语言文本语义信息的表示为所述文本编码器第k+1层的输入。
31.进一步的,对所述语音编码器和适配器模块分别计算对于源语言标注文本的损失,对文本编码器和解码器分别对于目标语言标注文本的损失,并设置不同的权重,经过迭代更新,得到所述语音翻译模型。
32.进一步的,所述声学编码器的损失权重设置为0.2,适配器的损失设置为0.3,文本编码器中间层的损失权重设置为0.2,文本编码器顶层的损失权重设置为0.3,解码器的损失权重设置为1。
33.进一步的,所述声学编码器包括12层特征提取层,对第6层和第9层分别设置第一语义嵌入模块进行源语言语义嵌入。
34.另一方面,还提供一种计算机设备,包括至少一个处理器,以及至少一个与所述处理器通信连接的存储器;
35.所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现前述的基于跨语言ctc的端到端语音翻译模型建模方法。
36.本技术方案的有益效果:
37.针对现有技术中仅使用源语言ctc以及ctc中存在单调假设与条件独立假设的问题,本发明通过在编码器的中间层计算ctc损失,将预测信息融入到编码过程中;并且设置额外的文本编码器,通过ctc预测目标语言文本,从而在强化监督信息的同时,降低了由于ctc内置假设造成的损失,显著提高了语音翻译模型的性能。
38.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
39.附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
40.图1为本发明实施例的基于跨语言ctc的端到端语音翻译模型建模方法流程图。
41.图2为本发明实施例的语音翻译模型结构示意图;
42.图3为本发明实施例的预测结果集成示意图;
具体实施方式
43.下面结合附图来具体描述本发明的优选实施例,其中,附图构成本技术一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
44.本发明公开了一种基于跨语言ctc的端到端语音翻译模型建模方法,输入待处理语音,在声学编码器将预测信息融入到编码过程中,并且利用文本编码器通过ctc预测目标语言文本,在强化监督信息的同时,降低由于ctc内置假设造成的损失,实现了高质量的由语音数据到目标语言文本的端到端语音翻译。
45.本实施例中的一种基于跨语言ctc的端到端语音翻译模型建模方法,如图1所示,包括以下步骤:
46.步骤s1、获取语音数据集。
47.具体的,本实施例采用语音翻译领域常用的带有标注的must-c英德数据集;数据
集中包括源语言语音数据、语音数据对应的源语言标注文本和目标语言标注文本。
48.步骤s2、构建初始语音翻译模型。
49.具体的,如图2所示,本实施例的初始语音翻译模型包括声学编码器、文本编码器和解码器;
50.其中,声学编码器用于对输入语音进行特征提取及源语言语义嵌入,得到声学编码器隐向量;
51.优选的,本实施例的声学编码器包括依次连接的n层特征提取层和设置于第l层特征提取层的第一语义嵌入模块,n为大于1的整数,2/n《l《n;其中,
52.n层特征提取层用于对输入的源语言语音数据依次进行特征提取;n层特征提取层可采用n层相同的transformer层或conformer层,本实施例采用12层transformer层,每层分别包含一个自注意力模块和一个前馈神经网络层。若采用conformer层,则在每一层还包含一个卷积层,用于捕获局部信息。
53.第一语义嵌入模块用于对第l层特征提取层的输出进行语义嵌入,得到具有初步预测内容的张量表示sim(h
l
);
54.具体的,第一语义嵌入模块通过下述方法进行语义嵌入,如图3所示,
55.对语音编码器第l层特征提取层的输出计算对于预测的源语言文本的ctc分布,在ctc分布中,包含了对应词表中每个token的预测概率,词表指的是构成训练集文本数据的单词集合;
56.通过ctc分布对源语言词嵌入矩阵w进行加权,得到具有文本表示的软词嵌入矩阵,其中蕴含了在当前层的ctc预测信息;源语言词嵌入矩阵w为模型参数,在训练之前随机初始化,训练过程中不断更新参数得到。
57.将软词嵌入矩阵与第l层特征提取层的输出相加,得到具有初步预测内容的张量表示sim(h
l
),作为第l+1层特征提取层的输入。
58.通过上述操作,为模型后续的编码注入了初步的预测内容,从而可以在后续的预测中进行不断修订,缓解ctc中的条件独立假设问题。
59.优选的,语义嵌入模块通过下述公式得到张量表示sim(h
l
):
60.sim(h
l
)=h
l
+p
sim_ctc
(π|h
l
)
·
w;
61.其中,sim(h
l
)为语音编码器第l层特征提取层的语义嵌入模块输出的具有初步预测内容的张量表示;h
l
为第l层特征提取层的输出,π为预测的源语言文本的向量表示;w为源语言词嵌入矩阵,p
sim_ctc
()为编码器第l层特征提取层输出的ctc分布。
62.本实施例中在编码器的上层进行计算,以保证通过充分的编码,使得ctc具有较好的预测结果。对于本实施例的12层的声学编码器,可以在第6层和第9层特征提取层分别插入第一语义嵌入模块。由于ctc自身的条件独立假设,ctc在预测过程并未考虑上下文的预测结果,容易导致重复生成等问题。因此,通过集成中间预测结果,可以使模型在顶层预测之前感知中间的预测结果,从而缓解条件独立假设。
63.作为一个具体的实施例,在声学编码器和文本编码器之间还可以采用适配器模块,适配器模块用于对声学编码器隐向量进行处理,得到具有源语言语义信息的声学表示声学表示用于通过解码器进行解码,得到输入语音对应的翻译文本;
64.具体的,将声学编码器隐向量输入适配器,首先对声学编码器隐向量计算对于预
测的源语言文本的ctc分布p
src_ctc
;
65.然后通过ctc分布p
src_ctc
对源语言词嵌入矩阵进行加权,并将加权后得到的声学表示与声学编码器隐向量相加,得到具有源语言语义信息的声学表示如下式所示:
[0066][0067]
其中,ha为声学编码器隐向量。
[0068]
不同于语音编码器的语义嵌入操作是为了缓解条件独立假设,适配器模块通过对编码器隐向量进行源语言语义嵌入后输入文本编码器中,其在声学编码器隐向量中融入文本信息,进一步丰富了声学编码器输出向量表示的信息。
[0069]
进一步的,文本编码器用于对声学编码器隐向量进行特征提取及目标语言语义嵌入,得到文本编码器隐向量;解码器用于基于文本编码器隐向量进行解码,得到输入语音对应的翻译文本;
[0070]
优选的,文本编码器采用与声学编码器类似的结构,包括依次连接的n层特征提取层和设置于第k层特征提取层的第二语义嵌入模块;利用第二语义嵌入模块进行目标语言语义嵌入,
[0071]
特殊的,由于ctc内置的单调假设,对于跨模态的语音识别来说是天然成立的,然而,对于跨语言的学习是很难直接完成的。为此,本实施例通过一个训练好的文本翻译模型,将训练样本集中的源语言文本重新进行翻译,利用重新翻译得到的目标语言本文代替训练样本集中的目标语言文本,使得目标语言文本相比训练样本集中的原始目标语言文本数据更加干净,对齐更加合理,利于文本编码器的训练。
[0072]
具体的,文本编码器通过下述方法对声学编码器隐向量进行特征提取及目标语言语义嵌入,得到文本编码器隐向量:
[0073]
首先通过文本编码器第k层的输出表示计算对于预测的目标语言文本的ctc分布p
sim_tgt_ctc
(hk),k为大于1的整数;
[0074]
通过ctc分布对目标语言文本的词嵌入矩阵进行加权,将加权得到的表示与第k层的输出表示相加,得到具有目标语言文本语义信息的张量表示sim(hk);具有目标语言文本语义信息的张量表示sim(hk)为文本编码器第k+1层的输入。
[0075]
特殊的,与声学编码器相似,文本编码器也在上层特征提取层进行计算,保证ctc具有更好的性能。且由于本实施例采用重新生成的目标语言文本作为ctc的训练目标,有效缓解了ctc中的单调假设问题。
[0076]
进一步的,将文本编码器隐向量输入解码器,生成待翻译语音对应的目标语言文本。
[0077]
语音翻译模型的解码器由多个相同的transformer层组成,每层包含一个自注意力模块、编码器-解码器注意模块和前馈神经网络模块。由于在编码器中,文本翻译模型已经具备了一定的预测目标语言文本的能力,因此可以大大减轻解码器预测的学习压力。将文本编码器的输出送入端到端语音翻译模型的解码器中,生成最终需要的目标语言文本。
[0078]
步骤s3、利用语音数据集对初始语音翻译模型进行训练,经过损失函数迭代更新,得到语音翻译模型。
[0079]
具体的,获取语音数据集后,首先面向声学任务,通过信号处理方法从音频文件中
提取帧级别的特征序列。本实施例中,利用信号处理中的预加重、分帧、加窗等操作,通过离散傅立叶变换得到数据集中语音数据的帧级别的特征序列,帧级别的特征序列可以为80维的mfcc特征或fbank特征。
[0080]
将得到的语音数据对应的帧级别特征序列及语音数据对应的源语言文本和目标语言文本输入语音翻译模型的语音编码器、适配器模块、文本编码器和解码器,分别通过损失函数计算损失,并设置不同的权重,经过迭代更新,得到语音翻译模型。
[0081]
对于语音编码器,通过ctc预测分布和输入音频所对应的源语言标注文本计算损失,如下式所示:
[0082][0083]
在训练过程中令该损失最小化。为了保证ctc预测的准确性,对ctc预测结果进行监督,并且通过一个较小的权重对其加权,如本实施例设置为0.2,使其不会过度影响其他模块损失的学习。
[0084]
对于适配器,通过声学编码器输出的表示计算ctc损失,令该损失最小化,如下式所示:
[0085][0086]
同样,为了提高ctc的预测精度,在训练过程中最小化ctc损失,并且赋予一个相比语音编码器ctc更大的权重,本实施例设置为0.3,从而进行更好的优化。
[0087]
对于文本编码器,通过中间层ctc预测分布和输入音频所对应的目标语言标注文本计算损失,在训练过程中令该损失最小化,权重设置为0.2;
[0088]
通过文本编码器顶层的输出表示和目标语言标注文本计算ctc损失,在训练过程中对其优化使之不断减小,权重设置为0.3。
[0089]
通过解码器的输出表示和目标语言标注文本计算交叉熵损失,在训练过程中对齐优化使之不断减小,权重设置为1。
[0090]
在语音翻译任务上验证本发明提出的方法,利用语音翻译常用的must-c英德数据集,本实施例基于transformer架构,使用12层的声学编码器和6层的文本编码器,以及6层的解码器,隐藏层维度设置为256。基础模型达到了24.6的bleu值,添加跨语言ctc达到了25.1的bleu值。通过缓解条件独立假设,达到了26.0的bleu值,通过使用文本翻译模型生成的文本作为目标语言ctc的学习目标,缓解了单调假设,最终达到了26.7的bleu值,相比基线设置有2.1bleu的提升。本发明提出的方法对于端到端语音翻译模型具有很大的帮助,可以有效缓解建模压力,取得显著的性能提升。
[0091]
在实际应用中,加载训练完成的语音翻译模型,接收待识别语音,通过信号处理工具提取得到对应的fbank特征,输入语音翻译模型,经过语音编码器、适配器、文本编码器和解码器进行特征提取和预测,得到待识别语音对应的目标语言翻译文本。
[0092]
本发明的另一个实施例,还提供一种计算机设备,包括至少一个处理器,以及至少一个与处理器通信连接的存储器;
[0093]
存储器存储有可被处理器执行的指令,指令用于被处理器执行以实现前述的基于跨语言ctc的端到端语音翻译模型建模方法。
[0094]
综上,本发明的实施例提供的一种基于跨语言ctc的端到端语音翻译模型建模方
法,通过在编码器的中间层计算ctc损失,将预测信息融入到编码过程中;并且设置额外的文本编码器,通过ctc预测目标语言文本,从而在强化监督信息的同时,降低了由于ctc内置单调假设与条件独立假设假设造成的损失,显著提高了语音翻译的模型性能。
[0095]
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
[0096]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。