发明内容
本发明的目的在于克服上述技术缺陷,构建了一种新的语言种类和语音内容协同分类的声学模型,在识别多种语言的语音内容的同时,该模型可以自动判定输入数据所属的语言种类,生成相应语言的语种特征向量,同时通过语种相关信息对特定语言输出层网络的辅助训练可以提升特定语言的识别性能。
为实现上述目的,本发明提出了基于语言种类和语音内容协同分类的多语言语音识别方法,所述方法包括:
步骤1)建立和训练语言种类和语音内容协同分类声学模型;该声学模型融合了包含语种相关信息的语种特征向量,在多语言识别过程中能够利用语种特征向量对特定语种的音素分类层做模型自适应优化;
步骤2)将待识别的语音特征序列输入训练好的语言种类和语音内容协同分类声学模型,输出特征序列对应的音素后验概率分布;在解码阶段,解码器结合特征的序列音素后验概率分布生成若干个候选词序列和其对应的声学模型得分;
步骤3)将若干个候选词序列输入语言模型得到语言模型得分,将候选词序列的声学模型得分和语言模型得分进行结合作为总体分数,将总体分数最高的候选词序列作为特定语言的语音内容的识别结果。
作为上述方法的一种改进,所述步骤1)具体包括:
步骤1-1)为每个多语言训练数据生成对应的语音内容文本标注和语种分类标签;由此构建多语言训练集,
步骤1-2)构建多语言语音内容识别模型,该模型的输入层为语音的声学特征向量,隐含层为层数为n1的多语言共享隐含层,该隐含层分别与m个语言门连接,m为语种类型的数量,每个语言门的输出通过对应的语言输出层输出音素分类结果;
步骤1-3)构建语种分类模型,该模型的输入层与为音频的声学特征向量,隐含层的层数为n2,通过对语音的声学特征向量做非线性变换,输出语言种类分类结果;输出层节点数为语种类型的数量m,
步骤1-4)基于多语言语音内容识别模型和语种分类模型建立语言种类和语音内容协同分类声学模型;将语种分类模型的中间隐层的向量通过隐层连接传递到多语言语音内容识别模型,与多语言共享隐含层输出的向量共同输入非线性变换构成的m个语言门;
步骤1-5)通过步骤1-1)构建的多语言训练集,联合训练语种分类模型和多语言语音内容识别模型的参数,得到训练好的语言种类和语音内容协同分类声学模型。
作为上述方法的一种改进,所述步骤1-4)的第i,i=1,2…m个语言门的输出
的计算公式为:
其中,h是多语言共享隐含层输出的向量,v是语种分类模型的中间隐层输出的向量,gi(h,v)是第i个语言门的激活函数,gi(h,v)的计算公式为:
gi(h,v)=σ(Wi(h+Uiv+bi)
其中,Wi和Ui为第i个第一权重变换矩阵和第i个第二权重变换矩阵,bi是第i个偏置向量,σ(·)为非线性激活函数。
作为上述方法的一种改进,所述步骤1-5)的训练语种分类模型和多语言语音内容识别模型的参数包括:多语言共享的隐含层参数、矩阵Wi、Ui和bi,i=1,2…m以及m个语言输出层参数。
作为上述方法的一种改进,所述步骤1-5)具体包括:
步骤1-5-1)所述多语言共享的隐含层参数由多语言训练数据共同更新训练:在前向计算过程中,多种语言训练数据通过共享的网络参数以及语言输出层对输入的声学特征向量进行非线性变换,在m个语言输出层均有概率输出;
步骤1-5-2)在计算误差损失函数过程中,特定语言的输入特征只在对应的语言输出层计算误差损失函数值,其它的语言输出层计算的误差损失函数值为零;
步骤1-5-3)在误差反向回传过程中,每个语言输出层只针对特定语言的数据进行模型参数更新;由于多语言共享的隐含层同时连接m个语言输出层,共享的隐含层网络参数由m个语言输出层回传误差共同更新;
步骤1-5-4)反复执行步骤1-5-1)-步骤1-5-3),直至所有的模型参数收敛。
本发明的优势在于:
1、本发明的基于语言种类和语音内容协同分类的多语言语音识别方法,通过将语种分类模型的语种分类信息传递到多语言语音内容识别模型中,使得多语言语音内容识别模型能够利用语种分类信息对特定语种的音素分类做自适应训练;
2、本发明的方法解决了多语言语音识别中的特定语言自适应问题,在特定语言的语音内容识别任务中取得了较好的识别性能,同时也能够得到较为实用的语言种类分类结果,实现了语音内容和语言种类协同识别;
3、本发明的方法通过语种分类模型可以自动判定输入数据的语种分类,节省了大量的人工标注工作,同时提高了语音内容识别的性能。
具体实施方式
下面结合附图和具体实施例对本发明进行详细的说明。
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明提供了基于语言种类语音内容协同分类的多语言语音识别系统,该系统包括:信号处理及特征提取模块、发音词典、语言模型、解码器以及语言种类和语音内容协同分类声学模型;其中,语言种类和语音内容协同分类声学模型包括:多语言语音内容识别模型和语种分类模型;本系统通过将语种分类模型的语种分类信息传递到多语言语音内容识别模型中,使得多语言语音内容识别模型能够利用语种分类信息对特定语种的音素分类做自适应训练。
所述信号处理及特征提取模块,用于对待识别的音频信号进行增强,将所述待识别的音频信号从时域转化到频域,并提取声学特征;
所述语言种类和语音内容协同分类声学模型,用于以提取的声学特征为输入,生成和输出声学模型得分;该模型包括:多语言语音内容识别模型和语种分类模型;所述多语言语音内容识别模型包括:多语言共享隐含层和特定语言输出层;所述多语言共享隐含层的模型参数通过多种语言的数据进行联合更新训练,使得隐含层可以学习到多种语言共有的声学特征信息;所述特定语言的输出层的模型参数只根据特定语言的数据进行更新训练,针对特定语言的声学特性进行优化,所述特定语言的输出层输出节点根据特定语言的音素聚类信息进行分类;所述语种分类模型,利用多语言数据对模型参数进行更新训练,将输入特征向量通过多个隐含层的非线性变换分类为特定的语言种类。
语言模型,用于学习并估计文本训练语料中词之间的转移概率,输出所述待识别的音频信号对应的候选词序列的语言模型得分;
解码器,用于根据给定的待识别音频信号的特征向量序列生成多条候选词序列,结合所述声学模型得分和所述语言模型得分作为总体分数,将总体分数最高的词序列作为识别结果。
此外,本发明还提供了基于语言种类和语音内容协同分类的多语言语音识别方法,所述方法包括:
步骤1)建立和训练语言种类和语音内容协同分类声学模型;所述语言种类和语音内容协同分类声学模型包括:多语言语音内容识别模型和语种分类模型;具体包括:
步骤1-1)构建多语言训练集,为多语言训练集的训练数据生成对应的语音内容文本标注和语种分类标签;
通过多语言训练数据进行强制数据对齐,为每一种语言生成训练数据对应音素特征向量的均值和方差统计量,根据所述音素统计量为每一种语言构建音素聚类问题集,根据所述音素统计量和音素问题集构建音素聚类决策树;
步骤1-2)建立多语言语音内容识别模型,该模型的输入层为音频的声学特征,隐含层为层数为3的多语言共享隐含层,隐含层分别与m个语言门结构连接,m为语种类型的数量,根据特定语言音素聚类决策树的叶子节点状态,在多语言共享隐含层的基础上为每个语种生成特定语言输出层;每个语言门结构的输出通过对应的特定语言输出层输出特定的音素分类结果。
步骤1-3)建立语种分类模型,该模型的输入层与多语言语音内容识别模型的输入层相同,为音频的声学特征,隐含层为层数为3的隐含层,通过对音频的声学特征做非线性变换,输出语言种类分类结果;根据语种分类标签的语种数量确定输出层节点数;其输出层节点数为语种类型的数量m,
步骤1-4)基于多语言语音内容识别模型和语种分类模型建立语言种类和语音内容协同分类声学模型;如图1所示,将语种分类模型的第二隐含层向量信息通过隐层连接传递到多语言语音内容识别模型,与多语言共享隐含层输出的向量共同输入非线性变换构成的3个特定语言门结构;辅助多语言语音内容识别模型的特定语言的输出层针对特定语言做自适应训练。
特定语言门结构的输出的计算公式为:
其中,h是多语言语音内容识别模型的隐含层输出的向量,v是语种分类模型的中间隐层输出向量,gi(h,v)是第i个特定语言门激活函数,在本实施例中i=1,2,3,m=3;gi(h,v)的计算公式为:
gi(h,v)=σ(Wi(h+Uiv+bi)
其中,Wi和Ui为第i个第一权重变换矩阵和第i个第二权重变换矩阵,bi是第i个偏置向量,σ(·)为非线性激活函数。
所述语种分类模型的中间隐层向量v首先通过矩阵变换,将特征维度映射到与多语言语音内容识别模型的隐含层向量h相同的维度;然后将维度变换后的语种分类模型的中间隐层向量与多语言语音内容识别模型的隐含层向量进行加和,加和后的信息再通过线性矩阵变换以及非线性激活函数变换得到3个语言门激活函数,每个语言门的激活函数与语音内容识别模型的隐含层向量h进行卷积,卷积的结果分别输出到3个特定语言输出层:第一语言输出层,第二语言输出层和第三语言输出层。
语言门是用于对语音内容识别分支的参数做自适应训练。相当于在隐层加入一部分额外的特征信息(也就是向量v),该部分信息在多语言语音内容识别模型分支起到的作用和输入特征起到的作用类似,只是作为一部分补充特征,由于特征v先通过了一个语种分类分支,所以特征向量v为语种分类相关的信息。
在语音内容分类分支在训练阶段不需要根据语种类型选择输出,而是多个语种输出层都有输出,在计算误差反向回传的过程中需要用到分类标签,除了正确的输出层有标签以外,其他的输出层标签都为0,所以非正确输出层的计算误差为0。
步骤1-5)通过步骤1-1)构建的多语言训练集,联合训练语种分类模型和多语言语音内容识别模型,得到训练好的语言种类和语音内容协同分类声学模型。
多语言共享的隐含层网络参数由多语言数据共同更新训练;在多语言共享的神经网络前向计算过程中,多种语言数据通过共享的网络参数对输入的多语言特征向量进行非线性变换;在多语言共享的神经网络反向误差回传过程中,共享的神经网络模型参数由多种语言的输出层回传误差共同更新;特定语言的输出层网络只根据特定语言的输出行模型参数更新。
具体包括:
步骤1-5-1)所述多语言共享的隐含层参数由多语言训练数据共同更新训练:在前向计算过程中,多种语言训练数据通过共享的网络参数以及语言输出层对输入的声学特征向量进行非线性变换,在m个语言输出层均有概率输出;
步骤1-5-2)在计算误差损失函数过程中,特定语言的输入特征只在对应的语言输出层计算误差损失函数值,其它的语言输出层计算的误差损失函数值为零;
步骤1-5-3)在误差反向回传过程中,每个语言输出层只针对特定语言的数据进行模型参数更新;由于多语言共享的隐含层同时连接m个语言输出层,共享的隐含层网络参数由m个语言输出层回传误差共同更新;
步骤1-5-4)反复执行步骤1-5-1)-步骤1-5-3),直至所有的模型参数收敛。
步骤2)将待识别的语音特征序列输入训练好的语言种类和语音内容协同分类声学模型,输出特征序列对应的音素后验概率分布;在解码阶段,解码器结合特征的序列音素后验概率分布生成若干个候选词序列和其对应的声学模型得分;
步骤3)将若干个候选词序列输入语言模型得到语言模型得分,将候选词序列的声学模型得分和语言模型得分进行结合得到总体分数,将总体分数最高的候选词序列作为特定语言的语音内容的识别结果。
基于本发明的语音识别系统的合理性和有效性已经在实际系统上得到了验证,结果见表1:
表1
本发明的方法通过将多种语言的数据进行声学模型联合训练,同时利用语种信息对特定语种的输出层做自适应训练,在三种语言的测试集上得到了平均相对百分之6的性能提升,验证了本发明的基于语言种类和语音内容协同分类的多语言语音识别方法具有较好的语音识别结果。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。