CN113782000B - 一种基于多任务的语种识别方法 - Google Patents
一种基于多任务的语种识别方法 Download PDFInfo
- Publication number
- CN113782000B CN113782000B CN202111152584.0A CN202111152584A CN113782000B CN 113782000 B CN113782000 B CN 113782000B CN 202111152584 A CN202111152584 A CN 202111152584A CN 113782000 B CN113782000 B CN 113782000B
- Authority
- CN
- China
- Prior art keywords
- voice
- data
- language
- identification
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012549 training Methods 0.000 claims abstract description 87
- 238000012545 processing Methods 0.000 claims abstract description 14
- 238000007781 pre-processing Methods 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 29
- 238000005070 sampling Methods 0.000 claims description 21
- 238000000605 extraction Methods 0.000 claims description 15
- 238000012952 Resampling Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 12
- 238000012163 sequencing technique Methods 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 8
- 238000010606 normalization Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 description 8
- 239000012634 fragment Substances 0.000 description 5
- 238000013139 quantization Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013518 transcription Methods 0.000 description 2
- 230000035897 transcription Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000004579 scanning voltage microscopy Methods 0.000 description 1
- 239000002904 solvent Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/005—Language recognition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
- G10L25/87—Detection of discrete points within a voice signal
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/90—Pitch determination of speech signals
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种基于多任务的语种识别方法,包括以下步骤:构建并训练基于多任务学习的多语种识别模型;所述任务包括语种识别任务和是否为有效话音识别任务;获取待识别语音数据,进行预处理得到待识别的第一语音队列;将第一语音队列中语音数据进行分批处理,得到多个批次且每批中数据长短相近的第二语音队列;将多批次的所述第二语音队列依次导入到所述多语种识别模型,在所述语种识别模型中同时进行语种识别和是否为有效话音识别后,逐批次输出识别结果。本发明实现了对语种识别和有效话音识别两种任务的同时识别,提高了语种识别的准确率和识别效率。
Description
技术领域
本发明涉及语音识别技术领域,尤其涉及一种基于多任务的语种识别方法。
背景技术
近些年,语音识别技术取得显著进步,语种识别作为语音识别的重要技术之一,在军事、医疗、教育等多个领域发挥着重要作用;在多语言语音识别系统中,语种识别作为语音识别系统中的上游任务,对提高多语种语言识别的准确率和系统的用户体验上发挥重要作用;
传统的语种识别方法通常包括语音信号特征提取、语种模型构建和判决规则这三个过程,在这个过程中常用的语音特征有MFCC、Fbank、语谱图、i-vector等,语种模型通常为一个或多个分类器,常用的分类器有SVM、决策树、随机森林等,判决规则与所选的分类器有关,通常是根据先验信息计算出待分类的样本的概率或置信度,以此来预测出语种的类别;
基于深度学习的语种识别方法通常不需要人为手动提取特征,通过深度学习模型,例如CNN、LSTM、transformer等这些非线性特征提取器将语音变换到一个可区分的向量空间,从而定义优化目标函数,使用梯度下降算法更新模型的参数,直到模型预测的类别与真实类别一致。在这类方法中,模型的好坏往往依赖标注数据的质量和数量,此外,这些模型很难提取出语音的深层特征,例如说话人的性别、年龄以及不同语种间发音差异等等。
发明内容
鉴于上述的分析,本发明旨在提供一种基于多任务的语种识别方法,使用训练好的多任务学习的多语种识别模型,同时实现对语音数据的语种识别和是否为有效话音识别任务。
本发明提供的技术方案是:
本发明公开了一种基于多任务的语种识别方法,包括以下步骤:
构建并训练基于多任务学习的多语种识别模型;所述任务包括语种识别任务和是否为有效话音识别任务;
获取待识别语音数据,进行预处理得到待识别的第一语音队列;
将第一语音队列中语音数据进行分批处理,得到多个批次且每批中数据长短相近的第二语音队列;
将多批次的所述第二语音队列依次导入到所述多语种识别模型,在所述语种识别模型中同时进行语种识别和是否为有效话音识别后,逐批次输出识别结果。
进一步地,所述待识别语音数据的预处理方法,包括:
1)将获取的待识别语音数据进行重采样后,统一话音数据的采样率、编码、精度和头文件格式;
2)将声道数大于1的待识别话音数据拆分成单声道话音数据;
3)对于单声道话音数据进行语音检测,将语音数据分为固定时长的多个语音片段,根据每个语音片段在人声的频带范围内各子带的能量,判断语音片段内是否是静音片段,是则去掉该片段,否则保留;得到去除静音的话音数据;
4)根据语音切割的阈值范围,将去除静音的话音数据切割成为固定长度的话音数据片段;
5)将切割后的话音数据片段再次重采样后依次输出得到第一语音队列。
进一步地,将第一语音队列中语音数据进行分批处理,得到多个批次且每批中数据长短相近的第二语音队列;包括:
将所述第一语音队列中的话音数据片段取出后,按照长度进行排序,得到排序语音队列;
从排序语音队列中的一端持续取出话音数据片段,当取出话音数据片段的长度和达到预设长度后,将取出的话音数据片段组成一个批次的第二语音队列;
对排序后的语音队列持续取出并分批得到多批次的第二语音队列;
对于分批后,剩余不足一批的排序语音队列的语音数据,重新返回第一语音队列。
进一步地,所述多语种识别模型包括特征提取层、上下文编码层以及输出层;所述特征提取层采用wav2vec模型中的卷积网络;用于提取输入语音样本语音帧级别的浅层特征;所述上下文编码层采用wav2vec模型中基于自注意力机制的transformer网络,用于提取语音各个帧间的权重和特征;所述输出层为依据同时完成语种识别和数据有效识别任务的要求,对wav2vec模型输出层和损失函数进行调整后的输出层;所述输出层使用全连接网络将提取的权重和特征变换到与语种识别任务和数据有效识别任务对应的label维度,同时输出两个任务的识别结果。
进一步地,所述输出层属于语种任务的输出Y i 为:
所述输出层属于数据有效识别任务的输出Z i 为:
其中,P(X i ,h y i )为语种类别概率归一化输出,P(X i ,h z i )数据有效性概率归一化输出,X i 为所述多语种识别模型输入的第i个样本数据;
h y i 为属于语种任务的经过卷积网络和自注意力网络后得到的隐层特征;h y i =(h y i1,h y i2,…,h y ij ,…,h y iT );
h z i 为属于数据有效识别任务的经过卷积网络和自注意力网络后得到隐层特征;h y i =(h y i1,h y i2,…,h y ij ,…,h y iT );j=1,2,…,T;T为经过所述多语种识别模型中的卷积操作后的帧个数。
进一步地,在多语种识别模型中的损失函数中引入加权因子α来平衡语种识别和数据有效识别两种任务的输出,使用加权因子β来缩放不同类别语种的损失。
进一步地,在多语种识别模型中的损失函数L fine_tuning =(1-α)L y +αL z ;
其中,α为平衡语种识别和数据有效识别两种任务的输出的加权因子;L y 为语种识别任务的softmax交叉损失,;L z 为数据有效识别任务的sigmoid交叉损失,;y i 、z i 分别为语种的真实类别和有效音真实类别,N为样本总数。
进一步地,在多语种识别模型中的损失函数L fine_tuning =(1-α)L y +αL z ;
其中,α为平衡语种识别和数据有效识别两种任务的输出的加权因子;L y 为语种识别任务的softmax交叉损失,;L z 为数据有效识别任务的sigmoid交叉损失,;y i 、z i 分别为语种的真实类别和有效音真实类别,N为样本总数;
进一步地,所述多语种识别模型的训练过程,包括:
使用无监督预训练方式对wav2vec模型进行第一次预训练;
根据语种识别和数据有效识别任务要求建立包含多语种样本数据的训练样本集;
采用训练样本集中的样本数据对第一次预训练好的wav2vec模型再进行第二次预训练;
针对于语种识别和数据有效识别任务要求对第二次预训练好的wav2vec模型的输出层和损失函数进行适应性微调后构建出最终的多语种识别模型;
再次采用训练样本集中样本数据对所述多语种识别模型进行训练,使多语种识别模型能够同时识别输入语音数据的语种和话音有效性。
进一步地,所述训练样本集的数据来源包括通话录音语音数据;所述通话录音语音数据包括多个语种的有效话音数据;对所述有效话音数据进行包括数据重采样、去除静音和数据切割在内的处理后,进行语种类别标记得到有效话音的样本数据;
所述训练样本集还包括音频范围和特征与有效话音数据存在区别的无效话音数据;对无效话音数据进行包括数据重采样、去除静音和数据切割在内处理后,进行数据无效标记得到无效话音的样本数据。
本发明至少可实现以下有益效果之一:
本发明采用的多语种识别模型直接输入语音数据,在语种识别的同时能判断出无效音,能够同时满足实际场景中有效话音检出和语种识别两个任务,节省了时间和空间成本。
对获取待识别语音数据进行预处理以及分批处理后,得到总长固定且语音片段长度相同或相近的语音片段同时输入到识别模型中进行识别,提高了模型的识别的效率。
采用的多语种识别模型采用三次训练的方式,其中,将两次预训练后产生的模型作为多语种识别模型的初始模型的输入,初始化多语种识别模型除了输出层以外的模型中的参数,使得微调任务的起点在一个更接近最优点的位置,使第三次训练的后对有效话音检出和语种识别两个任务的识别效果更好训练时间短。
训练样本集中使用少量的语种标记数据,减少了获取大量标记数据耗费的人力成本、时间成本;并且,引入标记的无效话音数据,以提高模型对语种识别的泛化能力。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例中基于多任务的语种识别方法流程图;
图2为本发明实施例中语种识别模型的构建和训练方法流程图;
图3为本发明实施例中wav2vec预训练任务模型结构图;
图4为本发明实施例中多语种识别模型结构图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
本实施例中的一种基于多任务的语种识别方法,如图1所示,包括以下步骤:
步骤S101、构建并训练基于多任务学习的多语种识别模型;所述任务包括语种识别任务和是否为有效话音识别任务;
步骤S102、获取待识别语音数据,进行预处理得到待识别的第一语音队列;
步骤S103、将第一语音队列中语音数据进行分批处理,得到多个批次且每批中数据长短相近的第二语音队列;
步骤S104、将多批次的所述第二语音队列依次导入到所述多语种识别模型,在所述语种识别模型中同时进行语种识别和是否为有效话音识别后,逐批次输出识别结果。
具体的,步骤S101中的基于多任务学习的多语种识别模型包括特征提取层、上下文编码层以及输出层;所述特征提取层采用wav2vec模型中的卷积网络;用于提取输入语音样本语音帧级别的浅层特征;所述上下文编码层采用wav2vec模型中基于自注意力机制的transformer网络,用于提取语音各个帧间的权重和特征;所述输出层为依据同时完成语种识别和数据有效识别任务的要求,对wav2vec模型输出层和损失函数进行调整后的输出层;所述输出层使用全连接网络将提取的权重和特征变换到与语种识别任务和数据有效识别任务对应的label维度,同时输出两个任务的识别结果。
更具体的,所述输出层属于语种任务的输出Y i 为:
Y i =argmax(P(X i ,h i y ))
所述输出层属于数据有效识别任务的输出:
Z i =argmax(P(X i ,h i z ))
其中,P(X i ,h y i )为语种类别概率归一化输出,P(X i ,h z i )数据有效性概率归一化输出,X i 为所述多语种识别模型输入的第i个样本数据;
h y i 为属于语种任务的经过卷积网络和自注意力网络后得到的隐层特征;h y i =(h y i1,h y i2,…,h y ij ,…,h y iT );
h z i 为属于数据有效识别任务的经过卷积网络和自注意力网络后得到隐层特征;h y i =(h y i1,h y i2,…,h y ij ,…,h y iT );j=1,2,…,T;T为经过所述多语种识别模型中的卷积操作后的帧个数。
优选的,在多语种识别模型中的损失函数中引入加权因子α来平衡语种识别和数据有效识别两种任务的输出,使用加权因子β来缩放不同类别语种的损失。
具体的,在多语种识别模型中的损失函数L fine_tuning =(1-α)L y +αL z ,其中,L y 为语种的softmax交叉损失,L z 为有效音的sigmoid交叉损失,具体地:
因此,
其中,y i 、z i 分别为语种的真实类别和有效音真实类别,Y i 、Z i 分别为模型预测输出的语种类别和有效音真实类别。
N为样本总数。
实际中,对语种识别后的不同语音通常会输入给不同的转写识别引擎去做处理,这就要求对于语种识别的准确率要求要更高;
为此,进一步使用因子β来缩放不同类别语种的损失,即:
具体的,本实施例的多语种识别模型,基于fairseq开源框架进行微调,模型的主体结构仍然由7层卷积和12层的Transformer,模型参数不做调整。
具体的,在步骤102中所述待识别语音数据的预处理方法,包括:
1)将获取的待识别语音数据进行重采样后,统一话音数据的采样率、编码、精度和头文件格式;
具体的,通过初次重采样,将所有语音的格式转换为采样率为8000,通道数为1,PCM编码,精度为16bit的格式,并且为每个语音添加语音头文件;所述头文件为位于语音文件开头的一段数据,用于对主体数据的描述,共占44字节,包含了采样率、通道数、编码等语音格式信息。
2)将声道数大于1的待识别话音数据拆分成单声道话音数据;
3)对于单声道话音数据进行语音检测,将语音数据分为固定时长的多个语音片段,根据每个语音片段在人声的频带范围内各子带的能量,判断语音片段内是否是静音片段,是则去掉该片段,否则保留;得到去除静音的话音数据;
具体的,本实施例采用webbrtc语音端点检测检测语音片段;
首先,将输入的语音以20ms间隔进行分片,得到系列语音片段,
其次,将对每个语音片段分别去检测该片段是否为静音,如果是则去掉该片段,否则保留。
其中,使用webrtc的vad中Very Aggressive模式进行检测,把输入语音片段的频谱分成六个子带(80Hz~250Hz,250Hz~500Hz,500Hz~1K,1K~2K,2K~3K,3K~4K);并分别计算这六个子带的能量,即特征并且使用高斯模型的概率密度函数做运算,得出六个子带的对数似然比函数,即静音和语音的概率。
将每个子带的对数似然比作为局部判定的条件;根据人声的频谱范围(大约在80Hz至1K左右)进行权重优选,将(0.25,0.25,0.25,0.08,0.08,0.08)作为上述六个子带分别使用的权重;将六个子带进行加权求和作为全局特征。
在进行是否为静音判断时,先判断局部,即判断每个子带的对数似然比是否超出了判断阈值,阈值分为局部和全局两组,分别使用94和1100;当有一个子带的对数似然比超出了阈值时,则判断为包含语音;当所有局部均判断为不包含语音时,再判断全局,即判断六个子带进行加权求和结果是否超出了判断阈值,超出了阈值,则判断为包含语音,未超出则判读为静音。
4)根据语音切割的阈值范围,将去除静音的话音数据切割成为为固定长度的话音数据片段;
语音切割的阈值包括最小长度min_len和最大长度max_len;根据min_len和max_len将语音切割为固定长度范围内的长度;使用最小语音min_len来过滤掉过短的语音,以此去除训练集中的一些噪音数据,加快模型收敛速度;由于模型无法处理过长的数据,设置max_len将过长的语音进行截取,以此提高训练效率。本发明中min_len和max_len分别取1秒和30秒,作为经验本方案认为1秒以下的话音数据由于表达内容和说话人语速的限制,难以确定其语种类别,而30秒以内的话音数据足以判断其说话内容涉及的语种。
5)将切割后的话音数据片段再次重采样后依次输出得到第一语音队列。
所述再次重采样,将切割后的语音统一转换为采样率为16000,采样精度为16bit的格式,作为模型训练和识别的样本数据。
本实施例的待识别语音数据的处理,采用两次重采样的方式进行,在初次重采样中采用一个采样率比较低的采样速率,则使对语音进行格式统一,声道拆分、静音去除和语音切割处理时的数据量降低,可以加快处理的速度,对处理硬件的要求降低,在上述处理进行完后,以一个高采样速率去再次进行重采样,使待识别语音数据的采样率和采样精度满足模型的要求。
具体的,步骤S103中,将第一语音队列中语音数据进行分批处理,得到多个批次且每批中数据长短相近的第二语音队列;包括:
1)将所述第一语音队列中的话音数据片段取出后,按照长度进行排序,得到排序语音队列;
2)从排序语音队列中的一端持续取出话音数据片段,当取出话音数据片段的长度和达到预设长度后,将取出的话音数据片段组成一个批次的第二语音队列;
3)对排序后的语音队列持续取出并分批,得到多批次的第二语音队列;
4)对于分批后,剩余不足一批的排序语音队列的语音数据,重新返回第一语音队列。
等待与下一条待识别语音数据的预处理后再次重采样的话音数据片段组合在一起,形成新的第一语音队列。
本实施例还公开了构建并训练基于多任务学习的多语种识别模型的构建和训练过程,如图2所示,包括以下步骤:
步骤S201、使用无监督预训练方式对wav2vec模型进行第一次预训练;获得语音数据的表示;
步骤S202、根据语种识别和数据有效识别任务要求建立包含多语种样本数据的训练样本集;
步骤S203、采用训练样本集中的样本数据对第一次预训练好的wav2vec模型再进行第二次预训练;
步骤S204、针对于语种识别和数据有效识别任务要求对第二次预训练好的wav2vec模型的输出层和损失函数进行适应性微调后构建出最终的多语种识别模型;再次采用训练样本集中样本数据对所述多语种识别模型进行训练,使多语种识别模型能够同时识别输入语音数据的语种和话音有效性。
具体的,在步骤S201中,本实施例采用wav2vec模型这种开源的预训练模型作为初始模型,使用mask的无监督预训练方式,其预训练任务则是去预测这些片段来获得对语音context信息的增强表示,以此作为初始参数去对下游的任务进行参数微调,使得下游的任务有更好的性能。
图3给出了采用wav2vec的预训练模型结构。从图中可知,
首先,原始语音输入到Feature encoder中依次通过7层的卷积做特征提取,每一层的输出作为下一层的输入,每一层的步长分别为(5,2,2,2,2,2,2),卷积核宽度分别为(10,3,3,3,3,2,2)。例如,输入一条(1,L)维的语音,其中L为该语音的长度,通过特征编码后产生维度为(1, L/320,512)的3维向量。
其次,通过上步后得到固定维度为512的语音特征向量,然后通过12层的block进行计算语音特征间的“注意力”,每个block为包含768个隐层单元的transformer结构,使用多头的self-attention计算上述L/320个特征序列间的注意力权重,以此来获得整条完整语音的深层context特征,通过12层的transformer编码后一条语音得到维度为(L/320,1 ,768)的向量。
在预训练阶段,为了构建预测目标,wav2vec通过mask的方式将CNN卷积输出的特征中某一固定长度的特征序列遮蔽,训练任务的目标则是预测这些被遮蔽的特征序列。为了计算被遮蔽掉的特征,wav2vec引入了量化模块将上下文编码输出层的表示进行离散成接近ont-hot向量,以此来量化表示输出特征用来和ground-truth计算损失。wav2vec提供了Gumbel-Softmax和K-means clustering两种量化方法,本发明的预训练任务使用的是前一种方法。预训练任务的损失函数为:
L pre =L m +α 1 L d 其中,L m 为做mask预测的对比损失,L d 为多样性损失,α 1设为0.1。具体地,
L m ,c t 为当前时刻t的transformer网络输出,q t 为隐特征(多层卷积后的feature encoder)量化后的输出,对于以上两输出计算cosine相似度,即sim(a,b)=aTb/||a|| ||b||。在此,wav2vec引入了负采样技术:在当前时刻t,模型要在包含q t 在内的κ+1个量化候选中识别出q t ,其中Q t 表示这κ+1个量化候选,,κ是其他遮蔽项中均匀采样出的干扰项个数。
L d ,G为码本数,取2,V为每个码本的条目数,取320,码本的维度为128;为一组语音片段在每一个码本条目上的平均gumbelsoftmax概率;具体地 ;为gumbelsoftmax的非负温度,n=-log(-log(u)),u服从均匀分布U(0,1),l g,v 为码本中的每个条目,即l g,v ∈R(G×V)。
wav2vec模型第一次预训练的训练数据为大规模语音数据;该大规模语音数据可以是待识别的目标语种以外的语音数据,且无需进行根据任务需要的标记,不会增加额外的工作量。
使用上述处理完的语音进行预训练,预训练的优化目标为上述的直到L pre 小于预设的最大值或预训练的学习率L Rpre小于预设的最大学习率值。
具体的,在步骤S202中建立包含多语种样本数据的训练样本集过程如下:
在本实施例的多任务学习中,语种识别任务和有效话音识别任务各被形式化为一个多分类任务,即输入为语音数据,输出为语种类别和语音是否为有效话音。不同于一般的语种识别任务,本实施例的任务是去确定语种类别标签的同时还要预测出该条语音是否为有效话音,通过引入有效话音识别任务,在判断一条语音的语种类别的前提是该语音必须为有效话音数据,而实际的智能语音识别系统中难以保证所有的输入均为有效音,往往包含大量的无效音,引入有效话音识别任务对于语种识别有其实际的意义,此外无效音相比有效话音,其音频范围和特征与话音数据有一定的区别,可以提高语种识别的泛化能力。因此,训练样本集中的样本数据包括有效话音的样本数据和无效话音数据。
所述训练样本集的数据来源为通话录音语音数据,包括多个语种的有效话音数据;对所述有效话音数据进行包括数据重采样、去除静音和数据切割在内的处理后,得到有效话音的样本数据;并对所述样本数据进行语种类别标记;
所述训练样本集中的无效话音数据为音频范围和特征与有效话音数据存在区别的音频数据,如噪音数据或机器合成的语音提示音。对无效话音数据进行与所述有效话音数据相同的包括数据重采样、去除静音和数据切割在内的处理后,得到无效话音的样本数据,并进行数据无效标记。在本实施例中将无效话音的样本数据采用标签“Reject”进行标记,表示为无效话音的语种类别。
具体的,多个语种的有效话音数据,涉及15个语种,包括俄语、印地语、孟加拉语、德语、日语、汉语、法语、波斯语、泰米尔语、泰语、英语、西班牙语、越南语、阿拉伯语、韩语以及部分无效话音数据,根据每类数据量的不同,将随机划分为表1数据集中的训练集、开发集和测试集,用以交叉验证模型的性能。
更具体的,为了实现更好的训练效果与训练的模型匹配,本实施例中对所述有效话音数据或无效话音数据的处理,包括以下步骤:
1)将多个语种的有效话音数据和无效话音数据进行初次重采样后,进行话音数据的采样率、编码、精度和头文件格式的统一;
2)将声道数大于1的话音数据拆分成单声道话音数据。
3)对于单声道的话音数据进行语音检测,将语音数据分为固定时长的多个语音片段,根据每个语音片段在人声的频带范围内各子带的能量,判断语音片段内是否是静音片段,是则去掉该片段,否则保留;得到去除静音的话音数据。
4)根据语音切割的阈值范围,将去除静音的话音数据切割成为为固定长度的话音数据片段;
5)将切割后的话音数据片段再次重采样后,得到作为模型训练和识别的输入有效话音和无效话音的样本数据。
上述样本数据的处理方法与识别语音数据的预处理方法相同,从而使训练好的模型能够与识别任务更加匹配。
更有选的,对于某一个语种由于样本数据太少,在训练的过程中会导致准确率、召回率和F1较差,即识别效果会变差,为了改善该语种识别效果,本实施例通过训练样本增强来增加话音数据量少的语种数据的数据量。
具体的,对数据量少的语种的话音数据,分别以各设定的话音倍数进行变速扰动,以增加话音数据的数量,用以缓解样本不均衡带来的过拟合和提高模型准确率。
优选的,分别进行0.9、1.1、1.2倍速变速扰动,扰动方法使用sox工具操作;通过变速操作,使该语种的数据量增多了3倍;再通过上述有效话音数据的处理方法进行处理,大大提高了该语种的样本数据量,用以缓解样本不均衡带来的过拟合和模型准确率差问题。
具体的,在步骤S203中的第二次预训练过程中不改动模型结构和损失函数,直到损失达到一个相对平衡的状态后结束训练;
优选的,可将第一次预训练的学习率L Rpre加0.5,在学习的过程中,直到损失L pre的值再次小于预设的损失L pre最大值结束预训练;在第二次预训练过程中,由于训练样本集中的样本数据与第一次预训练数据存在差异,在第二次预训练过程中可能会导致损失函数L pre变大,但是经过几轮以后又会逐渐变小,通过继续训练可以使模型参数更接近该数据的特征,这样有益于微调任务提高准确率。
第二次预训练,优选迭代超过10000步以后结束预训练。
具体的,在步骤S204中进行适应性微调后构建出最终的多语种识别模型包括特征提取层、上下文编码层以及输出层;所述特征提取层采用第二次预训练好的wav2vec模型中的卷积网络;用于提取输入语音样本语音帧级别的浅层特征;所述上下文编码层用第二次预训练好的wav2vec模型中基于自注意力机制的transformer网络,用于提取语音各个帧间的权重和特征;基于语种识别和有效话音识别任务,对wav2vec模型输出层和损失函数进行调整,使用全连接网络将提取的权重和特征变换到对应任务的label维度,同时输出两个任务的识别结果。
为了训练语种识别任务和有效话音识别两种任务,本实施例中模型的输出层包含1个softmax层和1个sigmoid层来分别预测语种类别和有效音类别。对于第i个样本数据,预测其类别语种类别Y i 和有效音类别Z i 。
微调后的模型结构如图4所示,语音数据第i个样本X i =(x i1,x i2,…,x iL)作为输入,L为语音的长度(L与语音的采样率有关,本方案的训练样本采样率均为16K),经过卷积网络和自注意力网络后得到隐层特征h i =(h i1,h i2,…,h ij ,…,h iT),其中T的值为经过7层卷积操作后的帧个数,优选的T=L/320;经过卷积网络和自注意力网络后通过改进的输出层得到属于语种任务的输出Y i 和有效话音类别输出Z i :
属于语种任务的输出:
Y i =argmax(P(X i ,h i y ))
属于数据有效识别任务的输出:
Z i =argmax(P(X i ,h i z ))
其中,P(X i ,h y i )为语种类别概率归一化输出,P(X i ,h z i )数据有效性概率归一化输出,X i 为所述多语种识别模型输入的第i个样本数据;
h y i 为属于语种任务的经过卷积网络和自注意力网络后得到的隐层特征;h y i =(h y i1,h y i2,…,h y ij ,…,h y iT );
h z i 为属于数据有效识别任务的经过卷积网络和自注意力网络后得到隐层特征;h y i =(h y i1,h y i2,…,h y ij ,…,h y iT );j=1,2,…,T;T为经过所述多语种识别模型中的卷积操作后的帧个数。
本实施例中的softmax使用log_softmax函数,也就是softmax之后再通过一个log函数,用以缓解softmax函数计算中的上溢和下溢问题。
此外,由于有效话音识别的就只有“有效”和“无效”两种类别,则使用sigmoid函数作为输出层的激活函数。
在多语种识别模型中的损失函数中引入加权因子α来平衡语种识别和数据有效识别两种任务的输出,使用加权因子β来缩放不同类别语种的损失。
具体的,整个微调任务的损失函数如下所示:
L fine_tuning =(1-α)L y +αL z ,其中,L y 为语种的softmax交叉损失,L z 为有效音的sigmoid交叉损失,具体地:
因此,
其中,y i 、z i 分别为语种的真实类别和有效音真实类别,Y i 、Z i 分别为模型预测输出的语种类别和有效音真实类别。
N为样本总数。
实际中,对语种识别后的不同语音通常会输入给不同的转写识别引擎去做处理,这就要求对于语种识别的准确率要求要更高;
为此,进一步使用因子β来缩放不同类别语种的损失,即:
具体的,本实施例的多语种识别模型,基于fairseq开源框架进行微调,在整个微调过程中,模型的主体结构仍然由7层卷积和12层的Transformer,模型参数不做调整。
训练过程中,将训练样本输入fairseq中进行训练,在损失函数中α和β分别取0.2和1.5时效果较为稳定;记录loss的变化,直到loss变化幅度在0.001内时停止训练。
采用15个语种的数据进行语种识别训练后的统计结果如表1所示,
表中的数据包括15个语种的数据,每个语种随机划分为训练集、开发集、测试集3部分。在数据集1实验中,除了带*语种数据较少,导致准确率、召回率和F1较差外,其他语种的交叉验证均取得了较好的识别效果;数据集2中针对这几类样本较少的类别,依次做了0.9、1.1、1.2倍速的语速扰动,很明显的经过语速扰动的数据增强,无论是准确率、召回率还是F1均取得了较好的效果。
表1语种识别装置实施结果
综上所述,本实施例中采用的多语种识别模型直接输入语音数据,在语种识别的同时能判断出无效音,能够同时满足实际场景中有效话音检出和语种识别两个任务,节省了时间和空间成本。
对获取待识别语音数据进行预处理以及分批处理后,得到总长固定且语音片段长度相同或相近的语音片段同时输入到识别模型中进行识别,提高了模型的识别的效率。
采用的多语种识别模型采用三次训练的方式,其中,将两次预训练后产生的模型作为多语种识别模型的初始模型的输入,初始化多语种识别模型除了输出层以外的模型中的参数,使得微调任务的起点在一个更接近最优点的位置,使第三次训练的后对有效话音检出和语种识别两个任务的识别效果更好训练时间短。
训练样本集中使用少量的语种标记数据,减少了获取大量标记数据耗费的人力成本、时间成本;并且,引入标记的无效话音数据,以提高模型对语种识别的泛化能力。
并且,通过语速扰动的数据增强来增加样本数量少的语种数据的数据量,以提高模型的训练准确率、召回率和F1值。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种基于多任务的语种识别方法,其特征在于,包括以下步骤:
构建并训练基于多任务学习的多语种识别模型;所述任务包括语种识别任务和是否为有效话音识别任务;
获取待识别语音数据,进行预处理得到待识别的第一语音队列;
将第一语音队列中语音数据进行分批处理,得到多个批次且每批中数据长短相近的第二语音队列;
将多批次的所述第二语音队列依次导入到所述多语种识别模型,在所述语种识别模型中同时进行语种识别和是否为有效话音识别后,逐批次输出识别结果;
所述多语种识别模型包括特征提取层、上下文编码层以及输出层;所述特征提取层采用wav2vec模型中的卷积网络;用于提取输入语音样本语音帧级别的浅层特征;所述上下文编码层采用wav2vec模型中基于自注意力机制的transformer网络,用于提取语音各个帧间的权重和特征;所述输出层为依据同时完成语种识别和数据有效识别任务的要求,对wav2vec模型输出层和损失函数进行调整后的输出层;所述输出层使用全连接网络将提取的权重和特征变换到与语种识别任务和数据有效识别任务对应的label维度,同时输出两个任务的识别结果。
2.根据权利要求1所述的语种识别方法,其特征在于,所述待识别语音数据的预处理方法,包括:
1)将获取的待识别语音数据进行重采样后,统一话音数据的采样率、编码、精度和头文件格式;
2)将声道数大于1的待识别话音数据拆分成单声道话音数据;
3)对于单声道话音数据进行语音检测,将语音数据分为固定时长的多个语音片段,根据每个语音片段在人声的频带范围内各子带的能量,判断语音片段内是否是静音片段,是则去掉该片段,否则保留;得到去除静音的话音数据;
4)根据语音切割的阈值范围,将去除静音的话音数据切割成为固定长度的话音数据片段;
5)将切割后的话音数据片段再次重采样后依次输出得到第一语音队列。
3.根据权利要求1所述的语种识别方法,其特征在于,将第一语音队列中语音数据进行分批处理,得到多个批次且每批中数据长短相近的第二语音队列;包括:
将所述第一语音队列中的话音数据片段取出后,按照长度进行排序,得到排序语音队列;
从排序语音队列中的一端持续取出话音数据片段,当取出话音数据片段的长度和达到预设长度后,将取出的话音数据片段组成一个批次的第二语音队列;
对排序后的语音队列持续取出并分批得到多批次的第二语音队列;
对于分批后,剩余不足一批的排序语音队列的语音数据,重新返回第一语音队列。
5.根据权利要求4所述的语种识别方法,其特征在于,在多语种识别模型中的损失函数中引入加权因子α来平衡语种识别和数据有效识别两种任务的输出,使用加权因子β来缩放不同类别语种的损失。
8.根据权利要求1-7任一项所述的语种识别方法,其特征在于,
所述多语种识别模型的训练过程,包括:
使用无监督预训练方式对wav2vec模型进行第一次预训练;
根据语种识别和数据有效识别任务要求建立包含多语种样本数据的训练样本集;
采用训练样本集中的样本数据对第一次预训练好的wav2vec模型再进行第二次预训练;
针对于语种识别和数据有效识别任务要求对第二次预训练好的wav2vec模型的输出层和损失函数进行适应性微调后构建出最终的多语种识别模型;
再次采用训练样本集中样本数据对所述多语种识别模型进行训练,使多语种识别模型能够同时识别输入语音数据的语种和话音有效性。
9.根据权利要求8所述的语种识别方法,其特征在于,
所述训练样本集的数据来源包括通话录音语音数据;所述通话录音语音数据包括多个语种的有效话音数据;对所述有效话音数据进行包括数据重采样、去除静音和数据切割在内的处理后,进行语种类别标记得到有效话音的样本数据;
所述训练样本集还包括音频范围和特征与有效话音数据存在区别的无效话音数据;对无效话音数据进行包括数据重采样、去除静音和数据切割在内处理后,进行数据无效标记得到无效话音的样本数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111152584.0A CN113782000B (zh) | 2021-09-29 | 2021-09-29 | 一种基于多任务的语种识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111152584.0A CN113782000B (zh) | 2021-09-29 | 2021-09-29 | 一种基于多任务的语种识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113782000A CN113782000A (zh) | 2021-12-10 |
CN113782000B true CN113782000B (zh) | 2022-04-12 |
Family
ID=78854461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111152584.0A Active CN113782000B (zh) | 2021-09-29 | 2021-09-29 | 一种基于多任务的语种识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113782000B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114818668B (zh) * | 2022-04-26 | 2023-09-15 | 北京中科智加科技有限公司 | 一种语音转写文本的人名纠错方法、装置和计算机设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE821059A (fr) * | 1973-10-17 | 1975-04-14 | Procede et installation d'emboitage | |
WO2018153213A1 (zh) * | 2017-02-24 | 2018-08-30 | 芋头科技(杭州)有限公司 | 一种多语言混合语音识别方法 |
WO2018227780A1 (zh) * | 2017-06-12 | 2018-12-20 | 平安科技(深圳)有限公司 | 语音识别方法、装置、计算机设备及存储介质 |
WO2019100998A1 (zh) * | 2017-11-24 | 2019-05-31 | 腾讯科技(深圳)有限公司 | 语音信号处理模型训练方法、电子设备及存储介质 |
CN111326139A (zh) * | 2020-03-10 | 2020-06-23 | 科大讯飞股份有限公司 | 一种语种识别方法、装置、设备及存储介质 |
WO2021098490A1 (zh) * | 2019-11-22 | 2021-05-27 | 华为技术有限公司 | 语种识别方法、装置、终端设备及计算机可读存储介质 |
CN112951213A (zh) * | 2021-02-09 | 2021-06-11 | 中国科学院自动化研究所 | 端到端的在线语音检测与识别方法、系统及设备 |
CN112989108A (zh) * | 2021-02-24 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 基于人工智能的语种检测方法、装置及电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106601235A (zh) * | 2016-12-02 | 2017-04-26 | 厦门理工学院 | 一种半监督多任务特征选择的语音识别方法 |
CN109313892B (zh) * | 2017-05-17 | 2023-02-21 | 北京嘀嘀无限科技发展有限公司 | 稳健的语言识别方法和系统 |
US10902588B2 (en) * | 2018-08-13 | 2021-01-26 | International Business Machines Corporation | Anatomical segmentation identifying modes and viewpoints with deep learning across modalities |
CN109523994A (zh) * | 2018-11-13 | 2019-03-26 | 四川大学 | 一种基于胶囊神经网络的多任务语音分类方法 |
CN111724766B (zh) * | 2020-06-29 | 2024-01-05 | 合肥讯飞数码科技有限公司 | 语种识别方法、相关设备及可读存储介质 |
CN112331187B (zh) * | 2020-11-24 | 2023-01-13 | 思必驰科技股份有限公司 | 多任务语音识别模型训练方法、多任务语音识别方法 |
-
2021
- 2021-09-29 CN CN202111152584.0A patent/CN113782000B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE821059A (fr) * | 1973-10-17 | 1975-04-14 | Procede et installation d'emboitage | |
WO2018153213A1 (zh) * | 2017-02-24 | 2018-08-30 | 芋头科技(杭州)有限公司 | 一种多语言混合语音识别方法 |
WO2018227780A1 (zh) * | 2017-06-12 | 2018-12-20 | 平安科技(深圳)有限公司 | 语音识别方法、装置、计算机设备及存储介质 |
WO2019100998A1 (zh) * | 2017-11-24 | 2019-05-31 | 腾讯科技(深圳)有限公司 | 语音信号处理模型训练方法、电子设备及存储介质 |
WO2021098490A1 (zh) * | 2019-11-22 | 2021-05-27 | 华为技术有限公司 | 语种识别方法、装置、终端设备及计算机可读存储介质 |
CN111326139A (zh) * | 2020-03-10 | 2020-06-23 | 科大讯飞股份有限公司 | 一种语种识别方法、装置、设备及存储介质 |
CN112951213A (zh) * | 2021-02-09 | 2021-06-11 | 中国科学院自动化研究所 | 端到端的在线语音检测与识别方法、系统及设备 |
CN112989108A (zh) * | 2021-02-24 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 基于人工智能的语种检测方法、装置及电子设备 |
Non-Patent Citations (2)
Title |
---|
Multi-task Learning and Thai Handwritten Text Recognition;Chutimet Srinilta;《2020 6th International Conference on Engineering, Applied Sciences and Technology (ICEAST)》;20200704;第1-4页 * |
采用注意力机制和多任务训练...端无语音识别关键词检索系统;赵泽宇;《信号处理》;20200630;第36卷(第6期);第839-851页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113782000A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113889090A (zh) | 一种基于多任务学习的多语种识别模型的构建和训练方法 | |
US7957959B2 (en) | Method and apparatus for processing speech data with classification models | |
Verma et al. | Indian language identification using k-means clustering and support vector machine (SVM) | |
CN113782000B (zh) | 一种基于多任务的语种识别方法 | |
Dave et al. | Speech recognition: A review | |
CN106297769B (zh) | 一种应用于语种识别的鉴别性特征提取方法 | |
CN112216270B (zh) | 语音音素的识别方法及系统、电子设备及存储介质 | |
CN114298019A (zh) | 情绪识别方法、装置、设备、存储介质、程序产品 | |
Konangi et al. | Emotion recognition through speech: A review | |
Reynolds et al. | Automatic language recognition via spectral and token based approaches | |
Nyodu et al. | Automatic identification of Arunachal language using K-nearest neighbor algorithm | |
Unnibhavi et al. | LPC based speech recognition for Kannada vowels | |
Syfullah et al. | Efficient vector code-book generation using K-means and Linde-Buzo-Gray (LBG) algorithm for Bengali voice recognition | |
Sen et al. | A novel bangla spoken numerals recognition system using convolutional neural network | |
Thalengala et al. | Study of sub-word acoustical models for Kannada isolated word recognition system | |
Wazir et al. | Deep learning-based detection of inappropriate speech content for film censorship | |
Alvarez et al. | Learning intonation pattern embeddings for arabic dialect identification | |
CN113870839B (zh) | 一种基于多任务的语种识别模型的语种识别装置 | |
Fachrie et al. | Robust Indonesian digit speech recognition using Elman recurrent neural network | |
Chakroun et al. | A hybrid system based on GMM-SVM for speaker identification | |
Mathur et al. | A study of machine learning algorithms in speech recognition and language identification system | |
Sharma et al. | Soft-Computational Techniques and Spectro-Temporal Features for Telephonic Speech Recognition: an overview and review of current state of the art | |
Woods et al. | A robust ensemble model for spoken language recognition | |
CN114067793A (zh) | 音频处理方法和装置、电子设备及可读存储介质 | |
Davis et al. | Evaluation of acoustic parameters for monosyllabic word identification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |