本发明涉及深度学习语种识别及语音信号处理领域的方言种属识别方法,具体地,涉及一种基于扩张卷积神经网络的方言种属识别技术方法。
背景技术:
基于不同地域文化形态形成了形式各异的各地方言,诸多地方的方言均有“十里不同音”的特点。方言的地域文化推广、文化特色传承等社会教育作用应被发扬光大。需利用技术将一些正在淡出人们视线的方言保护下去,成为一笔财富。
方言识别类比于语种识别,其目的在于自动确定一段语音所属的语言种类。作为相关语言应用的一种前端处理技术,语种识别在多语种语音识别、信息检索和服务、即时通信系统、公安消防系统和机器翻译等领域中有着举足轻重的地位,让其研究变得有意义起来。现有技术中,声学模型从gmm-hmm到dnn-hmm的蜕变,再到利用长短时记忆递归神经网络lstm-rnn搭建的端对端网络的语种识别系统无一不促进了语音识别的发展。lstm-rnn在处理长时信息和序列信号上有着天然的优势,独特的结构设计让它可以自动选择遗忘不重要的节点并记忆重要的节点,同时在一定程度上解决了传统rnn网络梯度消失和梯度爆炸的问题。但由于rnn采用循环机制,导致实时性不强,所以这成为了一大弊端。
技术实现要素:
针对现有技术的不足,本发明提出一种基于扩张卷积的神经网络的方言种属识别方法,使用传统声学特征梅尔频率倒谱系数mfcc及梅尔滤波器组log-melfilterbank作为神经网络模型的输入,利用卷积的平移、缩放和旋转不变性,在网络中训练的参数更少的基础上,提高方言种属识别的准确率。
为实现上述目的,本发明提出一种基于扩张卷积神经网络的方言种属识别方法,其特征在于具体包括如下步骤:
a)数据集选取及预处理阶段:选择音频格式为pcm的方言,该音频是通过将模拟音频信号经模数转换得到的二进制序列;该语音信号为单通道的采样频率16khz的信号,无头尾信息,为其添加头信息将其转化为wav格式文件;
b)特征提取阶段:将预处理完成后的音频根据人耳特征,提取梅尔倒谱系数mfcc声学特征;;
c)模型构建阶段:将特征提取阶段得到的特征序列作为模型输入,采用扩张卷积的cnn构建模型;输入层之后紧接着一层一维卷积层,卷积核大小选取1×1,可通过设置卷积核的个数,灵活的实现升维和降维;bn层和激活层排布在每个卷积层后面,设置两个残差网络块,内部包含一维卷积层、bn层和激活层,使用add层来做信息的叠加;下一层为shortcutconnection连接的跳跃层之间的add层,再连接激活层和bn层,最终将bn层的输出作为池化层的输入,全连接到softmax层。
d)训练模型阶段:利用深度学习框架keras和tensorflow训练网络,将数据集中的数据标签化,并序列化保存到最佳模型。
优选地,在所述步骤a)数据集选取集预处理阶段,为了使数据集中包含更多的数据,搜集到了方言的扩展,增加语料库容量;使用百度人工智能api,音频处理相关sdk,添加jar到java库,并添加相应依赖到maven仓库;将mp3格式转化为pcm无损压缩格式,添加信息头得到wav格式文件。
优选地,在所述步骤a)数据集选取及预处理阶段,使用分帧、加窗的方法处理语音信号,使得语音信号在一帧内实现语音信号的短时平稳性以方便提取特征。
优选地,在所述步骤a)数据集选取集预处理阶段,对语音信号进行时域分析,可通过短时相关分析得到基因周期的估值等;对语音信号进行短时傅里叶变换,将时域信号转到频域。
优选地,在所述步骤b)特征提取阶段,提取的mfcc特征向量维数为13维,提取动态特征mfcc一阶差分、二阶差分,拼接为39维特征向量;log-melfilterbank特征向量的维数等于三角滤波器组中滤波器的个数。
优选地,在所述步骤c)模型构建阶段,其特征在于利用扩张卷积来扩大网络的感受野,类似于使用更大的卷积核进行卷积操作,未增加参数,保证了运算速度;
优选地,在所述步骤c)模型构建阶段,加入残差网络,在网络中的层中间融入shortcutconnection跨越3层,通过权重连接,将不相邻网络层前后串接起来形成深度网络。
优选地,在所述步骤c)模型构建阶段,在全连接的softmax层前面增加全局平均池化层,以减少了参数数量。
本发明是一种基于扩张卷积神经网络的方言种属识别方法,包括数据集的选取及预处理阶段、特征提取阶段,模型构建阶段以及训练模型阶段。使用传统声学特征梅尔频率倒谱系数mfcc及梅尔滤波器组log-melfilterbank作为输入构建神经网络模型。实现在方言语料充分的条件下,使用该网络训练模型,比传统gmm-hmm模型的识别准确率提升了8%~15%,使得方言种属识别准确率稳定在90%以上,并可以推广到其他语言辨识应用中去。
附图说明
图1是本发明声学特征mfcc计算流程图
图2是本发明神经网络结构示意图
具体实施方式
以下结合附图对本发明的具体实施方式作进一步说明。
针对现有技术的不足,本发明提出一种基于扩张卷积的神经网络,使用传统声学特征梅尔频率倒谱系数mfcc及梅尔滤波器组log-melfilterbank作为神经网络模型的输入,利用卷积的平移、缩放和旋转不变性,在网络中训练的参数更少的基础上,提高方言种属识别的准确率。
本发明将所述基于扩张卷积的神经网络应用于方言种属的识别中,形成一种基于扩张卷积的神经网络的方言种属识别方法,包括数据集的选取及预处理阶段、特征提取阶段,模型构建阶段,训练模型阶段,其中:
所述数据集选取及预处理阶段,选择长沙、上海、南昌方言,音频格式为pcm,是模拟音频信号经模数转换(a/d变换)直接形成的二进制序列,语音信号为单通道,为遵循奈奎斯特采样定律fs>2f,采样频率16khz,无头尾信息,为其添加头信息转化为wav格式文件。
对于数据集的构建与预处理阶段,具体处理方式如下:
(1)数据集构建:数据集由三种pcm格式的方言语料和数据格式为mp3格式的新语料组合而成,将原本的mp3格式统一转换为pcm格式,减少语音压缩后的失真。使用百度人工智能api,音频处理相关sdk,添加jar到java库,并添加相应依赖到maven仓库;将mp3格式转化为pcm无损压缩格式,添加信息头得到wav格式文件。使用百度人工智能开放平台,引入第三方依赖包,申请appid等,将数据上传至服务器,并得到pcm格式文件。为pcm文件加上语音信息头,例如采样频率、帧速率、通道数等信息,将其转化为wav格式文件。将转化后的文件标签化,选出与原始语音集相关的地方方言,重命名文件,加入整体数据集,
(2)分帧:是利用可移动的有限长度窗口进行加权的方法实现。通常将语音段分为多个10ms~30ms的短段,称之为帧。为了保证信号之间的平滑性,分帧时加入帧移概念,使得帧与帧之间平滑过渡,保证了语音信号的短时平稳不变性。
(3)加窗:为了减小截断反应,常用的窗函数包括矩形窗、汉明窗。后者的主瓣宽度比矩形窗大一倍,同时其带外衰减也比矩形窗大一倍多,虽然矩形窗的谱平滑性较好,但损失了高频部分,二者比较选用不使波形丢失细节的汉明窗。
(4)预加重:为了去除口唇对语音信号的辐射和提升高频的分辨率,我们需对数字化后的加重语音信号的高频部分,即预加重。我们一般会通过加高通滤波器来实现对语音信号高频部分的加重处理。一阶fir高通数字滤波器:
h(z)=1-αz-1,0.9<α<1
(5)端点检测:用于鉴别音频信号当中的语音出现和语音消失。附加的在此基础上清掉了语音中的静音段。
(6)时频域分析:对语音信号进行时域分析,可通过短时相关分析得到基因周期的估值等;对语音信号进行短时傅里叶变换,将时域信号转到频域。
所述特征提取阶段,将预处理完成后的音频根据人耳特征,提取常用的两种声学特征mfcc和log-melfilterbank。利用mfcc提取特征可得到对应的13维,另外提取log-melfilterbank特征得到的维数等于滤波器组滤波器个数梅尔倒谱系数mfcc特征拟合了人耳的听觉系统,mel标度描述了人耳频率的非线性特征。mfcc是对log-melfilterbank的对数能量谱做dct计算得到。mfcc系数中的首维能量c0用logenergy代替,防止c0数值过大带来识别结果的下降。mfcc计算流程如附图1所示。mfcc为静态特征,为了能更好的表达相邻帧之间的相关性,提取动态特征mfcc一阶差分、二阶差分,拼接为39维特征向量。提取频谱对数能量作为log-melfilterbank特征,滤波器个数取40个。使用python提取出两种特征后对其进行归一化处理作为整个网络的输入。
所述模型构建阶段:将特征提取阶段得到的特征序列最为模型输入,利用采用扩张卷积的cnn解决序列长时期依赖问题,从而替代具有长短时记忆lstm机制的rnn,采用扩张卷积使得在网络具有更大的感受野。语音信号为一维信号,采用一维卷积,只需在数据帧上做卷积即可。输入层之后紧接着一层一维卷积层,卷积核大小选取1×1,可通过设置卷积核的个数,灵活的实现升维和降维。relu激活函数将线性问题非线性化,让神经网络拟合能力提升。归一化层采用batchnormalization使得在深度神经网络训练过程中,每一层神经网络的输入保持相同分布,让每一层的值在有效地范围内传递。采用反向传播算法进行区分性训练。使用在图像分割领域初现的扩张卷积也叫带洞卷积或者膨胀卷积,扩张卷积可以使感受野呈指数增长,计算量未增加。和普通卷积相比多了一个dilationrate的参数,可以通过它在基础卷积核中加入间隔,类似于kernelsize做了相应的扩大,携带参数的只有本身卷积核,即扩张卷积与普通卷积在网络中的参数数量保持一致。将连续排布的扩张卷积的dilationrate设置为类似[1,2,4,8]的结构,使网格向外延伸的计算点尽可能地被覆盖到。考虑到深度越深网络表达能力可能不增反降的因素,加入残差网络,在网络中的层中间融入shortcutconnection跨越3层,比较于highnetworks和plainnetworks,缓解了深度网络中的梯度下降问题。加入池化层,采用全局平均池化方式,对数据进行降维,减少了参数数量,保证了计算速度。由于涉及到分类问题采用softmax作为最后一层。如附图2所示为网络结构示意并附带特征形状变化。
通过本发明的改进方案,比传统gmm-hmm模型的识别准确率提升了8%~15%,使得方言种属识别准确率稳定在90%以上,最好模型测试集准确率能达到95%以上。可用此分类器将待验证语音分类,再根据语言模型进行方言识别。
以上内容结合附图对本发明的实施方式作出描述,但本发明不局限于上述实施方式。本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
1.一种基于扩张卷积神经网络的方言种属识别方法,其特征在于具体包括如下步骤:
a)数据集选取及预处理阶段:选择音频格式为pcm的方言,该音频是通过将模拟音频信号经模数转换得到的二进制序列;该语音信号为单通道的采样频率16khz的信号,无头尾信息,为其添加头信息将其转化为wav格式文件;
b)特征提取阶段:将预处理完成后的音频根据人耳特征,提取梅尔倒谱系数mfcc声学特征和log-melfilterbank特征;
c)模型构建阶段:将特征提取阶段得到的特征序列作为模型输入,采用扩张卷积的cnn构建模型;输入层之后紧接着一层一维卷积层,可通过设置卷积核的个数,灵活的实现升维和降维;bn层和激活层排布在每个卷积层后面,设置两个残差网络块,内部包含一维卷积层、bn层和激活层,使用add层来做信息的叠加;下一层为shortcutconnection连接的跳跃层之间的add层,再连接激活层和bn层,最终将bn层的输出作为池化层的输入,全连接到softmax层;
d)训练模型阶段:利用深度学习框架keras和tensorflow训练网络,将数据集中的数据标签化,并序列化保存到最佳模型。
2.根据权利要求1所述的一种基于扩张卷积神经网络的方言种属识别方法,其特征在于:在所述步骤a)数据集选取集预处理阶段,为了使数据集中包含更多的数据,搜集到了方言的扩展,增加语料库容量;使用百度人工智能api,音频处理相关sdk,添加jar到java库,并添加相应依赖到maven仓库;将mp3格式转化为pcm无损压缩格式,添加信息头得到wav格式文件。
3.根据权利要求1所述的一种基于扩张卷积神经网络的方言种属识别方法,其特征在于:在所述步骤a)数据集选取及预处理阶段,使用分帧、加窗的方法处理语音信号,使得语音信号在一帧内实现语音信号的短时平稳性以方便提取特征。
4.根据权利要求1所述的一种基于扩张卷积神经网络的方言种属识别方法,其特征在于:在所述步骤a)数据集选取集预处理阶段,对语音信号进行时域分析,可通过短时相关分析得到基因周期的估值等;对语音信号进行短时傅里叶变换,将时域信号转到频域。
5.根据权利要求1所述的一种基于扩张卷积神经网络的方言种属识别方法,其特征在于:在所述步骤b)特征提取阶段,提取的mfcc特征向量维数为13维,提取动态特征mfcc一阶差分、二阶差分,拼接为39维特征向量;log-melfilterbank特征向量的维数等于三角滤波器组中滤波器的个数。
6.根据权利要求1所述的一种基于扩张卷积神经网络的方言种属识别方法,其特征在于:在所述步骤c)模型构建阶段,其特征在于利用扩张卷积来扩大网络的感受野,类似于使用更大的卷积核进行卷积操作,未增加参数,保证了运算速度。
7.根据权利要求1所述一种基于扩张卷积神经网络的方言种属识别的方法,其特征在于:在所述步骤c)模型构建阶段,加入残差网络,在网络中的层中间融入shortcutconnection跨越3层,通过权重连接,将不相邻网络层前后串接起来形成深度网络。
8.根据权利要求1所述的一种基于扩张卷积神经网络的方言种属识别的方法,其特征在于:在所述步骤c)模型构建阶段,在全连接的softmax层前面增加全局平均池化层,以减少了参数数量。
技术总结