一种弱监督语音识别模型训练方法及装置与流程

文档序号:21839749发布日期:2020-08-14 16:23阅读:245来源:国知局
一种弱监督语音识别模型训练方法及装置与流程

本发明涉及一种语音识别技术领域,具体涉及一种弱监督语音识别模型训练方法及装置。



背景技术:

随着人工智能技术的发展,语音识别技术以及语音合成技术越来越多的应用到了各种技术领域中,但是,如何训练出更好效果的识别模型或者合成模型是技术人员的追求。

现有技术中申请号为201910884620.9的发明专利申请公开了一种构建语音识别模型的方法、装置、设备和存储介质,方法包括:获取多个训练语音样本;通过独立卷积层、卷积残差层、全连接层以及输出层构建语音识别模型;将所述训练语音信息输入至所述语音识别模型,通过自然语言处理nlp技术、所述语音信息以及所述语音信息对应的文本标签更新所述语音识别模型的神经元权值,以得到目标模型;通过l(s)=-lnπh(x),z)∈sp(z|h(x))=-σ(h(x),z)∈slnp(z|h(x))评估所述目标模型的误差;调整所述目标模型的神经元的权值,直至所述误差小于阈值,将所述误差小于阈值的神经元权值设为理想权值;将所述目标模型以及所述理想权值部署至客户端。降低了语音信息中的音调对预测文本的影响以及语音识别模型识别过程中的运算量。

但是,发明人发现,现有技术中实质上是采用强监督训练语音合成模型,强监督训练需要人工获取大量音频并准确标注对应文本内容。但随着需要获取的数据量的增加,人员和费用支出极大,而且大量真实数据的获取难度也很大,所以一般需要有一定资源积累的大型企业才能进行持续投入和研发,因此,现有技术存在成本较高的技术问题。



技术实现要素:

本发明所要解决的技术问题在于如何降低语音识别模型中的训练成本。

本发明通过以下技术手段实现解决上述技术问题的:

本发明实施例提供了一种弱监督语音识别模型训练方法,所述方法包括:

预先利用文本语料库分别训练continuousbag-of-words和skip-gram模型;

从预先训练出若干个语音识别模型中选择一个作为当前语音识别模型,从预先训练出的若干个语音合成模型中选择一个作为当前语音合成模型;

从文本语料库中选择一个原始文本段落并输入到当前语音合成模型中,得到合成音频;将合成音频加入随机扰动,作为当前音频;

将当前音频输入到当前语音识别模型中,得到识别文本;

分别利用预先训练的continuousbag-of-words模型和预先训练的skip-gram模型分别计算出原始文本的总词向量,以及识别文本的总词向量;

计算原始文本的总词向量与识别文本的总词向量之间的余弦相似度;

判断所述相似度是否小于预设阈值;

若否,通过误差反向传播,优化当前语音合成模型的模型参数以及当前语音识别模型的模型参数,并返回执行所述从预先训练出若干个语音识别模型中选择一个作为当前语音识别模型,从预先训练出的若干个语音合成模型中选择一个作为当前语音合成模型的步骤,直至所述相似度小于预设阈值;

若是,结束迭代,将若干个语音识别模型中的模型参数的平均值作为目标语音识别模型的模型参数。

应用本发明实施例,利用语音识别模型和语音合成模型进行对抗训练的方式,基于原始文本的总词向量与识别文本的总词向量之间的相似度作为优化目标进行迭代优化,相对于现有技术,无需人工获取真实音频和标注对应文本,仅需要数量较少的样本数据即可实现语音识别模型的训练,降低了成本。

可选的,所述从预先训练出若干个语音识别模型中选择一个作为当前语音识别模型,从预先训练出的若干个语音合成模型中选择一个作为当前语音合成模型,包括:

从预先训练出若干个语音识别模型中随机选择一个作为当前语音识别模型,从预先训练出的若干个语音合成模型中随机选择一个作为当前语音合成模型。

可选的,所述从文本语料库中选择一个原始文本段落并输入到当前语音合成模型中,包括:

从文本语料库中随机选择一个原始文本段落并输入到当前语音合成模型中。

可选的,所述将合成音频作为当前音频,包括:

对合成音频中增加随机扰动,得到当前音频。

可选的,所述分别利用预先训练的continuousbag-of-words模型和预先训练的skip-gram模型分别计算出原始文本的总词向量,以及识别文本的总词向量,包括:

分别利用预先训练的continuousbag-of-words模型和预先训练的skip-gram模型分别计算出原始文本中每一个单词的词向量,将原始文本的单词的词向量叠加得到原始文本的总词向量;

分别利用continuousbag-of-words和skip-gram模型分别计算出识别文本中每一个单词的词向量,将识别文本的单词的词向量叠加得到识别文本的总词向量。

可选的,所述计算原始文本的总词向量与识别文本的总词向量之间的相似度,包括:

计算原始文本的总词向量与识别文本的总词向量之间的余弦相似度。

可选的,所述文本语料库,包括:

openslr、thuyg-20、mozillacommonvoice、thchs30、st-cmds、aishell-1、primewordschinesecorpusset1、aidatatang_200zh、magicdatamandarinchinesereadspeechcorpus,以及从互联网上获取带有讲稿内容的广播电台的录音。

本发明还提供了一种弱监督语音识别模型训练装置,所述装置包括:

训练模块,用于预先利用文本语料库分别训练continuousbag-of-words和skip-gram模型;

选择模块,用于从预先训练出若干个语音识别模型中选择一个作为当前语音识别模型,从预先训练出的若干个语音合成模型中选择一个作为当前语音合成模型;

从文本语料库中选择一个原始文本段落并输入到当前语音合成模型中,得到合成音频;将合成音频作为当前音频;

输入模块,用于将当前音频输入到当前语音识别模型中,得到识别文本;

计算模块,用于分别利用预先训练的continuousbag-of-words模型和预先训练的skip-gram模型分别计算出原始文本的总词向量,以及识别文本的总词向量;

计算原始文本的总词向量与识别文本的总词向量之间的相似度;

判断模块,用于判断所述相似度是否小于预设阈值;

优化模块,用于在所述判断模块的判断结果为否的情况下,通过误差反向传播,优化当前语音合成模型的模型参数以及当前语音识别模型的模型参数,并触发选择模块,直至所述相似度小于预设阈值;

设置模块,用于在所述判断模块的判断结果为是的情况下,结束迭代,将若干个语音识别模型中的模型参数的平均值作为目标语音识别模型的模型参数。

可选的,所述选择模块,用于:

从预先训练出若干个语音识别模型中随机选择一个作为当前语音识别模型,从预先训练出的若干个语音合成模型中随机选择一个作为当前语音合成模型。

可选的,所述选择模块,用于:

从文本语料库中随机选择一个原始文本段落并输入到当前语音合成模型中。

本发明的优点在于:

应用本发明实施例,利用语音识别模型和语音合成模型进行对抗训练的方式,基于原始文本的总词向量与识别文本的总词向量之间的相似度作为优化目标进行迭代优化,相对于现有技术,无需人工获取真实音频和标注对应文本,仅需要数量较少的样本数据即可实现语音识别模型的训练,降低了成本。

附图说明

图1为本发明实施例提供的一种弱监督语音识别模型训练方法的流程示意图;

图2为本发明实施例与现有技术所训练的模型的识别准确率的对比结果;

图3为本发明实施例提供的一种弱监督语音识别模型训练装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

图1为本发明实施例提供的一种弱监督语音识别模型训练方法的流程示意图,如图1所示,所述方法包括:

s101:预先利用文本语料库分别训练continuousbag-of-words和skip-gram模型。

首先,获取免费开源数据集,其中包括了openslr、thuyg-20、mozillacommonvoice、thchs30、st-cmds、aishell-1、primewordschinesecorpusset1、aidatatang_200zh、magicdatamandarinchinesereadspeechcorpus等,这些数据集包括了汉语、英语、法语、西班牙语、维吾尔语等不同语种,内部按照音频文件和对应文本的方式预先进行了标注。

同时,还可以使用爬虫技术从互联网上获取带有讲稿内容的广播电台的录音,这些数据包括了汉语、英语、维吾尔语、藏语、蒙古语、哈萨克语、彝语、壮语、朝鲜语等。基于此,构建了少量真实数据和标注结果的数据集。

以a语种为例,使用与a语种关联的文本内容构建a语种的文本语料库txt-corpus,其内部包含了a语种的不同文本段落。

然后,基于txt-corpus,将单词通过词嵌入进行one-hot编码,例如,假定一个句话为word0,word1,word2,word3,word4。

对于word2的continuousbag-of-words词向量,要求在给定word0和word1作为上文,word3和word4作为下文时,最大化输出word2的概率,即最大化p1(word2|(word0,word1,word3,word4))。

对于word2的skip-gram词向量,要求在给定word2时,最大化输出word0和word1作为上文,word3和word4作为下文的概率,即最大化p2((word0,word1,word3,word4)|word2)。

然后将word0,word1,word2,word3,word4,以及p1(word2|(word0,word1,word3,word4))作为样本训练训练continuousbag-of-words得到词向量模型word-m0;

将word0,word1,word2,word3,word4,以及p2(word2|(word0,word1,word3,word4))作为样本训练训练skip-gram得到词向量模型word-m1。

s102:从预先训练出若干个语音识别模型中随机选择一个作为当前语音识别模型,从预先训练出的若干个语音合成模型中随机选择一个作为当前语音合成模型。

示例性的,首先,在文本语料库txt-corpus中所包括的少量真实数据和标注结果的基础上,基于相互不同的随机种子,预先训练多个a语种的语音识别模型asr-m。asr-m的作用为:通过任意一个asr-m,可以得到a语种音频到文本的映射关系,即:

asr-m(wave)=text,其中wave是a语种音频,text是a语种文本。

然后,在文本语料库txt-corpus中所包括的少量真实数据和标注结果的基础上,基于另一批相互不同的随机种子,预先训练多个a语种的语音合成模型tts-m。tts-m的作用为:通过任意一个tts-m,可以得到a语种文本到音频的映射关系,即:

tts-m(text)=wave,其中wave是a语种音频,text是a语种文本。

可理解的是,前述的多个可以为3个、5个、10个、50个等。

然后,从语音识别模型asr-m中随机选择一个模型作为当前语音识别模型,从语音合成模型asr-m中随机选择一个模型作为当前语音合成模型。

需要强调的是,基于随机种子训练语音识别模型asr-m以及语音合成模型tts-m的方法为现有技术,本发明实施例在此不再赘述。

s103:从文本语料库中随机选择一个原始文本段落并输入到当前语音合成模型中,得到合成音频;对合成音频中增加随机扰动,得到当前音频。

示例性的,可以从txt-corpus中进行随机采样a语种的一个文本段落text,随机选取一个tts-m作为当前语音合成模型,为其送入text,产生此文本段落对应的音频wave;对wave增加[0,0.1]的随机扰动,得到wave’。

需要强调的是,增加随机扰动的方法为现有技术,本发明实施例在此不再赘述。

s104:将当前音频输入到当前语音识别模型中,得到识别文本。

示例性的,可以再随机选取一个asr-m作为当前语音识别模型,为其送入wave’,asr-m(wave’)=text’,产生此音频对应的文本text’。

s105:分别利用预先训练的continuousbag-of-words模型和预先训练的skip-gram模型分别计算出原始文本中每一个单词的词向量,将原始文本的单词的词向量叠加得到原始文本的总词向量;

再对text和text’内的单词分别利用continuousbag-of-words和skip-gram模型分别计算出识别文本中每一个单词的词向量,然后将text内的词向量相加,得到vector;将text’内的词向量相加,得到vector’。

word-m0(text)+word-m1(text)=word0+word1+…+word0’+word1’+…=vector-+vector1=vector;

word-m0(text’)+word-m1(text’)=word0+word1+…+word0’+word1’+…=vector-+vector1=vector’。

s106:计算原始文本的总词向量与识别文本的总词向量之间的相似度。

比对余弦相似度,将相似度结果映射在[0,1]范围内,并以此为优化的目标损失loss,要求最小化这个损失。

s107:判断所述相似度是否小于预设阈值;若是,执行s109步骤;若否,执行s108步骤。

s108:通过误差反向传播,优化当前语音合成模型的模型参数以及当前语音识别模型的模型参数,并返回执行s102步骤,直至所述相似度小于预设阈值。

在本步骤中,通过最小化目标损失,误差反向传播,分别优化当前语音识别模型asr-m和当前语音合成模型tts-m的参数;将优化后的当前语音识别模型asr-m替换s102步骤中的若干个语音识别模型中的对应的模型,将优化后的当前语音合成模型tts-m替换s102步骤中的若干个语音识别模型中的对应的模型,进而得到更新后的若干个语音识别模型和语音识别模型,然后执行s102步骤,如此反复迭代,直至目标损失收敛,由于每一次选择当前语音识别模型和语音合成模型均为随机选择的,因此,最终会得到若干个优化后的asr-m和tts-m。

需要说明的是,误差反向传播以更新网络权值是将输出误差以某种形式通过隐含层向输入层逐层反转,并将误差分配给各层神经元各个神经单元。这种信号正向传播与误差反向传播的各层权值调整过程循环进行,权值也不断调整,也就是网络的学习过程。此过程一直进行到网络输出的误差减少到可以接受的程度,或进行到预先设定的学习次数为止。本发明实施例可以使用现有的反向传播更新算法进行反向更新。

s109:结束迭代,将若干个语音识别模型中的模型参数的平均值作为目标语音识别模型的模型参数。

优化后的每一个asr-m和tts-m对应的目标损失是小于预设阈值的。

然后,以多个优化后的asr-m中的参数的算术平均值作为目标语音识别模型,例如,优化后的asr-m1中b参数的值为b1;优化后的asr-m2中b参数的值为b2;优化后的asr-m3中b参数的值为b3;优化后的asr-m3中b参数的值为b3;则将b1、b2、b3的算术平均值作为目标语音识别模型的b参数的取值,依次类推,得到目标语音识别模型的其他参数。

应用本发明实施例,利用语音识别模型和语音合成模型进行对抗训练的方式,基于原始文本的总词向量与识别文本的总词向量之间的相似度作为优化目标进行迭代优化,相对于现有技术,无需人工获取真实音频和标注对应文本,仅需要数量较少的样本数据即可实现语音识别模型的训练,降低了成本。

另外,现有的弱监督学习,由于方法还不成熟,识别效果欠佳;现有技术中无监督学习是当前学术和产业界正在尝试的方式,但由于方法还不成熟,同样识别效果欠佳,方法不成熟,效果无法满足商用要求。

而本发明实施例属于弱监督学习方法,,只需要少量真实数据和标注结果,即采用弱监督的方式,但对弱监督的主要算法进行改进,加入和改进无监督对抗训练的方法,保证在只有少量真实数据和标注结果的情况下,仍然能够达到强监督的识别效果,达到了投入小、效果佳的目的。

表1为现有技术与本发明实施例的技术方案的训练条件对比表,如表1所示,

表1

图2为本发明实施例与现有技术所训练的模型的识别准确率的对比结果,如图2所示,横坐标为训练的论数,即迭代次数;纵坐标为模型的识别准确率,显然,在训练轮数大于20轮时,本发明实施例训练出的模型的识别准确率与现有技术的强监督训练出的模型的准确率基本相同。

采用多个模型随机选取,并且同时加入语音合成模型配合进行对抗训练,通过以对比原始文本和语音识别的文本距离的方式,达到了端到端训练的目的,也达到了较方法2、3更好的识别效果。最终在少量投入的情况下,达到了较好的语音识别效果。

基于少量真实音频和标注文本,通过随机选取语音识别和语音合成模型,并对音频加入随机扰动,最终比对原始文本和识别文本的词向量余弦距离为损失目标,这种能够保障最终语音识别效果的弱监督端到端训练方法。

实施例2

与本发明实施例1相对应,本发明还提供了实施例2

图3为本发明实施例提供的一种弱监督语音识别模型训练装置的结构示意图,如图3所示,所述装置包括:

训练模块201,用于预先利用文本语料库分别训练continuousbag-of-words和skip-gram模型;

选择模块202,用于从预先训练出若干个语音识别模型中选择一个作为当前语音识别模型,从预先训练出的若干个语音合成模型中选择一个作为当前语音合成模型;

从文本语料库中选择一个原始文本段落并输入到当前语音合成模型中,得到合成音频;将合成音频作为当前音频;

输入模块203,用于将当前音频输入到当前语音识别模型中,得到识别文本;

计算模块204,用于分别利用预先训练的continuousbag-of-words模型和预先训练的skip-gram模型分别计算出原始文本的总词向量,以及识别文本的总词向量;

计算原始文本的总词向量与识别文本的总词向量之间的相似度;

判断模块205,用于判断所述相似度是否小于预设阈值;

优化模块206,用于在所述判断模块的判断结果为否的情况下,通过误差反向传播,优化当前语音合成模型的模型参数以及当前语音识别模型的模型参数,并触发选择模块202,直至所述相似度小于预设阈值;

设置模块207,用于在所述判断模块的判断结果为是的情况下,结束迭代,将若干个语音识别模型中的模型参数的平均值作为目标语音识别模型的模型参数。

应用本发明实施例,利用语音识别模型和语音合成模型进行对抗训练的方式,基于原始文本的总词向量与识别文本的总词向量之间的相似度作为优化目标进行迭代优化,相对于现有技术,无需人工获取真实音频和标注对应文本,仅需要数量较少的样本数据即可实现语音识别模型的训练,降低了成本。

在本发明实施例的一种具体实施方式中,所述选择模块202,用于:

从预先训练出若干个语音识别模型中随机选择一个作为当前语音识别模型,从预先训练出的若干个语音合成模型中随机选择一个作为当前语音合成模型。

在本发明实施例的一种具体实施方式中,所述选择模块202,用于:

从文本语料库中随机选择一个原始文本段落并输入到当前语音合成模型中。

在本发明实施例的一种具体实施方式中,所述选择模块202,用于:

对合成音频中增加随机扰动,得到当前音频。

在本发明实施例的一种具体实施方式中,所述计算模块204,用于:

分别利用预先训练的continuousbag-of-words模型和预先训练的skip-gram模型分别计算出原始文本中每一个单词的词向量,将原始文本的单词的词向量叠加得到原始文本的总词向量;

分别利用continuousbag-of-words和skip-gram模型分别计算出识别文本中每一个单词的词向量,将识别文本的单词的词向量叠加得到识别文本的总词向量。

在本发明实施例的一种具体实施方式中,所述计算模块204,用于:

计算原始文本的总词向量与识别文本的总词向量之间的余弦相似度。

在本发明实施例的一种具体实施方式中,所述文本语料库,包括:

openslr、thuyg-20、mozillacommonvoice、thchs30、st-cmds、aishell-1、primewordschinesecorpusset1、aidatatang_200zh、magicdatamandarinchinesereadspeechcorpus,以及从互联网上获取带有讲稿内容的广播电台的录音。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1