普通话和粤语混合语音识别模型训练方法及系统与流程
本发明涉及语音识别技术领域,尤其涉及普通话和粤语混合语音识别模型训练方法及系统。
背景技术:
随着移动终端设备及语音识别技术的不断发展,出现了一些普通话和方言混合语音识别方案。如讯飞语音输入法、百度语音输入法、搜狗输入法、阿里智能客服,它们均具有普通话和方言混合语音识别功能。
现有解决方案均是基于深度学习框架的算法,根据各自的实际情况使用不同的声学建模单元,通过不同的声学训练流程和算法,支持同时识别多种语言。
常见的解决方案有两种,一种是使用语种分类器判断语音属于哪种语言,然后再将语音输入相应的语音识别系统进行识别,如图1所示。但这种方法需要引入语种识别模块进行语种分类,这样,造成识别结果依赖于语种识别模块的分类性能,当语种识别模块、分类器不稳定时,会造成识别效果差。语音识别准确率是基于语种分类的准确率、语音识别系统准确率的累积确定的,因此,语音识别准确率低于单独的一个语音识别系统,这种方案难以在各种场景具有较强的鲁棒性。并且,服务器上需要部署多套语音识别系统,工程代价高。
另一种方案是采用混合语音识别方法,将多种语言的建模单元混合在一起,然后将不同语言的音频数据和文本数据混合,复用常规的训练流程,进行混合语音识别;也可以将多种语言的字典、训练数据和语料文本混合,再复用常规的训练流程,进行混合语音识别。这种混合语音识别方法容易实现,工程代价比较低,但这种语音识别方法是将多种不同的语言的数据混合在一起训练,现实情况中很难做到各语言的训练数据是均衡的,并且不同的语言存在发音差异性,数据量不均衡或选取不合适,会造成不同语言的发音音素在训练集中分布不均衡,这样训练出的识别结果会偏向数据量大的语言,这样的混合语音识别系统的性能相比单独的各个语言的语音识别系统性能会下降很多,整体识别率难以做到将每种语言都很好地识别,asr(automaticspeechrecognition)性能损失较多。
技术实现要素:
本发明实施例提供一种普通话和粤语混合语音识别模型训练方法及系统、普通话和粤语混合语音识别方法及系统,用于至少解决上述技术问题之一。
第一方面,本发明实施例提供一种普通话和粤语混合语音识别模型训练方法,包括:
采用n种语言的混合语音训练样本对多任务模型进行训练,所述多任务模型包括多个共享网络层和与所述多个共享网络层中的最后一层连接的对应于n种语言的n个任务神经网络层;
将所述多个共享网络层的网络参数迁移至待训练语音识别模型,以完成所述待训练语音识别模型的训练。
第二方面,本发明实施例提供一种普通话和粤语混合语音识别方法,包括:将普通话和方言混合语音输入至本发明实施例所述的普通话和粤语混合语音识别模型训练方法训练得到的语音识别模型,进行混合语音识别。
第三方面,本发明实施例提供一种普通话和粤语混合语音识别模型训练系统,包括:
多任务模型训练模块,用于采用n种语言的混合语音训练样本对多任务模型进行训练,所述多任务模型包括多个共享网络层和与所述多个共享网络层中的最后一层连接的对应于n种语言的n个任务神经网络层;
语音识别模型训练模块,用于将所述多个共享网络层的网络参数迁移至待训练语音识别模型,以完成所述待训练语音识别模型的训练。
第四方面,本发明实施例提供一种普通话和粤语混合语音识别系统,包括:
语音识别模型,采用本发明实施例所述的普通话和粤语混合语音识别模型训练方法训练得到;
语音输入模块,用于将普通话和粤语混合语音输入至所述语音识别模型,进行混合语音识别。
第五方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明上述任一项普通话和粤语混合语音识别。
第六方面,本发明实施例提供一种存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项普通话和粤语混合语音识别。
本发明实施例的有益效果在于:首先采用多种语言的混合语音训练样本训练多任务模型,然后通过数据迁移的方式复用多任务模型的网络参数,基于普通话和粤语混合建模,训练普通话和粤语混合语音识别模型。能够解决普通话和粤语混合语音识别的问题,不需要对原来的识别服务进行大的修改,可以利用当前已有的成果,降低模型训练成本和服务开发成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中使用语种分类器进行混合语音识别的方案示意图;
图2为本发明的普通话和粤语混合语音识别模型训练方法的一实施例的流程图;
图3为本发明的普通话和粤语混合语音识别模型训练系统的一实施例的原理框图;
图4为本发明的普通话和粤语混合语音识别系统的一实施例的原理框图;
图5为本发明的普通话和粤语混合语音识别模型训练方法的实施例的示意图;
图6为本发明的普通话和粤语混合语音识别模型训练方法的另一实施例的示意图;
图7为本发明的普通话和粤语混合语音识别方法的一实施例的流程图;
图8为本发明的电子设备的一种实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
在本发明中,“模块”、“装置”、“系统”等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
如图2所示为本发明的普通话和粤语混合语音识别模型训练方法的一实施例的流程图,该实施例中所述方法包括:
s10、采用n种语言的混合语音训练样本对多任务模型进行训练,所述多任务模型包括多个共享网络层和与所述多个共享网络层中的最后一层连接的对应于n种语言的n个任务神经网络层;
s20、将所述多个共享网络层的网络参数迁移至待训练语音识别模型,以完成所述待训练语音识别模型的训练。
本发明实施例首先采用多种语言的混合语音训练样本训练多任务模型,然后通过数据迁移的方式复用多任务模型的网络参数,基于普通话和粤语混合建模,训练普通话和粤语混合语音识别模型。能够解决普通话和粤语混合语音识别的问题,不需要对原来的识别服务进行大的修改,可以利用当前已有的成果,降低模型训练成本和服务开发成本。
本发明实施例的多种语言多任务训练方式,使得不同语言之间的共性可以通过多层语言共享网络层参数来学习,不同语言的个性可以通过任务专属层(例如,任务神经网络层)的输出来学习,这样训练出来的网络包含了各种音素的发音情况,模型鲁棒性更高。通过迁移学习的形式,将已经训练好的模型参数迁移到新的模型来帮助新模型训练。这样,已经学到的模型参数可以分享给新的模型,从而加快并优化新的模型的学习效率。整合普通话和粤语的建模单元,通过较大颗粒度建模单元共享的形式,可以避免由于某些字符在训练文本中出现太少而造成模型参数训练不充分的情况。
在一些实施例中,所述采用n种语言的混合语音训练样本对多任务模型进行训练包括:
基于对应于所述n个任务神经网络层的n个损失函数训练所述n个任务神经网络层的网络参数;
至少基于对应于所述n个任务神经网络层的n个损失函数共同训练所述多个共享网络层的网络参数。
在一些实施例中,所述多任务模型还包括与所述所述多个共享网络层中的最后一层连接的语言分类网络层;
所述至少基于对应于所述n个任务神经网络层的n个损失函数共同训练所述多个共享网络层的网络参数包括:
基于对应于所述n个任务神经网络层的n个损失函数和对应于所述语言分类网络层的损失函数共同训练所述多个共享网络层的网络参数。
在一些实施例中,基于对应于所述n个任务神经网络层的n个损失函数和对应于所述语言分类网络层的损失函数共同训练所述多个共享网络层的网络参数包括:基于对应于所述n个任务神经网络层的n个损失函数和对应于所述语言分类网络层的损失函数的加权和训练所述多个共享网络层的网络参数。
在一些实施例中,本发明还提供一种普通话和粤语混合语音识别方法,包括:将普通话和方言混合语音输入至采用本发明任一实施例所述的普通话和粤语混合语音识别模型训练方法训练得到的语音识别模型,进行混合语音识别。
如图3所示,为本发明的普通话和粤语混合语音识别模型训练系统的一实施例的原理框图,该系统300包括:
多任务模型训练模块310,用于采用n种语言的混合语音训练样本对多任务模型进行训练,所述多任务模型包括多个共享网络层和与所述多个共享网络层中的最后一层连接的对应于n种语言的n个任务神经网络层;
语音识别模型训练模块320,用于将所述多个共享网络层的网络参数迁移至待训练语音识别模型,以完成所述待训练语音识别模型的训练。
本发明实施例首先采用多种语言的混合语音训练样本训练多任务模型,然后通过数据迁移的方式复用多任务模型的网络参数,基于普通话和粤语混合建模,训练普通话和粤语混合语音识别模型。能够解决普通话和粤语混合语音识别的问题,不需要对原来的识别服务进行大的修改,可以利用当前已有的成果,降低模型训练成本和服务开发成本。
在一些实施例中,所述采用n种语言的混合语音训练样本对多任务模型进行训练包括:
基于对应于所述n个任务神经网络层的n个损失函数训练所述n个任务神经网络层的网络参数;
至少基于对应于所述n个任务神经网络层的n个损失函数共同训练所述多个共享网络层的网络参数。
在一些实施例中,所述多任务模型还包括与所述所述多个共享网络层中的最后一层连接的语言分类网络层;
所述至少基于对应于所述n个任务神经网络层的n个损失函数共同训练所述多个共享网络层的网络参数包括:
基于对应于所述n个任务神经网络层的n个损失函数和对应于所述语言分类网络层的损失函数共同训练所述多个共享网络层的网络参数。
在一些实施例中,基于对应于所述n个任务神经网络层的n个损失函数和对应于所述语言分类网络层的损失函数共同训练所述多个共享网络层的网络参数包括:基于对应于所述n个任务神经网络层的n个损失函数和对应于所述语言分类网络层的损失函数的加权和训练所述多个共享网络层的网络参数。
如图4所示,为本发明的普通话和粤语混合语音识别系统的一实施例的原理框图,该系统400包括:
语音识别模型410,采用本发明任一实施例所述的普通话和粤语混合语音识别模型训练方法训练得到;
语音输入模块420,用于将普通话和粤语混合语音输入至所述语音识别模型,进行混合语音识别。
为便于更加直观的体现本发明相对于现有技术所做出的技术贡献,以下将进一步结合具体实施例进行详细说明。
主要包括三个步骤:
(1)数据准备
数据上分别将普通话和粤语的音频数据和文本数据进行混合,字典合并,按照上述建模单元的整理方法整理出建模单元;同时考虑到方言的数据较少,我们通过信号处理、真机转录、网上爬取等方式进行数据扩充;
对音频进行特征提取,采用fbank特征,使用帧长25ms、帧移10ms的窗对音频进行分帧,每一帧提取40维的fbank特征用来训练神经网络;
我们使用n种语言来训练神经网络,所以需要分别准备n种语言对应的特征和标注文本,然后将n种语言的特征合并到一起并进行随机打乱,来保证训练模型的输入特征随机性。
(2)多语言多任务训练
我们采用n种语言来进行多任务训练,采用有监督的多任务训练的方式,训练准则可以采用帧级别的ce(crossentropy)损失函数或序列级别的ctc(connectionisttemporalclassification)损失函数来训练模型参数,按照图5示例的网络结构,每一个output代表一种语言的专项训练任务,其输出对应的也是该语言的loss输出,所以当神经网络有n个语言训练任务时,同时就会有n个语言的loss输出和一个languageid的loss输出。
如图5所示为本发明的普通话和粤语混合语音识别模型训练方法的实施例的示意图。其中,nn(nerualnetwork)layer表示一层神经网络层,可以是常用的dnn(deepneuralnetworks)、lstm(longshort-termmemory)、fsmn(feedforwardsequentialmemorynetworks)等。
同时,我们会引入每一种语言的标签languageid(以下简称lid)进来,采用ce准则进行训练,目标是最小化每一帧的语言种类判别错误,降低语言domain的分类错误,增加网络对多种不同语言的鲁棒性,这样可以减少各种语言数据不均衡带来的影响,同时可以加快神经网络的收敛速度。
多语言多任务训练过程:
(a)首先将n种语言特征输入数据随机打乱;根据训练准则和建模单元的不同,每种语言准备相对应的label,此处我们采用帧级别的音素进行建模,分别得到n种语言的帧级别音素label,然后将所有label合并,按照训练特征的输入顺序排列;
此处说明下lid的label的获取方法:
根据事先知道的每种语言类别的先验信息,给不同的语言种类按照不同的数字分别进行编码,举例:对语言种类1的所有样本数据,分别根据其特征数据的长度将其置1,对语言种类2的所有样本数据,分别根据其特征数据的长度将其置2,依次类推可以分别得到每一种语言的lid的label,然后按照训练特征输入的顺序排列;
此时,我们分别准备好了特征输入数据、每一种语言的音素label和每一种语言的lidlabel。
(b)此处我们会根据具体的任务情况给每个loss乘一个不同的缩放因子α和β,这样可以避免最终模型参数更新偏向某些个别的任务上:
loss=α1·loss1(output1)+α2·loss2(output2)+…+αn.lossn(outputn)+β.loss(languageid)
使用每一个语言对应的loss(output)来更新其对应tasknnlayer模型参数,使用所有的输出loss来更新底部共享模型参数,这样底部共享层可以学习到每一种语言的特性,使训练出的网络能够涵盖人类更大范围的音素的发音情况,同时,该方法搜集了不同语言训练数据集的各种环境,某一种语言在某种环境下学习到的参数同时可以提升其他语言在该场景下的识别性能,从训练数据鲁棒性的角度来看,这样的网络参数更鲁棒。
(3)迁移学习初始化训练
如图6所示,本发明的普通话和粤语混合语音识别模型训练方法的另一实施例的示意图。
将上述多语言多任务训练网络的公共层参数取来,作为普通话和粤语混合识别的初始化模型,通过迁移学习的形式,将上述已经训练好的模型参数迁移到新的模型来帮助新模型训练。这样已经学到的多种语言的模型参数可以分享给新的普通话和粤语(方言)模型,从而加快并优化新的模型的学习效率。
普通话和粤语混合训练流程:
(a)数据准备:根据不同的任务可以使用不同的建模单元来进行训练,此处我们采用上述2.3的方法准备好相应的普通话和粤语的字符建模单元,将两种语言的特征数据混合且随机打乱,将准备好两种语言的字符label按照特征数据排列;
(b)此处我们采用ctc的训练准则进行模型参数更新,和传统的训练方法一致,只有一个网络输出,所以最终训练出的模型可以支持普通话和粤语同时识别。
我们会将两种语言的字典合并,语料文本合并训练语言模型,这样在解码时,声学模型和语言模型可以实现同时识别两种语言的目的,而且混合识别的系统相比之前的单个系统性能不会损失。
本发明通过多种语言多任务学习的方式,使用n(n≥3,可以是普通话、四川话、粤语、上海话以及包括外文等)种语言,n种语言通过多任务学习的方式进行训练,这样不同语言之间的共性可以通过多层共享的模型参数来学习,不同语言的个性可以通过单独语言的输出层来学习,这样训练出来的网络包含了各种音素的发音情况,模型更鲁棒;
通过迁移学习的形式,将上述已经训练好的模型参数迁移到新的模型来帮助新模型训练。这样已经学到的模型参数可以分享给新的模型,从而加快并优化新的模型的学习效率;
整合普通话和粤语的建模单元:我们采用字符的形式进行建模,分别从普通话和粤语的字典中统计出每一个相同拼音发音下对应的每个字在训练文本中的词频,将词频大于某个阈值的这些字符单独作为一个建模单元进行建模,将低于某阈值的字符用高词频的字符来统一建模,这样可以分别得到普通话和粤语的字符形式的建模单元,然后将普通话和粤语建模单元中相同的字符单元合并共享,不同的单独保留,这样可以得到一套普通话和粤语混合的建模单元,这样通过大颗粒度建模单元共享的形式,可以避免由于某些字符在训练文本中出现太少而模型参数训练不充分的情况。
该方法训练出来的模型既满足了同时识别两种语言的需求,同时又不需要改变内核工程上的框架,性能上也可达到甚至优于单一语言识别系统的性能。
本发明提出多语言多任务的训练流程以及普通话和粤语建模单元混合的处理方法,不仅能解决现有普通话和粤语的混合识别问题,可以实现任何多种语言随意说的混合识别问题,且不需要对原来的识别服务进行大的修改,可以复用当前已有的成果,大大降低模型训练成本和服务开发成本。
需要说明的是,本发明相对于本领域技术人员来说并非显而易见唾手可得的,实际上发明人在实现本发明的过程中曾经至少采用了以下较早版本的方案:
将同一条音频解码时分别使用普通话和粤语识别资源,然后根据两个识别结果的置信度或语义分析,进行确定最终的文本识别结果。这种方法不需要复杂的模型训练,实现简单,只需要在识别后端做一些后处理即可达到目的。但是这种实现方法不够通用,而且依然存在工程代价高,资源浪费的情况。
在声学模型的训练中,将两种语言原有的建模单元直接合并后训练,这种也是最容易想到且最容易实现的方法,但是这种做法没有将不同语言的建模单元共享,会导致最后性能损失较多。
实际上本发明相对于现有技术以及发明人在进行发明创造的过程中所尝试过的各种技术方案至少具有以下有益效果:
(1)多种语言多任务训练方式,使得不同语言之间的共性可以通过多层共享的模型参数来学习,不同语言的个性可以通过单独语言的输出层来学习,这样训练出来的网络包含了各种音素的发音情况,模型更鲁棒;
(2)通过迁移学习的形式,将已经训练好的模型参数迁移到新的模型来帮助新模型训练。这样已经学到的模型参数可以分享给新的模型,从而加快并优化新的模型的学习效率;
(3)整合普通话和粤语的建模单元:通过大颗粒度建模单元共享的形式,可以避免由于某些字符在训练文本中出现太少而模型参数训练不充分的情况。
如图7所示,本发明的实施例提供一种普通话和粤语混合语音识别方法,所述方法包括:
s71、采用n种语言的混合语音训练样本对多任务模型进行训练,得到多任务模型的参数值;多任务模型具有若干语言共享网络层(第一至第n层共享层)、与语言共享网络层的最深一层相连的n+1个并联的任务专属层,所述语言共享网络层为神经网络层,所述任务专属层为神经网络层,其中,n≥3;
s72、将语言共享网络层的参数值迁移到普粤语音识别模型;普粤语音识别模型具有与多任务训练模型相同的语言共享网络层、一个普粤语识别任务专属层,普粤语识别任务专属层为神经网络层,与语言共享网络层的最深一层相连;
s73、对普通话和粤语混合建模,训练普粤语音识别模型;
s74、基于训练好的普粤语音识别模型对普通话和粤语混合的语音进行识别。
多任务训练模型具有若干语言共享网络层,语言共享网络层的深度(层数)可以根据使用需要设定。第一层共享层接收输入数据,输入数据包括从n种语言的多个语音训练样本提取的特征数据、每种语言的音素标签、每个语音训练样本对应的语言的标签(languageid,以下简称lid)。
本实施例中,n种语言可以为普通话、四川话、粤语、上海话以及外文。获取n种语言的音频,其中每种语言对应多个音频,并获取与音频对应的标注文本,使用帧长25ms、帧移10ms的窗对音频分帧,每一帧提取40维的fbank特征。将n种语言的多个音频提取出的特征合并,并随机打乱顺序,生成训练特征,以此形成n种语言的混合语音训练样本对应的训练特征,保证训练模型时输入特征的随机性。
语言的音素是根据语音的自然属性划分出来的最小语音单位,本实施例中,对每种语言,采用帧级别的音素,对帧级别的音素建模,建模函数可采用本领域常规建模函数,得到该种语言的帧级别音素标签,然后将该种语言的所有帧级别音素标签合并。对于n种语言的音素标签,按照训练特征的输入顺序排列。
对于语音样本,由于事先知道该语音样本对应于哪种语言,即事先知道每种语言类别的先验信息,对语音样本,按照不同的数字对语音样本进行编码,同一种语言的语音样本,为其设置相同的lid。例如,对语言种类为1的所有语音样本,根据其特征数据的长度,将其lid置为1;对语言种类为2的所有语音样本,根据其特征数据的长度,将其lid置为2,依次类推可以为每一语音样本设置lid,按照训练特征的输入顺序排列。
多任务训练模型具有若干语言共享网络层(第一至第n层共享层),语言共享网络层的深度可以根据使用需要、计算性能自行设定。所述语言共享网络层中的各层,可以采用相同的神经网络结构,也可以采用不同的神经网络结构。
如图5所示,第一层共享层(该共享层可以为神经网络层)接收输入数据,经过计算后的数据输入第二层共享层,经过计算再次产生输出,用做下一层共享层的输入,这样逐级输入,直至最深的一层共享层。
采用语言共享网络层,使得不同语言之间的共享可以由语言共享网络层学习。
经过最深的一层语言共享网络层的计算,该最深的一层语言共享网络层的输出数据按先验的语言类别信息,将输出数据按语言类别分为n个子集,每个子集对应一种语言的输出数据。
与最深一层语言共享网络层相连有n+1个并联的任务专属层;所述任务专属层为神经网络层,其中的n个任务专属层中的每个分别对一个子集进行训练,每个任务专属层产生一个输出数据,记为outputi,其中,1≤i≤n;第n+1个任务专属层对最深一层语言共享网络层的输出数据进行训练,输出结果为识别出的lid。
各任务专属层均为神经网络层,任务专属层中的各层,可以采用相同的神经网络结构,也可以采用不同的神经网络结构;可以采用与某个语言共享网络层相同的结构,也可以采用与各语言共享网络层均不相同的结构。
采用任务专属层,使得不同语言的个性可以通过单独的任务专属层学习,这样训练出来的网络包含了各种音素的发音情况,鲁棒性更强。
对于语言共享网络层、任务专属层,均采用有监督的方式进行训练,训练准则可以采用帧级别的ce(crossentropy)损失函数或序列级别的ctc(connectionisttemporalclassification)损失函数来训练模型参数。每个输出,即outputi对应一种语言的专项训练任务,再计算outputi对应于该语言的损失输出。在本实施例中,具有n个语言专项训练任务,产生n个语言的损失输出和一个lid的损失输出。基于n个语言的损失输出和一个lid的损失输出,可以计算出总损失。
为便于理解所述lid的损失输出,例如,输入的n种语言的混合语音训练样本,具有英语、四川话、普通话三种,lid分别记为1,2,3。由于第n+1个任务专属层训练的准确性存在一定偏差,第n+1个任务专属层识别到的语音对应的lid为1,2,4。则根据识别结果,可以计算lid的损失输出。
本实施例中,采用ce准则训练第n+1个任务专属层,目标是最小化每一帧的语言种类判别错误,降低语言domain的分类错误,增加网络对多种不同语言的鲁棒性,可以减少各种语言数据不均衡带来的影响,加快神经网络的收敛速度。
本实施例中,根据具体的任务情况,给损失配置缩放因子αi、β,这样可以避免各网络层参数更新时偏向某些个别任务上。
总损失的计算方式为:
loss=α1·loss1(output1)+α2·loss2(output2)+…+αn·lossn(outputn)+β·loss(lid)
使用每个语言的损失输出来迭代更新该语言对应的任务专属层的参数,使用总损失来迭代更新所述若干语言共享网络层的参数。通过这样的学习方式,可以使得语言共享网络层学习到每一种语言的特性,使得训练出的语言共享网络层能够涵盖人类更大范围的音素的发音情况。同时,还搜集了不同语言训练样本集的各种环境,某种语言在某个环境下学习到的参数同时可以提升其他语言在该场景下的识别性能,这样的网络参数鲁棒性更强。
所述s72、将所述语言共享网络层的参数值迁移到普粤语音识别模型;所述普粤语音识别模型具有与所述多任务训练模型相同的语言共享网络层、一个普粤语识别任务专属层,所述普粤语识别任务专属层为神经网络层,与所述语言共享网络层的最深一层相连,
所述普粤语音识别模型对普通话和粤语混合的语音进行识别。如图4所示,所述普粤语音识别模型具有与所述多任务训练模型相同的语言共享网络层、还具有一个普粤语识别任务专属层,所述普粤语识别任务专属层为神经网络层,与所述语言共享网络层的最深一层相连。所述普粤语音识别模型中的语言共享网络层的层数、各层的结构分别与多任务训练模型中的语言共享网络层的层数、对应的各层的结构相同。
所述普粤语识别任务专属层结构可以与某个语言共享网络层结构相同,也可以与所有语言共享网络层结构不同。
将训练好的多任务训练模型中的所述语言共享网络层的参数值迁移到普粤语音识别模型,作为普粤语音识别模型中语言共享网络层的初始化参数。将这样已经学习好的参数迁移,可以加快并优化所述普粤语音识别模型的学习效率。
s73、对普通话和粤语混合建模,训练所述普粤语音识别模型,包括:
a、获取普通话、粤语的音频和对应的标注文本,使用帧长25ms、帧移10ms的窗对音频分帧,每一帧提取40维的fbank特征;将普通话、粤语的特征混合,并随机打乱顺序;进一步地,如果训练样本中的方言数据较少,可以通过信号处理、真机转录、网上爬取等方式对数据进行扩充。
b、整合普通话和粤语的建模单元,对整合后的普通话和粤语建模单元进行建模,得到普通话和粤语的字符标签,包括:
分别从普通话、粤语字典中统计出读音相同的每个字符在训练文本中的词频,将词频大于预设阈值的字符作为高频字符,将高频字符作为一个建模单元,将词频低于预设阈值的字符用读音相同的高频字代替;分别得到普通话字符建模单元、粤语字符建模单元;
例如,在普通话字典中,“谋”、“眸”的读音相同,“谋”的词频大于预设阈值,“眸”的词频低于预设阈值,将“眸”用“谋”代替,将“谋”作为一个建模单元。
将普通话字符建模单元、粤语字符建模单元中,读音相同的建模单元合并,读音不同的建模单元单独保留;
例如,具有普通话建模单元“谋”、粤语建模单元“没”,普通话建模单元“谋”与粤语建模单元“没”的读音都是móu,则将普通话建模单元“谋”、粤语建模单元“没”合并。这样得到一套普通话和粤语混合的建模单元。这样形成较大颗粒度建模单元,可以避免由于某些字符在训练文本中出现太少而造成参数训练不充分的情况。
对整合后的普通话和粤语建模单元进行建模,建模函数可采用本领域常规建模函数,得到普通话和粤语的字符标签,然后将普通话和粤语的字符标签,按照训练特征的输入顺序排列。
c、以随机打乱顺序的所述fbank特征、普通话和粤语的字符标签为输入,采用ctc的训练准则对所述普粤语音识别模型进行训练,得到训练好的所述普粤语音识别模型。
本实施例中,采用ctc的训练准则进行模型参数的迭代更新,只有一个网络输出,最终训练好的所述普粤语音识别模型可以支持普通话和粤语的识别。
使用这种方法训练出来的模型既满足了识别普通话和粤语的需求,又不需要改变内核工程上的框架,性能也可以达到甚至优于单一语言识别系统的性能。
所述s74、基于训练好的普粤语音识别模型对普通话和粤语混合的语音进行识别,包括:
输入普通话和粤语混合的音频,基于训练好的普粤语音识别模型对普通话和粤语混合的语音进行识别,输出对应的文本信息。
进一步地,所述训练好的普粤语音识别模型是一个能够识别声音的声学模型,为了提高混合语音识别的准确性,再训练一个语言模型,即将普通话和粤语的字典合并、用于训练的语料文本合并,用以训练语言模型。在对普通话和粤语混合音频进行解码识别时,声学模型和语言模型同时识别两种语言,使得混合识别的系统相比单个系统性能上没有损失。
本实施例的方案,与将同一条音频解码时分别使用普通话和粤语识别资源,然后根据两个识别结果的置信度或语义分析,确定最终的文本识别结果的方案相比,工程代价低,不存在资源浪费的情况。
本实施例的方案,与将两种语言原有的建模单元直接合并后训练,得到声学模型的方案相比,性能损失少。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作合并,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在一些实施例中,本发明实施例还提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时能够执行普通话和粤语混合语音识别方法的步骤。
在一些实施例中,本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行普通话和粤语混合语音识别方法。
上述本发明实施例的普通话和粤语混合语音识别装置可用于执行本发明实施例的普通话和粤语混合语音识别方法,并相应的达到上述本发明实施例的实现普通话和粤语混合语音识别方法所达到的技术效果,这里不再赘述。本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。
图8是本申请另一实施例提供的普通话和粤语混合语音识别方法的电子设备的硬件结构示意图。如图8所示,该设备包括:
一个或多个处理器810以及存储器820,图8中以一个处理器810为例。
执行普通话和粤语混合语音识别方法的设备还可以包括:输入装置830和输出装置840。
处理器810、存储器820、输入装置830和输出装置840可以通过总线或者其他方式连接,图8中以通过总线连接为例。
存储器820作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的普通话和粤语混合语音识别方法对应的程序指令/模块。处理器810通过运行存储在存储器820中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例语音服务方法。
存储器820可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据语音服务装置的使用所创建的数据等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器820可选包括相对于处理器810远程设置的存储器,这些远程存储器可以通过网络连接至语音服务装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置830可接收输入的数字或字符信息,以及产生与语音服务装置的用户设置以及功能控制有关的信号。输出装置840可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器820中,当被所述一个或者多个处理器810执行时,执行上述任意方法实施例中的普通话和粤语混合语音识别方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除