一种多语言训练方法、装置及存储介质与流程
未命名
09-24
阅读:74
评论:0
1.本发明涉及语言识别技术领域,特别涉及一种多语言训练方法、装置及存储介质。
背景技术:
2.训练一个基于dnn(深度神经网络,deep neural network)的语音识别模型需要大量的数据,而对世界上7100多种语言来说,只有很少一部分的语言可以获得足够多的标注训练数据,其他低资源语种的识别就成为了一个挑战。
3.为了在训练数据不足的情况下提高低资源语言的识别效果,近年来的一些工作引入了多语言(multilingual)、跨语言(crosslingual)的方法。通过借助别的语言进行训练,利用语言间的相似特征来帮助目标语言的学习,能有效缓解目标语言数据不足的问题。
4.multilingual训练一般是指am(声学模型,acousticmodel)是由多个语言共同训练出的,因为不同语种之间可能有相似的发音特征,而lm(语言模型,languagemodel)就比较有语言独立性,不同语言的语法规则差别很大,不适合做多语言训练的对象。也有一些端到端实现的工作将am、lm结合起来一起训练多语种模型,但这需要更大量的训练数据。bottleneck(瓶颈)特征是早期multilingual的实现方法,将多语言dnn的bottleneck层的输出作为am的输入来训练声学模型。共享隐藏层的方法也在multilingual实现中应用广泛,不同语种在拥有不同输出层的同时共享一个隐藏层,于是隐藏层可以学习到语种间的一些共同特征。这些研究也都证实了多语言模型会提高目标语言的识别效果。
5.crosslingual语音识别中,目标语言不出现在训练集中,由其他一些语种训练多语言模型,然后经过finetune(微调)迁移到目标语种。在zero-shot(零样本)的情况下,多语言模型未经任何finetune,直接在目标语言上进行测试。few-shot(少样本)则是会有少量的目标语言数据对多语种模型进行finetune。在目标语言数据极其缺乏时,可以考虑使用crosslingual,利用从其他语言中获取到的信息帮助目标语言的识别。
6.为了实现多语种的训练,需要使得不同语言共享信息,最常用的做法就是使用一套统一的音素集,各语言的音素都被包含在这个共同音素集内,根据发音方法建立的ipa(国际音标,internationalphoneticalphabet),就成为了这个统一音素集的最佳选择。不同语言中发音类似的音素会用相同的ipa音素标记,于是信息在音素层面上实现了共享。语言间共享的信息越多,对多语言识别的提升效果就越大。feng等人的实验表明,在多语种训练中,一个音素被越多的语言所共有,它受益于多语种的程度就越大,可能是因为有更多有关此音素的数据来训练多语言模型;相对的,那些只被某些语言独有的音素,在多语种中几乎没有改进。为了让这些语言独有的音素也能受益于多语言模型,一些工作将音素拆分为了更小的单元,即音韵特征(phonologicalfeatures)。音韵特征包含了一个音素在音韵学上的全部特征,比如有发音部位特征、发音方法特征等等。对于一个音素的每个特征有三种标记:“+”、
“‑”
、“0”,“+”表示具备此特征,
“‑”
则表示不具备,“0”表示该音素与此特征无关,比如一个元音相关的特征对辅音音素是没有意义的。图1为西、意两语的音素集重叠情况示意图,如图所示,图1展示了使用音韵特征表示音素的好处,西班牙语和意大利语有一些共
同的音素重叠,这部分音素在多语种训练中可以获得更多训练数据,从而提高模型对它们的识别能力,而对于它们的独立音素,如西班牙语的和意大利语的ε,就无法在基于音素的多语种训练中受益。但如果把音素表示成了音韵特征的形式,可以看到和ε共享了很多特征,在音韵特征的层面它们共享了信息,这会帮助模型提高对独立音素的识别能力。
7.已有一些研究利用了音韵特征来帮助多语言、跨语言的语音识别。但是现有技术的不足在于,从声学特征中提取音韵特征的方式,提取器训练很困难,
8.进一步的,还有一个不足:在跨语言识别中无法处理unseen的音素。
技术实现要素:
9.本发明提供了一种多语言训练方法、装置及存储介质,用以解决从声学特征中提取音韵特征的方式,提取器训练很困难的问题。
10.本发明提供以下技术方案:
11.一种多语言训练方法,包括:
12.通过神经网络获取音韵特征后,转化为以矢量编码的音素嵌入矢量,其中,将音韵特征编码为音韵矢量;
13.获取声谱后,通过声学模型dnn提取声学特征;
14.将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率。
15.实施中,将音韵特征编码为音韵矢量,包括:
16.将各语种的每个ipa音素表示为一个24维的音韵特征,每一维代表某个音韵特征;分别用2bit的1、0矢量表示每个音韵特征的+、-、0,用3bit对每个音韵特征的符号《blk》、《spn》、《nsn》编码。
17.实施中,将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率,包括:
18.将第i个音素的音韵矢量pi转换为音素嵌入矢量ei,维度等于dnn输出的维度h,在第t帧,声学模型dnn的输出为
19.将ei与声学特征h
t
做内积计算logits,z
t,i
代表第t帧时第i个音素对应的logit:
[0020][0021]
实施中,按以下方式将第i个音素的音韵矢量pi转换为音素嵌入矢量ei:
[0022]
用线性矩阵a来作用pi,
[0023]ei
=api#
[0024]
;或,
[0025]
使用多层神经网络进行音韵转换:
[0026]ei
=a2σ(a1pi)#
[0027]
其中a1、a2是线性矩阵,σ(
·
)代表非线性激活函数。
[0028]
实施中,进一步包括:
[0029]
使用phonetisaurus工具包实现字位到音位转换g2p,为各语言生成ipa符号的发音词典。
[0030]
实施中,进一步包括:
[0031]
将多种语言的训练集、与开发集进行混合并打乱,组成包含多语言的训练集和开
发集;
[0032]
将多种语言g2p生成的发音词典进行融合,作为多语言训练时采用的词典。
[0033]
实施中,将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率,包括:
[0034]
统计训练集中出现的ipa符号,为ipa符号建立对应的音韵矢量;
[0035]
将音素的音韵矢量拼接为音韵矢量矩阵后一同输入,并计算出各音素的音素嵌入矢量phone embedding;
[0036]
训练时,dnn的输出与音韵矢量转化来的音素嵌入矢量phone embedding相乘,计算出各音素的内积logit。
[0037]
实施中,进一步包括:
[0038]
训练时误差反传,用以更新dnn与神经网络的参数。
[0039]
实施中,进一步包括在获取声谱时按如下方式之一或者其组合进行设置:
[0040]
训练时采用基于ctc-crf的语音识别工具包;
[0041]
为每条音频数据提取40维的fbank特征并做二阶差分,作为am的输入;
[0042]
声学模型采用3层的vggblstm,blstm每层隐含单元数为1024;
[0043]
训练时设置随机失活因子dropout为0.5,采用adam优化器进行优化,初始学习率为1e-3;
[0044]
当模型在开发集上的表现有下降时,学习率降为之前的1/10,当学习率小于1e-5时停止训练。
[0045]
实施中,训练好多语言模型后,进一步包括:
[0046]
对目标语言进行识别。
[0047]
一种多语言训练装置,包括:
[0048]
处理器,用于读取存储器中的程序,执行下列过程:
[0049]
通过神经网络获取音韵特征后,转化为以矢量编码的音素嵌入矢量,其中,将音韵特征编码为音韵矢量;
[0050]
获取声谱后,通过声学模型dnn提取声学特征;
[0051]
将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率;
[0052]
收发机,用于在处理器的控制下接收和发送数据。
[0053]
实施中,将音韵特征编码为音韵矢量,包括:
[0054]
将各语种的每个ipa音素表示为一个24维的音韵特征,每一维代表某个音韵特征;分别用2bit的1、0矢量表示每个音韵特征的+、-、0,用3bit对每个音韵特征的符号《blk》、《spn》、《nsn》编码。
[0055]
实施中,将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率,包括:
[0056]
将第i个音素的音韵矢量pi转换为音素嵌入矢量ei,维度等于dnn输出的维度h,在第t帧,声学模型dnn的输出为
[0057]
将ei与声学特征h
t
做内积计算logits,z
t,i
代表第t帧时第i个音素对应的logit:
[0058][0059]
实施中,按以下方式将第i个音素的音韵矢量pi转换为音素嵌入矢量ei:
[0060]
用线性矩阵a来作用pi,
[0061]ei
=api#
[0062]
;或,
[0063]
使用多层神经网络进行音韵转换:
[0064]ei
=a2σ(a1pi)#
[0065]
其中a1、a2是线性矩阵,σ(
·
)代表非线性激活函数。
[0066]
实施中,进一步包括:
[0067]
使用phonetisaurus工具包实现字位到音位转换g2p,为各语言生成ipa符号的发音词典。
[0068]
实施中,进一步包括:
[0069]
将多种语言的训练集、与开发集进行混合并打乱,组成包含多语言的训练集和开发集;
[0070]
将多种语言g2p生成的发音词典进行融合,作为多语言训练时采用的词典。
[0071]
实施中,将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率,包括:
[0072]
统计训练集中出现的ipa符号,为ipa符号建立对应的音韵矢量;
[0073]
将音素的音韵矢量拼接为音韵矢量矩阵后一同输入,并计算出各音素的音素嵌入矢量phone embedding;
[0074]
训练时,dnn的输出与音韵矢量转化来的音素嵌入矢量phone embedding相乘,计算出各音素的内积logit。
[0075]
实施中,进一步包括:
[0076]
训练时误差反传,用以更新dnn与神经网络的参数。
[0077]
实施中,进一步包括在获取声谱时按如下方式之一或者其组合进行设置:
[0078]
训练时采用基于ctc-crf的语音识别工具包;
[0079]
为每条音频数据提取40维的fbank特征并做二阶差分,作为am的输入;
[0080]
声学模型采用3层的vggblstm,blstm每层隐含单元数为1024;
[0081]
训练时设置随机失活因子dropout为0.5,采用adam优化器进行优化,初始学习率为1e-3;
[0082]
当模型在开发集上的表现有下降时,学习率降为之前的1/10,当学习率小于1e-5时停止训练。
[0083]
实施中,训练好多语言模型后,进一步包括:
[0084]
对目标语言进行识别。
[0085]
一种多语言训练装置,包括:
[0086]
音韵模块,用于通过神经网络获取音韵特征后,转化为以矢量编码的音素嵌入矢量,其中,将音韵特征编码为音韵矢量;
[0087]
声学模块,用于获取声谱后,通过声学模型dnn提取声学特征;
[0088]
内积模块,用于将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率。
[0089]
实施中,音韵模块进一步用于在将音韵特征编码为音韵矢量时,包括:
[0090]
将各语种的每个ipa音素表示为一个24维的音韵特征,每一维代表某个音韵特征;分别用2bit的1、0矢量表示每个音韵特征的+、-、0,用3bit对每个音韵特征的符号《blk》、《spn》、《nsn》编码。
[0091]
实施中,内积模块进一步用于在将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率时,包括:
[0092]
将第i个音素的音韵矢量pi转换为音素嵌入矢量ei,维度等于dnn输出的维度h,在第t帧,声学模型dnn的输出为
[0093]
将ei与声学特征h
t
做内积计算logits,z
t,i
代表第t帧时第i个音素对应的logit:
[0094][0095]
实施中,音韵模块进一步用于按以下方式将第i个音素的音韵矢量pi转换为音素嵌入矢量ei:
[0096]
用线性矩阵a来作用pi,
[0097]ei
=api#
[0098]
;或,
[0099]
使用多层神经网络进行音韵转换:
[0100]ei
=a2σ(a1pi)#
[0101]
其中a1、a2是线性矩阵,σ(
·
)代表非线性激活函数。
[0102]
实施中,音韵模块进一步用于使用phonetisaurus工具包实现字位到音位转换g2p,为各语言生成ipa符号的发音词典。
[0103]
实施中,音韵模块进一步用于将多种语言的训练集、与开发集进行混合并打乱,组成包含多语言的训练集和开发集;
[0104]
将多种语言g2p生成的发音词典进行融合,作为多语言训练时采用的词典。
[0105]
实施中,内积模块进一步用于在将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率时,包括:
[0106]
统计训练集中出现的ipa符号,为ipa符号建立对应的音韵矢量;
[0107]
将音素的音韵矢量拼接为音韵矢量矩阵后一同输入,并计算出各音素的音素嵌入矢量phone embedding;
[0108]
训练时,dnn的输出与音韵矢量转化来的音素嵌入矢量phone embedding相乘,计算出各音素的内积logit。
[0109]
实施中,进一步包括:
[0110]
更新模块,用于训练时误差反传,用以更新dnn与神经网络的参数。
[0111]
实施中,进一步包括:
[0112]
设置模块,用于在获取声谱时按如下方式之一或者其组合进行设置:
[0113]
训练时采用基于ctc-crf的语音识别工具包;
[0114]
为每条音频数据提取40维的fbank特征并做二阶差分,作为am的输入;
[0115]
声学模型采用3层的vggblstm,blstm每层隐含单元数为1024;
[0116]
训练时设置随机失活因子dropout为0.5,采用adam优化器进行优化,初始学习率为1e-3;
[0117]
当模型在开发集上的表现有下降时,学习率降为之前的1/10,当学习率小于1e-5时停止训练。
[0118]
实施中,进一步包括:
[0119]
识别模块,用于在训练好多语言模型后,对目标语言进行识别。
[0120]
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述多语言训练方法。
[0121]
本发明有益效果如下:
[0122]
本发明实施例提供的技术方案中,引入音韵特征,通过自顶而下的音韵转换得到音素嵌入矢量,通过自底而上dnn得到声学模型输出的声学特征,两者结合计算出音素的后验概率。由于引入音韵学层面知识,可以在发音部位、发音方法等层面将不同音素联系得更紧密,避免了现有技术中训练音韵特征提取器的麻烦。
[0123]
进一步的,由于不用从声学特征中提取音韵特征,而是用两部分的模型分别计算提取。而且音素嵌入矢量的神经网络学习到的是对音韵特征的处理和转化,即使是unseen phones,只要写出它的音韵特征,该网络就能正常工作,这使得跨语言zero-shot的学习成为了可能,对于从未见过的音素,也能有较好的迁移效果。
附图说明
[0124]
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0125]
图1为背景技术中西、意两语的音素集重叠情况示意图;
[0126]
图2为本发明实施例中传统的“自底而上”音韵特征方法流程示意图;
[0127]
图3为本发明实施例中多语言训练方法实施流程示意图;
[0128]
图4为本发明实施例中joinap方法的实施流程示意图;
[0129]
图5为本发明实施例中多语言训练装置结构示意图。
具体实施方式
[0130]
发明人在发明过程中注意到:
[0131]
已有一些研究利用了音韵特征来帮助多语言、跨语言的语音识别,它们采用的方法多为“自底而上”的,图2为传统的“自底而上”音韵特征方法流程示意图,如图2所示,包括:acoustic spectra(声谱)获取、phonological feature extractor(语音特征抽取器)处理、voicing(声)以及high(高)进入、phonological feature posteriors(音韵特征后验)、feature concatenation,or model combination(特征连接或模型组合)、standard acoustic model(标准声学模型)处理、phone probabilities(音素概率)。
[0132]
该模型中,训练一个音韵特征提取器,该提取器会输出各音韵特征的后验概率,然后经过串联后输入到后面的声学模型中,最终得到每个音素的后验概率。这种方法有一些缺点,首先这种自底而上的“声学到音韵”提取很复杂,训练一个音韵特征提取器需要将句子细分到音素级别并逐个标注;另外,这种模型无法应对crosslingualzero-shot情形下从未见过的音素(unseenphones),输出层中与这些unseenphones有关的参数是直接被初始化的。
[0133]
目前的不少多语言语音识别工作都是基于共同音素集的,只有当某一音素出现在不同语种中,才能在多语种训练中对其有帮助,那些语种独有的音素很难在多语种训练中受益于更多的训练数据。
[0134]
也有少量工作采用了音韵特征进一步拆解音素,在音韵特征层面共享信息。但是采用的方法都是一种“自底而上”的从声学特征中提取音韵特征的方式,这样的提取器训练很困难,而且还有一个明显的缺点:在跨语言识别中无法处理unseen的音素。
[0135]
基于此,本发明实施例中提供了一种联结声学与音韵学的多语言及跨语言语音识别方案,这是一种融合了音韵特征和声学特征,用于提高多语言、跨语言语音识别效果的多语言模型训练方案。
[0136]
下面结合附图对本发明的具体实施方式进行说明。
[0137]
图3为多语言训练方法实施流程示意图,如图所示,可以包括:
[0138]
步骤301、通过神经网络获取音韵特征后,转化为以矢量编码的音素嵌入矢量,其中,将音韵特征编码为音韵矢量;
[0139]
步骤302、获取声谱后,通过声学模型dnn提取声学特征;
[0140]
步骤303、将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率。
[0141]
方案主要实现的是将“自底而上”的声学特征提取和“自顶而下”的音韵特征转换相结合,实现多语种模型的训练,帮助在多语言、跨语言识别中取得更好结果。
[0142]
具体的,是自顶而下将音韵特征转化为音素嵌入矢量(phone embedding),与自底而上提取的声学特征结合,共同计算音素后验概率的多语言训练方案。实施例中将会把这个方案称为joinap(声学与音韵学的结合,joining of acoustics and phonology)。
[0143]
音韵特征(或称区别特征)是语音学中的重要概念,可以用于区别不同的音素,一个音素能够看作是一系列音韵特征构建起来的。将音韵特征用于多语言模型的训练,可以像图1所示那样,使得不同语言间的独立音素保持特征上的联系,从而方便信息共享。
[0144]
实施中,将音韵特征编码为音韵矢量,包括:
[0145]
将各语种的每个ipa音素表示为一个24维的音韵特征,每一维代表某个音韵特征;分别用2bit的1、0矢量表示每个音韵特征的+、-、0,用3bit对每个音韵特征的符号《blk》、《spn》、《nsn》编码。
[0146]
具体的,使用panphon工具包中对ipa音素的音韵特征表达,将各语种的每个ipa音素表示为一个24维的音韵特征,每一维都代表某个音韵特征。每个音韵特征有三种表达“+”、
“‑”
、“0”,为了让神经网络更好地表达处理音韵特征,将音韵特征编码为音韵矢量(phonological vector),具体方式可以是:用2bit的1、0矢量表示每个音韵特征,以“round”特征为例,第一个bit指示“round+”,第二个指示“round
‑”
,于是“+”在音韵矢量中被编码为“10”,
“‑”
为“01”,“0”则是“00”。
[0147]
另外在用ctc(联结主义时间分类,connectionist temporal classification)-crf(条件随机场,conditional random fields)训练声学模型时,有三个额外的特殊输出符号:《blk》(空)、《spn》(说话噪音)、《nsn》(自然噪音),因此加入了额外的3bit,用one-hot(独热、或一位有效)编码的方式对这三个符号编码。最终,得到了51bit的音韵矢量,将每个ipa音素拆分表示成了1、0矢量。其中:
[0148]
crf:通常用于序列标注任务,比如:bilstm+crf、idcnn+crf,场景的特点是,输入与输出是一一对应的。其中语义模型先根据输入生成每个字的“打分”(后验概率的-log),作为解码时的反向观测概率。
[0149]
ctc解码:一种语音识别的方法,输入为语音,输出为文字,特点是:一种输出可能
对应着多个正确的路径。
[0150]
实施中,将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率,包括:
[0151]
将第i个音素的音韵矢量pi转换为音素嵌入矢量ei,维度等于dnn输出的维度h,在第t帧,声学模型dnn的输出为
[0152]
将ei与声学特征h
t
做内积计算logits,z
t,i
代表第t帧时第i个音素对应的logit:
[0153][0154]
具体的,在未引入音韵矢量时,计算音素后验概率的方法是:在第t帧,声学模型dnn(动态神经系统,dynamic neural network)的输出为如果dnn是隐含层大小为1024的lstm(长短期记忆,long short-term memory),h等于1024。然后将h
t
通过线性全联接层,得到维度等于音素tokens(令牌)数目的logits(内积),再经过softmax后得到了各音素对应的后验概率。
[0155]
希望在训练中把音韵矢量和dnn提取出的声学特征结合在一起,共同计算音素的后验概率。首先,将第i个音素的音韵矢量pi转换为嵌入矢量ei,称为phone embedding,其维度等于dnn输出的维度h,然后将ei与h
t
做内积计算logits,z
t,i
代表第t帧时第i个音素对应的logit:
[0156][0157]
实施中,按以下方式将第i个音素的音韵矢量pi转换为音素嵌入矢量ei:
[0158]
用线性矩阵a来作用pi,
[0159]ei
=api#
[0160]
;或,
[0161]
使用多层神经网络进行音韵转换:
[0162]ei
=a2σ(a1pi)#
[0163]
其中a
1、
a2是线性矩阵,σ(
·
)代表非线性激活函数。
[0164]
具体的,如何将音韵矢量转换为phone embedding,有两种方式:
[0165]
(1)线性joinap,直接用线性矩阵a来作用pi,
[0166]ei
=api#(2)
[0167]
(2)非线性joinap,与线性joinap类似,只是在计算中插入了非线性,使用多层神经网络进行音韵转换:
[0168]ei
=a2σ(a1pi)#(3)
[0169]
其中a1a2是线性矩阵,σ(
·
)代表非线性激活函数(如sigmoid),引入非线性可以提高模型的深层特征表达能力。通过两种方法转换出ei后,均按照式(1)计算出logits。
[0170]
图4为joinap方法的实施流程示意图,如图4所示,包括:
[0171]
phone(音韵)输入、phonological transformation(音素转换)、phone embedding(音素嵌入);
[0172]
acoustic spectra(声谱)输入、dnn based feature extractor(基于dnn的特征抽取器)抽取、dnn output(dnn输出);
[0173]
音素嵌入以及声学特征logits(内积)。
[0174]
具体的,通过自顶而下的音韵转换得到音素嵌入矢量ei,通过自底而上dnn得到声学模型输出h
t
,两者结合计算出音素logits。joinap的方案相比传统的“自底而上”方法,不用从声学特征中提取音韵特征,而是用两部分的模型分别计算提取。而且phonological transformation的神经网络学习到的是对音韵特征的处理和转化,即使是unseen phones,只要写出它的音韵特征,该网络就能正常工作,这使得跨语言zero-shot的学习成为了可能,对于从未见过的音素,也能有较好的迁移效果。
[0175]
下面介绍数据准备以及模型训练的具体实施方式。
[0176]
(一)数据预处理
[0177]
1、g2p生成ipa词典。
[0178]
实施中,还可以进一步包括:
[0179]
使用phonetisaurus工具包实现字位到音位转换g2p,为各语言生成ipa符号的发音词典。
[0180]
具体的,为了统一多语言间的音素表示,可以为各语言生成ipa符号的发音词典,采取的方法是使用phonetisaurus工具包实现g2p(字位到音位转换,grapheme-to-phoneme),即根据一个词的字位组合来自动生成它的音位序列,也就是得到了常说的发音词典。phonetisaurus基于wfst(加权有限状态转换机,weighted finite-state transducer),用n-gram对音素进行建模,构建wfst图,然后在解码时用rnnlm(rnn语言模型;rnn:循环神经网络,recurrent neural network)进行重打分,利用词格最小化贝叶斯风险(lmbr)解码,还使用了em(最大期望算法,expectation-maximization algorithm)算法实现字位与音位的对齐。使用phonetisaurus时可以利用mark hasegawa-johnson等人训练好的g2p模型,用wfst的形式保存了起来。另外,利用该工具包将训练集中所有出现过的词都进行g2p转换,也有效减少了集外词(oov)导致的问题。
[0181]
2、多语言数据集的准备。
[0182]
实施中,还可以进一步包括:
[0183]
将多种语言的训练集、与开发集进行混合并打乱,组成包含多语言的训练集和开发集;
[0184]
将多种语言g2p生成的发音词典进行融合,作为多语言训练时采用的词典。
[0185]
具体的,为了训练多语言的声学模型,可以将所有语言的训练集、开发集进行混合并打乱,组成包含多语言的训练集和开发集,同时也将所有语言g2p生成的发音词典进行融合,作为多语言训练时采用的词典。进行多语言训练前,其他数据准备操作与单语种一致,只是不训练多语言的语言模型。
[0186]
(二)多语言模型训练。
[0187]
1、训练方法。
[0188]
实施中,将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率,包括:
[0189]
统计训练集中出现的ipa符号,为ipa符号建立对应的音韵矢量;
[0190]
将音素的音韵矢量拼接为音韵矢量矩阵后一同输入,并计算出各音素的音素嵌入矢量phone embedding;
[0191]
训练时,dnn的输出与音韵矢量转化来的音素嵌入矢量phone embedding相乘,计算出各音素的内积logit。
[0192]
具体的,用混合了多语言的训练集进行多语言模型的训练。预先统计训练集中出现的所有ipa符号,为它们建立对应的音韵矢量。音韵矢量在图4的自顶而下部分输入,将所有音素的音韵矢量拼接为音韵矢量矩阵,然后一同输入,同时计算出各音素的phone embedding。训练时的网络结构即为图4所示,dnn的输出不经过全联接层,而是与音韵矢量转化来的phone embedding相乘,从而计算各音素的logit。
[0193]
具体实施中,还可以进一步包括:
[0194]
训练时误差反传,用以更新dnn与神经网络的参数。
[0195]
具体的,训练时误差反传,可以同时更新dnn与音韵转换网络的参数。
[0196]
2、训练参数设置。
[0197]
实施中,还可以进一步包括在获取声谱时按如下方式之一或者其组合进行设置:
[0198]
训练时采用基于ctc-crf的语音识别工具包;
[0199]
为每条音频数据提取40维的fbank特征并做二阶差分,作为am的输入;
[0200]
声学模型采用3层的vggblstm,blstm每层隐含单元数为1024;
[0201]
训练时设置随机失活因子dropout为0.5,采用adam优化器进行优化,初始学习率为1e-3;
[0202]
当模型在开发集上的表现有下降时,学习率降为之前的1/10,当学习率小于1e-5时停止训练。
[0203]
具体的,训练时采用基于ctc-crf的语音识别工具包cat(计算机辅助翻译,computer aided translation)。为每条音频数据提取40维的fbank特征并做二阶差分,作为am的输入。声学模型采用3层的vggblstm(vgg:视觉几何组,visual geometry group),blstm(双向lstm)复现方法说明每层隐含单元数为1024。训练时为防止过拟合,设置随机失活因子dropout为0.5,采用adam优化器进行优化,初始学习率为1e-3。当模型在开发集上的表现有下降时,学习率降为之前的1/10,最后当学习率小于1e-5时停止训练。
[0204]
(三)多语言与跨语言识别。
[0205]
实施中,训练好多语言模型后,还可以进一步包括:
[0206]
对目标语言进行识别。
[0207]
具体的,训练好多语言模型后,就可以开始对目标语言进行识别测试。按照传统方法准备目标语言的数据,训练语言模型生成解码图。声学模型部分,在训练好的多语言模型上用目标语言的训练数据进行微调(finetune),初始学习率设为1e-4。跨语言识别中,可以不用目标语言finetune,直接进行zero-shot学习,也可以使用少量的目标语言数据进行finetune,这是跨语言识别的few-shot情形。finetune时,直接用目标语言的音韵矢量矩阵替换多语言训练时的音韵矢量矩阵即可。
[0208]
基于同一发明构思,本发明实施例中还提供了一种多语言训练装置、及计算机可读存储介质,由于这些设备解决问题的原理与多语言训练方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。
[0209]
在实施本发明实施例提供的技术方案时,可以按如下方式实施。
[0210]
图5为多语言训练装置结构示意图,如图所示,装置中包括:
[0211]
处理器500,用于读取存储器520中的程序,执行下列过程:
[0212]
通过神经网络获取音韵特征后,转化为以矢量编码的音素嵌入矢量,其中,将音韵
特征编码为音韵矢量;
[0213]
获取声谱后,通过声学模型dnn提取声学特征;
[0214]
将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率;
[0215]
收发机510,用于在处理器500的控制下接收和发送数据。
[0216]
实施中,将音韵特征编码为音韵矢量,包括:
[0217]
将各语种的每个ipa音素表示为一个24维的音韵特征,每一维代表某个音韵特征;分别用2bit的1、0矢量表示每个音韵特征的+、-、0,用3bit对每个音韵特征的符号《blk》、《spn》、《nsn》编码。
[0218]
实施中,将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率,包括:
[0219]
将第i个音素的音韵矢量pi转换为音素嵌入矢量ei,维度等于dnn输出的维度h,在第t帧,声学模型dnn的输出为
[0220]
将ei与声学特征h
t
做内积计算logits,z
t,i
代表第t帧时第i个音素对应的logit:
[0221][0222]
实施中,按以下方式将第i个音素的音韵矢量pi转换为音素嵌入矢量ei:
[0223]
用线性矩阵a来作用pi,
[0224]ei
=api#
[0225]
;或,
[0226]
使用多层神经网络进行音韵转换:
[0227]ei
=a2σ(a1pi)#
[0228]
其中a1、a2是线性矩阵,σ(
·
)代表非线性激活函数。
[0229]
实施中,进一步包括:
[0230]
使用phonetisaurus工具包实现字位到音位转换g2p,为各语言生成ipa符号的发音词典。
[0231]
实施中,进一步包括:
[0232]
将多种语言的训练集、与开发集进行混合并打乱,组成包含多语言的训练集和开发集;
[0233]
将多种语言g2p生成的发音词典进行融合,作为多语言训练时采用的词典。
[0234]
实施中,将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率,包括:
[0235]
统计训练集中出现的ipa符号,为ipa符号建立对应的音韵矢量;
[0236]
将音素的音韵矢量拼接为音韵矢量矩阵后一同输入,并计算出各音素的音素嵌入矢量phone embedding;
[0237]
训练时,dnn的输出与音韵矢量转化来的音素嵌入矢量phone embedding相乘,计算出各音素的内积logit。
[0238]
实施中,进一步包括:
[0239]
训练时误差反传,用以更新dnn与神经网络的参数。
[0240]
实施中,进一步包括在获取声谱时按如下方式之一或者其组合进行设置:
[0241]
训练时采用基于ctc-crf的语音识别工具包;
[0242]
为每条音频数据提取40维的fbank特征并做二阶差分,作为am的输入;
[0243]
声学模型采用3层的vggblstm,blstm每层隐含单元数为1024;
[0244]
训练时设置随机失活因子dropout为0.5,采用adam优化器进行优化,初始学习率为1e-3;
[0245]
当模型在开发集上的表现有下降时,学习率降为之前的1/10,当学习率小于1e-5时停止训练。
[0246]
实施中,训练好多语言模型后,进一步包括:
[0247]
对目标语言进行识别。
[0248]
其中,在图5中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器500代表的一个或多个处理器和存储器520代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机510可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器500负责管理总线架构和通常的处理,存储器520可以存储处理器500在执行操作时所使用的数据。
[0249]
本发明实施例中还提供了一种多语言训练装置,包括:
[0250]
音韵模块,用于通过神经网络获取音韵特征后,转化为以矢量编码的音素嵌入矢量,其中,将音韵特征编码为音韵矢量;
[0251]
声学模块,用于获取声谱后,通过声学模型dnn提取声学特征;
[0252]
内积模块,用于将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率。
[0253]
实施中,音韵模块进一步用于在将音韵特征编码为音韵矢量时,包括:
[0254]
将各语种的每个ipa音素表示为一个24维的音韵特征,每一维代表某个音韵特征;分别用2bit的1、0矢量表示每个音韵特征的+、-、0,用3bit对每个音韵特征的符号《blk》、《spn》、《nsn》编码。
[0255]
实施中,内积模块进一步用于在将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率时,包括:
[0256]
将第i个音素的音韵矢量pi转换为音素嵌入矢量ei,维度等于dnn输出的维度h,在第t帧,声学模型dnn的输出为
[0257]
将ei与声学特征h
t
做内积计算logits,z
t,i
代表第t帧时第i个音素对应的logit:
[0258][0259]
实施中,音韵模块进一步用于按以下方式将第i个音素的音韵矢量pi转换为音素嵌入矢量ei:
[0260]
用线性矩阵a来作用pi,
[0261]ei
=api#
[0262]
;或,
[0263]
使用多层神经网络进行音韵转换:
[0264]ei
=a2σ(a1pi)#
[0265]
其中a1、a2是线性矩阵,σ(
·
)代表非线性激活函数。
[0266]
实施中,音韵模块进一步用于使用phonetisaurus工具包实现字位到音位转换
g2p,为各语言生成ipa符号的发音词典。
[0267]
实施中,音韵模块进一步用于将多种语言的训练集、与开发集进行混合并打乱,组成包含多语言的训练集和开发集;
[0268]
将多种语言g2p生成的发音词典进行融合,作为多语言训练时采用的词典。
[0269]
实施中,内积模块进一步用于在将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率时,包括:
[0270]
统计训练集中出现的ipa符号,为ipa符号建立对应的音韵矢量;
[0271]
将音素的音韵矢量拼接为音韵矢量矩阵后一同输入,并计算出各音素的音素嵌入矢量phone embedding;
[0272]
训练时,dnn的输出与音韵矢量转化来的音素嵌入矢量phone embedding相乘,计算出各音素的内积logit。
[0273]
实施中,进一步包括:
[0274]
更新模块,用于训练时误差反传,用以更新dnn与神经网络的参数。
[0275]
实施中,进一步包括:
[0276]
设置模块,用于在获取声谱时按如下方式之一或者其组合进行设置:
[0277]
训练时采用基于ctc-crf的语音识别工具包;
[0278]
为每条音频数据提取40维的fbank特征并做二阶差分,作为am的输入;
[0279]
声学模型采用3层的vggblstm,blstm每层隐含单元数为1024;
[0280]
训练时设置随机失活因子dropout为0.5,采用adam优化器进行优化,初始学习率为1e-3;
[0281]
当模型在开发集上的表现有下降时,学习率降为之前的1/10,当学习率小于1e-5时停止训练。
[0282]
实施中,进一步包括:
[0283]
识别模块,用于在训练好多语言模型后,对目标语言进行识别。
[0284]
为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
[0285]
本发明实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述多语言训练方法。
[0286]
具体实施可以参见多语言训练方法的实施。
[0287]
综上所述,本发明实施例提供的技术方案中,引入音韵特征,用线性或非线性的网络将其转换为音素嵌入矢量,与自底而上提取的声学特征结合,共同计算音素后验概率。引入的音韵学层面知识,可以在发音部位、发音方法等层面将不同音素联系得更紧密。避免了现有技术中训练音韵特征提取器的麻烦。
[0288]
进一步的,对于跨语言识别中的unseen音素(即未出现在训练集中的音素)也有帮助。
[0289]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形
式。
[0290]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0291]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0292]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0293]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
技术特征:
1.一种多语言训练方法,其特征在于,包括:通过神经网络获取音韵特征后,转化为以矢量编码的音素嵌入矢量,其中,将音韵特征编码为音韵矢量;获取声谱后,通过声学模型深度神经网络dnn提取声学特征;将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率。2.如权利要求1所述的方法,其特征在于,将音韵特征编码为音韵矢量,包括:将各语种的每个国际音标ipa音素表示为一个24维的音韵特征,每一维代表某个音韵特征;分别用2bit的1、0矢量表示每个音韵特征的+、-、0,用3bit对每个音韵特征的符号<blk>、<spn>、<nsn>编码。3.如权利要求1所述的方法,其特征在于,将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率,包括:将第i个音素的音韵矢量p
i
转换为音素嵌入矢量e
i
,维度等于dnn输出的维度h,在第t帧,声学模型dnn的输出为将e
i
与声学特征h
t
做内积计算logits,z
t,i
代表第t帧时第i个音素对应的logit:4.如权利要求3所述的方法,其特征在于,按以下方式将第i个音素的音韵矢量p
i
转换为音素嵌入矢量e
i
:用线性矩阵a来作用p
i
,e
i
=ap
i
#或,使用多层神经网络进行音韵转换:e
i
=a2σ(a1p
i
)#其中a1、a2是线性矩阵,σ(
·
)代表非线性激活函数。5.如权利要求1所述的方法,其特征在于,进一步包括:使用phonetisaurus工具包实现字位到音位转换字位到音位转换g2p,为各语言生成ipa符号的发音词典。6.如权利要求1所述的方法,其特征在于,进一步包括:将多种语言的训练集、与开发集进行混合并打乱,组成包含多语言的训练集和开发集;将多种语言g2p生成的发音词典进行融合,作为多语言训练时采用的词典。7.如权利要求6所述的方法,其特征在于,将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率,包括:统计训练集中出现的ipa符号,为ipa符号建立对应的音韵矢量;将音素的音韵矢量拼接为音韵矢量矩阵后一同输入,并计算出各音素的音素嵌入矢量音素嵌入phone embedding;训练时,dnn的输出与音韵矢量转化来的音素嵌入矢量phone embedding相乘,计算出各音素的内积logit。8.如权利要求7所述的方法,其特征在于,进一步包括:训练时误差反传,用以更新dnn与神经网络的参数。
9.如权利要求1所述的方法,其特征在于,进一步包括在获取声谱时按如下方式之一或者其组合进行设置:训练时采用基于联结主义时间分类-条件随机场ctc-crf的语音识别工具包;为每条音频数据提取40维的fbank特征并做二阶差分,作为声学模型am的输入;声学模型采用3层的视觉几何组双向长短期记忆vggblstm,双向长短期记忆blstm每层隐含单元数为1024;训练时设置随机失活因子dropout为0.5,采用adam优化器进行优化,初始学习率为1e-3;当模型在开发集上的表现有下降时,学习率降为之前的1/10,当学习率小于1e-5时停止训练。10.如权利要求1至9任一所述的方法,其特征在于,训练好多语言模型后,进一步包括:对目标语言进行识别。11.一种多语言训练装置,其特征在于,包括:处理器,用于读取存储器中的程序,执行下列过程:通过神经网络获取音韵特征后,转化为以矢量编码的音素嵌入矢量,其中,将音韵特征编码为音韵矢量;获取声谱后,通过声学模型dnn提取声学特征;将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率;收发机,用于在处理器的控制下接收和发送数据。12.一种多语言训练装置,其特征在于,包括:音韵模块,用于通过神经网络获取音韵特征后,转化为以矢量编码的音素嵌入矢量,其中,将音韵特征编码为音韵矢量;声学模块,用于获取声谱后,通过声学模型dnn提取声学特征;内积模块,用于将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率。13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至10任一所述方法。
技术总结
本发明公开了一种多语言训练方法、装置及存储介质,包括:通过神经网络获取音韵特征后,转化为以矢量编码的音素嵌入矢量,其中,将音韵特征编码为音韵矢量;获取声谱后,通过声学模型DNN提取声学特征;将音素嵌入矢量与声学特征进行内积后计算出音素的后验概率。采用本发明,避免了现有技术中训练音韵特征提取器的麻烦。使得跨语言zero-shot的学习成为了可能,对于从未见过的音素,也能有较好的迁移效果。也能有较好的迁移效果。也能有较好的迁移效果。
技术研发人员:欧智坚 黄毅 朱程睿 冯俊兰 金镝
受保护的技术使用者:中国移动通信有限公司研究院 中国移动通信集团有限公司
技术研发日:2022.03.15
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/