普通话和四川话的混合语音识别模型的训练方法及系统与流程
本发明涉及语音识别领域,尤其涉及一种普通话和四川话的混合语音识别模型的训练方法及系统。
背景技术:
语音识别通常采用深度学习框架算法,根据不同策略,达到同时支持多种语言的语音识别效果。有基于语种分类+两套独立语音识别系统的方案,也有单独一套语音识别系统支持多语言的方案。
在实现本发明过程中,发明人发现相关技术中至少存在如下问题:
基于语种分类+两套独立语音识别系统的方案,从端到端的性能上来讲,由于链路上每个模块的错误率都是累加的,多引入了一个语种分类模块便是多引入了一个错误来源,且语音识别模块取决于语种分类模块的结果,语种分类错误会导致语音识别结果错误。此外,模块更多,因此资源占用更大,从资源占用和部署的角度而言资源占用高。
单独一套语音识别系统支持多种语言的方案,由于不同语言存在声学差异,一般采用不同建模单元,通常在模型结构上针对不同语种会有分岔,如果分岔的模型部分参数量较小而公共的神经网络参数较多,当数据量不均衡时,识别结果容易偏向数据量大的那一方。而方言数据获取难度大,途径少,训练数据量往往是远小于普通话数据的,因此这种混合系统相比单方言系统,方言的识别性能会显著降低。而如果分岔的模型部分参数量较大,方言的性能会有一定提升,但是这样的模型资源占用会较高,极端情况下甚至接近两套系统的资源占用。
技术实现要素:
为了至少解决现有技术中基于语种分类+两套独立语音识别系统的方案资源占用和部署角度成本都比较高,单独一套语音识别系统支持多种语言的方案资源占用小的往往方言的性能识别较差,如果要提升方言的性能资源占用则需要增加,极端情况下甚至接近两套系统的资源占用的问题。
第一方面,本发明实施例提供一种普通话和四川话的混合语音识别模型的训练方法,其中,所述混合语音识别模型为具有n层公共中间层的深度神经网络结构,并且第n层公共中间层分叉出n层的第一任务层和n层的第二任务层,所述第一任务层计算基于音素的普通话和四川话的第一损失函数,所述第二任务层计算基于汉字的普通话和四川话的第二损失函数,所述训练方法包括:
对带有文本标注的混合训练音频数据进行数据增强,确定数据增强后的混合训练音频数据的特征、基于音素的数据对齐和基于汉字的数据对齐,将所述特征、基于音素的数据对齐以及所述基于汉字的数据对齐确定为训练用的输入数据;
将所述训练用的输入数据输入至所述n层公共中间层,通过所述第一任务层计算所述第一损失函数,通过所述第二任务层计算第二损失函数;
基于所述第一损失函数仅训练所述n层的第一任务层的第一神经网络参数,基于所述第二损失函数仅训练所述n层的第二任务层的第二神经网络参数,基于训练后的第一神经网络参数以及训练后的第二神经网络参数进行多任务训练,共同训练所述n层公共中间层的神经网络参数,完成所述混合语音识别模型的训练。
第二方面,本发明实施例提供一种普通话和四川话的混合语音识别模型的训练系统,其中,所述混合语音识别模型为具有n层公共中间层的深度神经网络结构,并且第n层公共中间层分叉出n层的第一任务层和n层的第二任务层,所述第一任务层计算基于音素的普通话和四川话的第一损失函数,所述第二任务层计算基于汉字的普通话和四川话的第二损失函数,所述训练系统用于:
输入确定程序模块,用于对带有文本标注的混合训练音频数据进行数据增强,确定数据增强后的混合训练音频数据的特征、基于音素的数据对齐和基于汉字的数据对齐,将所述特征、基于音素的数据对齐以及所述基于汉字的数据对齐确定为训练用的输入数据;
识别结果确定程序模块,用于将所述训练用的输入数据输入至所述n层公共中间层,通过所述第一任务层计算所述第一损失函数,通过所述第二任务层计算第二损失函数;
训练程序模块,用于基于所述第一损失函数仅训练所述n层的第一任务层的第一神经网络参数,基于所述第二损失函数仅训练所述n层的第二任务层的第二神经网络参数,基于训练后的第一神经网络参数以及训练后的第二神经网络参数进行多任务训练,共同训练所述n层公共中间层的神经网络参数,完成所述混合语音识别模型的训练。
第三方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的普通话和四川话的混合语音识别模型的训练方法的步骤。
第四方面,本发明实施例提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现本发明任一实施例的普通话和四川话的混合语音识别模型的训练方法的步骤。
本发明实施例的有益效果在于:使用的数据扩充手段,不是单纯的进行数据重复,而是尽量去模拟了不同环境、信道、失真情况。这些手段大量应用在四川话数据上,不仅可以减小普通话和方言之间数据的不均衡问题,还增强了系统的鲁棒性。把音素建模单元和汉字建模单元作为多任务联合训练的任务,相较于把每种语言作为一个任务进行多任务联合训练,训练过程中数据利用率更高,使用的时候只需要其中一种任务的参数,与单个语种的模型在使用上没有差别,工程实现更简单方便,资源占用也更小。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种普通话和四川话的混合语音识别模型的训练方法的流程图;
图2是本发明一实施例提供的一种普通话和四川话的混合语音识别模型的训练方法的步骤结构示意图;
图3是本发明一实施例提供的一种普通话和四川话的混合语音识别模型的训练方法的混合模型结构示意图;
图4是本发明一实施例提供的一种普通话和四川话的混合语音识别模型的训练系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示为本发明一实施例提供的一种普通话和四川话的混合语音识别模型的训练方法的流程图,包括如下步骤:
s11:对带有文本标注的混合训练音频数据进行数据增强,确定数据增强后的混合训练音频数据的特征、基于音素的数据对齐和基于汉字的数据对齐,将所述特征、基于音素的数据对齐以及所述基于汉字的数据对齐确定为训练用的输入数据;
s12:将所述训练用的输入数据输入至所述n层公共中间层,通过所述第一任务层计算所述第一损失函数,通过所述第二任务层计算第二损失函数;
s13:基于所述第一损失函数仅训练所述n层的第一任务层的第一神经网络参数,基于所述第二损失函数仅训练所述n层的第二任务层的第二神经网络参数,基于训练后的第一神经网络参数以及训练后的第二神经网络参数进行多任务训练,共同训练所述n层公共中间层的神经网络参数,完成所述混合语音识别模型的训练。
在本实施方式中,统一四川话和普通话的建模单元,进行混合,减少工程成本和资源占用,模型结构与单一语种一致,工程上实现较为简单。混合语音识别模型是具有公共中间层以及公共中间层分叉的第一任务层和第二任务层,步骤图如2所示。
对于步骤s11,对已有的音频数据进行文本标注,作为训练数据,包括利用已收集、有标注的少量四川话语音数据,和相对容易收集的有标注的普通话语音数据作为混合训练音频数据。由于四川话的数据量相对较少,需要用较低的成本解决普通话和四川话的数据不均衡问题。
作为一种实施方式,所述对带有文本标注的混合训练音频数据进行数据增强包括:
对所述混合训练音频数据进行加噪;和/或
通过人工嘴播放所述混合训练音频数据,使用参数不同的收音设备采集所述人工嘴播放的混合训练音频数据;和/或
对所述混合训练音频数据进行音频格式转换;和/或
对所述混合训练音频数据按照预设的参数进行信号处理;和/或
对所述混合训练音频数据高频随机抹零处理。
利用已收集、有标注的少量四川话数据,通过以下几种方式进行扩充:
加噪:噪声包含各种类型,包括但不限于音乐,电视,汽车,人声等。
转录:为了扩充不同信道的数据,将现有的四川话音频通过人工嘴进行播放后,用不同的设备进行收集,包括但不限于电视,音箱,空调,冰箱等。转录时可以播放各类背景噪音,转录设备和音源之间的位置尽量涵盖近、远、不同方向。
音频格式转换:音频在不同格式的转换过程中,音频信息可能会有丢失,将现有的部分四川话wav音频转换成其他格式后再转回成wav,作为新增的数据。
信号处理:使用不同的信号处理工具或方法,或是信号处理时采用不同参数,对现有的部分四川话音频进行处理,将处理后的音频作为新增的数据。
高频随机抹零:比较常用的音频采样率有16k和8k,为了模拟8k到16k之间高频信息缺失的情况,对每个音频随机生成一个8k~16k之间的数值n,然后将n到16k之间频段的数据全部设置为0,作为新增数据。
确定数据增强后的混合训练音频数据的特征、基于音素的数据对齐和基于汉字的数据对齐,
所述确定数据增强后的混合训练音频数据的特征、基于音素的数据对齐和基于汉字的数据对齐包括:对数据增强后的带有文本标注的混合训练音频数据进行特征提取,确定所述混合训练音频数据内每一帧m维的fbank特征;
通过高斯混合模型确定所述数据增强后的带有文本标注的混合训练音频数据内每一帧音素的数据对齐;
将连接时序分类作为损失函数对所述混合训练音频数据的文本标注进行处理,确定所述混合训练音频数据的基于汉字的数据对齐。
使用帧长25ms、帧移10ms的窗对所述混合训练音频数据进行分帧,确定所述混合训练音频数据内每一帧m维的fbank特征。
在本实施方式中,对音频数据已经标注好的文本进行处理,整理出wav和对应的文本标注,对音频进行特征提取,采用fbank特征,使用帧长25ms、帧移10ms的窗对音频进行分帧,每一帧提取n维的fbank特征用来训练神经网络(此处提供的参数是语音识别领域公认的比较好的参数,当然也可以泛指,比如特征可以是fbank(filterbank,滤波器组),mfcc(melfrequencycepstrumcoefficients,梅尔倒谱系数),plp(perceptuallinearprediction,感知线性预测倒谱系数),帧长可20-40ms,帧移可10-20ms)
因为本方法的训练流程是用音素和汉字级别的多任务联合训练,因此需要准备两种(第一任务层、第二任务层)不同建模单元的数据对齐。
基于音素的对齐:要先准备每条音频每一帧的音素,这步通常采用训练高斯混合模型(gmm)的方法,也可以训练神经网络模型生成对齐(alignment)。普通话和四川话的音素建模单元不同,在这里采用两种语言音素集的并集作为混合训练的音素建模单元。
基于汉字的对齐:尽管普通话和四川话之间发音存在一些差异,但从书面文本上来看,两者的文字是一致的,因此这两种语言的汉字建模单元可以共享一套。考虑到有些汉字出现频率较低,训练效果可能会比较差,将低频汉字映射成相同发音的高频字后作为建模单元。传统声学模型所用的损失函数ce(交叉熵),是一个定义在帧级别上的度量函数,而本方法用ctc(connectionisttemporalclassification,连接时序分类)作为损失函数,只需要一个输入序列和一个输出序列即可训练。因此基于汉字建模的对齐不需要精确到帧级别,直接根据每条音频的文本标注即可生成基于汉字的序列。
对于步骤s12,普通话和四川话的混合语音识别模型结构如图3所示,将fbank特征以及基于汉字的数据对齐输入到混合语音识别模型中。通过n个神经网络公共中间层进行初步处理,再通过分叉的第一任务层计算基于音素的普通话和四川话的建模单元的损失函数,这里的建模单元指的是音素建模单元,从而通过音素建模单元的损失函数输出普通话和四川话各自所占的权重。
同样的,通过分叉的第二任务层计算基于汉字的普通话和四川话的建模单元的损失函数,这里的建模单元指的是汉字建模单元,从而通过汉字建模单元的损失函数输出普通话和四川话各自所占的权重。
在实际使用中,也可将第一任务层用于计算基于汉字的普通话和四川话的损失函数,将第二任务层用于计算基于音素的普通话和四川话的损失函数,在此不固定。
对于步骤s13,声学神经网络模型训练过程中,最常见的优化目标最小化某一种建模单元的分类错误(也就是通过最终的识别结果与文本标注进行比较,通过不断的训练,使识别结果逐渐倾向于文本标注)。本方法采用了多任务联合训练,同时最小化音素单元的分类错误和汉字建模单元的分类错误。这两个任务各自有一个损失函数(loss),联合训练时将这两个loss做一个加权。考虑到两个任务层都会输出普通话和四川话的损失函数,通过损失函数确定对应的识别结果。具体选择哪个任务的输出因人而异。例如,可以设定预设的损失标准,选择一个损失较好的任务层进行输出。这种方法会比现有技术的单独一个任务层好。
模型的输入为提取好的fbank特征、基于音素的对齐和基于汉字的对齐,神经网络的结构采用多层的dnn(deepneuralnetworks,深度神经网络)、lstm(longshort-termmemory,长短期记忆网络)、fsmn(feed-forwardsequentialmemorynetwork,前馈型序列记忆网络)、cnn(convolutionalneuralnetworks,卷积神经网络)等,输出层分为两个任务(第一任务层和第二任务层)进行训练。与四川话和普通话各自作为一个任务进行多任务联合训练相同,该模型的结构也是前n层网络参数给各个任务共享,最后分岔出各自任务上特有的一些参数。不同的是,把方言和普通话各自作为一个任务时,训练每条数据时,在不同的任务专用层上只更新这条数据对应语言的参数。而本方法里的多任务是不同的建模单元,每一条数据都有音素建模单元和汉字建模单元的对齐,因此每条数据训练时,所有参数都会更新,数据利用率更高。
通过该实施方式可以看出,使用的数据扩充手段,不是单纯的进行数据重复,而是尽量去模拟了不同环境、信道、失真情况。这些手段大量应用在四川话数据上,不仅可以减小普通话和方言之间数据的不均衡问题,还增强了系统的鲁棒性。把音素建模单元和汉字建模单元作为多任务联合训练的任务,相较于把每种语言作为一个任务进行多任务联合训练,训练过程中数据利用率更高,使用的时候只需要其中一种任务的参数,与单个语种的模型在使用上没有差别,工程实现更简单方便,资源占用也更小。
如图4所示为本发明一实施例提供的一种普通话和四川话的混合语音识别模型的训练系统的结构示意图,该系统可执行上述任意实施例所述的普通话和四川话的混合语音识别模型的训练方法,并配置在终端中。
本实施例提供的一种普通话和四川话的混合语音识别模型的训练系统包括:输入确定程序模块11,识别结果确定程序模块12和训练程序模块13。
其中,输入确定程序模块11用于对带有文本标注的混合训练音频数据进行数据增强,确定数据增强后的混合训练音频数据的特征、基于音素的数据对齐和基于汉字的数据对齐,将所述特征、基于音素的数据对齐以及所述基于汉字的数据对齐确定为训练用的输入数据;识别结果确定程序模块12用于将所述训练用的输入数据输入至所述n层公共中间层,通过所述第一任务层计算所述第一损失函数,通过所述第二任务层计算第二损失函数;训练程序模块13用于基于所述第一损失函数仅训练所述n层的第一任务层的第一神经网络参数,基于所述第二损失函数仅训练所述n层的第二任务层的第二神经网络参数,基于训练后的第一神经网络参数以及训练后的第二神经网络参数进行多任务训练,共同训练所述n层公共中间层的神经网络参数,完成所述混合语音识别模型的训练。
进一步地,所述输入确定程序模块用于:
对所述混合训练音频数据进行加噪;和/或
通过人工嘴播放所述混合训练音频数据,使用参数不同的收音设备采集所述人工嘴播放的混合训练音频数据;和/或
对所述混合训练音频数据进行音频格式转换;和/或
对所述混合训练音频数据按照预设的参数进行信号处理;和/或
对所述混合训练音频数据高频随机抹零处理。
进一步地,所述输入确定程序模块用于:
对数据增强后的带有文本标注的混合训练音频数据进行特征提取,确定所述混合训练音频数据内每一帧m维的fbank特征;
通过高斯混合模型确定所述数据增强后的带有文本标注的混合训练音频数据内每一帧音素的数据对齐;
将连接时序分类作为损失函数对所述混合训练音频数据的文本标注进行处理,确定所述混合训练音频数据的基于汉字的数据对齐。
进一步地,所述系统还用于:
使用帧长25ms、帧移10ms的窗对所述混合训练音频数据进行分帧,确定所述混合训练音频数据内每一帧m维的fbank特征。
进一步地,所述n层中间层的结构至少包括:深度神经网络、长短期记忆神经网络、前馈型序列记忆网络;
所述系统还用于:按照预设的条件,从所述第一任务层、第二任务层选择一个任务层,输出普通话/四川话的识别结果。
本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的普通话和四川话的混合语音识别模型的训练方法;
作为一种实施方式,本发明的非易失性计算机存储介质存储有计算机可执行指令,计算机可执行指令设置为:
对带有文本标注的混合训练音频数据进行数据增强,确定数据增强后的混合训练音频数据的特征、基于音素的数据对齐和基于汉字的数据对齐,将所述特征、基于音素的数据对齐以及所述基于汉字的数据对齐确定为训练用的输入数据;
将所述训练用的输入数据输入至所述n层公共中间层,通过所述第一任务层计算所述第一损失函数,通过所述第二任务层计算第二损失函数;
基于所述第一损失函数仅训练所述n层的第一任务层的第一神经网络参数,基于所述第二损失函数仅训练所述n层的第二任务层的第二神经网络参数,基于训练后的第一神经网络参数以及训练后的第二神经网络参数进行多任务训练,共同训练所述n层公共中间层的神经网络参数,完成所述混合语音识别模型的训练。
作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的方法对应的程序指令/模块。一个或者多个程序指令存储在非易失性计算机可读存储介质中,当被处理器执行时,执行上述任意方法实施例中的普通话和四川话的混合语音识别模型的训练方法。
非易失性计算机可读存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据装置的使用所创建的数据等。此外,非易失性计算机可读存储介质可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,非易失性计算机可读存储介质可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的普通话和四川话的混合语音识别模型的训练方法的步骤。
本申请实施例的客户端以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如平板电脑。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器,掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)其他具有数据处理功能的电子装置。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除