一种语音智能分类方法及系统与流程

文档序号:16394775发布日期:2018-12-25 19:41阅读:201来源:国知局
一种语音智能分类方法及系统与流程

本发明涉及语音分类领域,特别是涉及一种语音智能分类方法及系统。

背景技术

随着深度学习技术的发展,基于深度学习的语音分类技术正在逐渐应用到各个领域中。由于语音数据是一种时序数据,而循环神经网络适用于时序数据处理,所以循环神经网络是实现语音分类的核心。语音分类就是从给定的语音数据中提取特征,将提取的特征作为循环神经网络的输入数据对神经网络进行训练,达到判断语音所属类别的效果,其经常被用于语音识别,语音情感分析等方面。语音分类所使用的循环神经网络结构的设计往往会直接影响到语音分类的效果。传统循环神经网络应用于语音分类时往往存在着收敛速度慢,分类效果不好的缺点。



技术实现要素:

本发明的目的是提供一种语音智能分类方法及系统,用以加快语音分类训练时的收敛速度,提高判断精度。

为实现上述目的,本发明提供了如下方案:

一种语音智能分类方法,所述方法包括:

获取训练集语音数据;

对所述训练集语音数据进行处理,得到训练集特征数据;

构建初始化模型;所述初始化分类模型包括依次连接的第一卷积层、第一最大池化层、双向循环神经网络模型、第二卷积层、第二最大池化层、第一全连接层、第一dropout层、第二全连接层、第二dropout层以及线性层;

通过所述训练集特征数据对所述初始化模型进行训练,得到分类模型;

获取测试集语音数据;

对所述测试集语音数据进行处理,得到测试集特征数据;

通过所述分类模型对所述测试集特征数据进行分类。

可选的,所述对所述训练集语音数据进行处理,得到训练集特征数据,具体包括:

提取所述训练集语音数据的梅尔频率倒谱系数;

根据长度阈值对所述梅尔频率倒谱系数进行长度划分,得到训练集特征数据。

可选的,所述通过所述训练集特征数据对所述初始化模型进行训练,得到分类模型,具体包括:

通过第一卷积层以及第一最大池化层对所述训练集特征数据进行卷积以及最大池化处理,得到第一卷积数据;

将所述训练集卷积数据作为所述双向循环神经网络模型的输入,得到第一输出数据;

通过所述第二卷积层以及第二最大池化层对所述第一输出数据进行卷积以及最大池化处理,得到第二卷积数据;

通过所述第一全连接层、所述第一dropout层、所述第二全连接层、所述第二dropout层以及所述线性层对所述第二卷积数据进行输出,得到第二输出数据;

判断所述第二输出数据是否在误差范围阈值内;

若是,确定所述初始化模型为分类模型;

若否,调整所述初始化模型的参数,使所述第二输出数据在所述误差范围阈值内,得到分类模型。

一种语音分类系统,所述系统包括:

训练集获取模块,用于获取训练集语音数据;

训练集处理模块,用于对所述训练集语音数据进行处理,得到训练集特征数据;

建模模块,用于构建初始化模型;所述初始化分类模型包括依次连接的第一卷积层、第一最大池化层、双向循环神经网络模型、第二卷积层、第二最大池化层、第一全连接层、第一dropout层、第二全连接层、第二dropout层以及线性层;

训练模块,用于通过所述训练集特征数据对所述初始化模型进行训练,得到分类模型;

测试集获取模块,用于获取测试集语音数据;

测试集处理模块,用于对所述测试集语音数据进行处理,得到测试集特征数据;

分类模块,用于通过所述分类模型对所述测试集特征数据进行分类。

可选的,所述训练集处理模块具体包括:

提取单元,用于提取所述训练集语音数据的梅尔频率倒谱系数;

划分单元,用于根据长度阈值对所述梅尔频率倒谱系数进行长度划分,得到训练集特征数据。

可选的,所述训练模块具体包括:

第一卷积及最大池化单元,用于通过第一卷积层以及第一最大池化层对所述训练集特征数据进行卷积以及最大池化处理,得到第一卷积数据;

输入单元,用于将所述训练集卷积数据作为所述双向循环神经网络模型的输入,得到第一输出数据;

第一卷积及最大池化单元,用于通过所述第二卷积层以及第二最大池化层对所述第一输出数据进行卷积以及最大池化处理,得到第二卷积数据;

输出单元,用于通过所述第一全连接层、所述第一dropout层、所述第二全连接层、所述第二dropout层以及所述线性层对所述第二卷积数据进行输出,得到第二输出数据;

判断单元,用于判断所述第二输出数据是否在误差范围阈值内;

确定单元,用于当所述第二输出数据在误差范围阈值内时,确定所述初始化模型为分类模型;

调整单元,用于当所述第二输出数据不在误差范围阈值内时,,调整所述初始化模型的参数,使所述第二输出数据在所述误差范围阈值内,得到分类模型。

与现有技术相比,本发明具有以下技术效果:本发明在将语音数据送入循环神经网络结构之前将其进行卷积与最大池化,在保证信息丢失较小的情况下尽可能的减少循环神经网络的参数,然后在经过循环神经网络结构之后再次进行卷积池化,减少了后续全连接层的参数,所以与同类方法相比,本发明能够加快模型的收敛速度,并且能够使收敛效果更好,提高语音分类的精度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例语音智能分类方法的流程图;

图2为本发明实施例语音分类系统的结构示意图。

具体实施方式

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

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

如图1所示,一种语音智能分类方法包括:

步骤101:获取训练集语音数据。

步骤102:对所述训练集语音数据进行处理,得到训练集特征数据。提取所述训练集语音数据的梅尔频率倒谱系数;根据长度阈值对所述梅尔频率倒谱系数进行长度划分,得到训练集特征数据。

步骤103:构建初始化模型;所述初始化分类模型包括依次连接的第一卷积层、第一最大池化层、双向循环神经网络模型、第二卷积层、第二最大池化层、第一全连接层、第一dropout层、第二全连接层、第二dropout层以及线性层。

步骤104:通过所述训练集特征数据对所述初始化模型进行训练,得到分类模型。

通过第一卷积层以及第一最大池化层对所述训练集特征数据进行卷积以及最大池化处理,得到第一卷积数据;

将所述训练集卷积数据作为所述双向循环神经网络模型的输入,得到第一输出数据;

通过所述第二卷积层以及第二最大池化层对所述第一输出数据进行卷积以及最大池化处理,得到第二卷积数据;

通过所述第一全连接层、所述第一dropout层、所述第二全连接层、所述第二dropout层以及所述线性层对所述第二卷积数据进行输出,得到第二输出数据;

判断所述第二输出数据是否在误差范围阈值内;

若是,确定所述初始化模型为分类模型;

若否,调整所述初始化模型的参数,使所述第二输出数据在所述误差范围阈值内,得到分类模型。

步骤105:获取测试集语音数据。

步骤106:对所述测试集语音数据进行处理,得到测试集特征数据。

步骤107:通过所述分类模型对所述测试集特征数据进行分类。

具体实施步骤如下:

步骤1,用户初始化参数,所述初始化参数包括学习率learning_rate=0.000015,分类数量classnum=10,gru中神经元个数为64,训练样本分批输入,每批训练样本个数记为batchsize=64,正则指数l2_penalty=1e-4,最大训练代数maxstep=20000,一段语音的分帧个数step=20,一帧mfcc的特征长度steplength,规整化后一帧mfcc特征长度d_input=80等等;

步骤2,处理训练集,规整化输入训练集数据的结构。

步骤2.1,取一个批次的语音,提取出mfcc特征并将其制为[64,20,steplength]的大小;

步骤2.2,将steplength这一维度的长度规整化成d_input,即该批输入训练集数据的结构为inputs_t=[64,20,80];将所有训练集处理完毕;

步骤3,构造基于卷积双向gru的网络结构,输入训练数据;

步骤3.1,对输入数据进行卷积操作。将该批输入训练集数据的格式重置为[64,20,80,1]以方便卷积,用[1*1*3*1]的卷积模板进行卷积,卷积模板的步长为[1*1*1*1]。输入训练集数据经过卷积层后不改变数据大小;然后将卷积后数据送入最大池化层,以[1*1*2*1]模板进行池化,最终使得inputs_t变为[64,20,40,1],然后重置回[64,20,40];对池化后数据进行转置,转置的数据格式为[20,64,40];

步骤3.2,构造两个gru循环神经元;

步骤3.3,将inputs_t以帧的正时序和逆时序分别送入两个gru神经元,分别得出两个[20,64,64]的矩阵,将这两个矩阵进行拼接,最终拼接成为一个[20,64,128]的矩阵,该矩阵记为netoutput;然后将netoutput的结构转置为[64,20,128];

步骤3.4,对双向gru的输出数据进行卷积操作。将netoutput的结构重置为[64,20,128,1]以方便卷积,用[1*1*3*1]的卷积模板进行卷积,步长为[1*1*1*1],输出数据经过卷积层后不改变数据大小;然后过最大池化层,以[1*1*2*1]模板进行池化,最终使得netoutput的结构变为[64,20,64,1],然后再将它重置回[64,20,64],将netouput再次重置成[64,20*64,以便送入全连接层;

步骤4,将netoutput送入全连接层。全连接层权值w_fc1的结构为[20*64,1024],偏置b_fc1的结构为[1024],netoutput经过全连接层处理之后,输出的数据格式为[64,1024];

步骤5,将全连接层处理过后的netoutput送入dropout层,dropout层的作用是防止或减轻过拟合,让某个神经元的激活值以概率drop_keep_rate=0.7停止工作,经过dropout层处理后得到netoutput_1;

步骤6,将netoutput_1再次送入全连接层;

步骤7,全连接层权值w_fc2的结构为[1024,512],偏置b_fc2的结构为[512],netoutput_1经过全连接层处理之后,输出的数据格式为[64,512];

步骤8,将全连接层处理过后的netoutput_1送入dropout层,操作步骤同步骤6,得到netoutput_2;

步骤9,将netoutput_2送入最后的线性层,线性层权值w_fc3的结构为[512,10],偏置b_fc1的结构为[10],netoutput_2经过线性层处理之后,最终输出的数据格式为[64,10];

步骤10,该方法使用梯度下降法作为参数的优化算法,其使用的损失函数如下:

loss=loss_1+l2_penalty*loss_2

loss_1为网络最终输出与标签的交叉熵,loss_2为正则函数。

步骤11,循环重复步骤2至步骤10,循环次数为20000;

步骤12,至此训练步骤已经结束;

最终网络测试准确率为95%。

根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明在将语音数据送入循环神经网络结构之前将其进行卷积与最大池化,在保证信息丢失较小的情况下尽可能的减少循环神经网络的参数,然后在经过循环神经网络结构之后再次进行卷积池化,减少了后续全连接层的参数,所以与同类方法相比,本发明能够加快模型的收敛速度,并且能够使收敛效果更好,提高语音分类的精度。

如图2所示,一种语音分类系统包括:

训练集获取模块201,用于获取训练集语音数据。

训练集处理模块202,用于对所述训练集语音数据进行处理,得到训练集特征数据。

所述训练集处理模块202具体包括:

提取单元,用于提取所述训练集语音数据的梅尔频率倒谱系数;

划分单元,用于根据长度阈值对所述梅尔频率倒谱系数进行长度划分,得到训练集特征数据。

建模模块203,用于构建初始化模型;所述初始化分类模型包括依次连接的第一卷积层、第一最大池化层、双向循环神经网络模型、第二卷积层、第二最大池化层、第一全连接层、第一dropout层、第二全连接层、第二dropout层以及线性层。

训练模块204,用于通过所述训练集特征数据对所述初始化模型进行训练,得到分类模型。

所述训练模块204具体包括:

第一卷积及最大池化单元,用于通过第一卷积层以及第一最大池化层对所述训练集特征数据进行卷积以及最大池化处理,得到第一卷积数据;

输入单元,用于将所述训练集卷积数据作为所述双向循环神经网络模型的输入,得到第一输出数据;

第一卷积及最大池化单元,用于通过所述第二卷积层以及第二最大池化层对所述第一输出数据进行卷积以及最大池化处理,得到第二卷积数据;

输出单元,用于通过所述第一全连接层、所述第一dropout层、所述第二全连接层、所述第二dropout层以及所述线性层对所述第二卷积数据进行输出,得到第二输出数据;

判断单元,用于判断所述第二输出数据是否在误差范围阈值内;

确定单元,用于当所述第二输出数据在误差范围阈值内时,确定所述初始化模型为分类模型;

调整单元,用于当所述第二输出数据不在误差范围阈值内时,,调整所述初始化模型的参数,使所述第二输出数据在所述误差范围阈值内,得到分类模型。

测试集获取模块205,用于获取测试集语音数据。

测试集处理模块206,用于对所述测试集语音数据进行处理,得到测试集特征数据。

分类模块207,用于通过所述分类模型对所述测试集特征数据进行分类。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

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