一种基于对比学习的多分类语音命令识别方法及识别系统技术方案

技术编号:35498811 阅读:17 留言:0更新日期:2022-11-05 17:02
本发明专利技术公开了一种基于对比学习的多分类语音命令识别方法及识别系统,属于语音识别技术领域,其特征在于,包括:S1、构建全命令示例数据集X2;S2、训练基于对比学习的特征提取网络;具体为:S201、构建单条训练输入数据;S202、在待训练特征提取网络中对单条训练输入数据进行处理;S203、以L为损失函数,用梯度下降方式更新一维卷积神经网络的权值;S3、使用特征提取网络进行语音命令识别。本发明专利技术通过多分类语音命令对比学习的方法,能够提升多分类语音命令的识别精度。命令的识别精度。命令的识别精度。

【技术实现步骤摘要】
一种基于对比学习的多分类语音命令识别方法及识别系统


[0001]本专利技术属于语音识别
,特别是涉及一种基于对比学习的多分类语音命令识别方法及识别系统。

技术介绍

[0002]众所周知,在多分类语音命令识别过程中:语音命令识别往往需要采集大量的语音数据,且每种类型的说话人在各种背景环境下的各种语义(含各种声调、方言、情绪)条件下发出语音命令的数据条数需要均衡。通常情况下,对于一个语音命令系统而言,将有一组确定的语音命令集,命令的待识别语义个数假设为k。为识别这些语音命令,对于每个命令,需采集不同说话人发出命令的语音,采集时需考虑数据的多样性,此时,由于说话人性别、年龄、口音、方言、情绪等诸多因素的影响,同一类别命令往往需要采集海量数据,同时,各种类别数据也往往不均衡,采集到的语音命令数据集经过结构简化,一般如图1所示。若某类型说话人在某一特别背景条件下发出的语音命令未能采集到足够多的数据,则识别模型在该条件下使用时,将有可能出现检测精度下降、不能识别等模型失效现象。

技术实现思路

[0003]技术目的:本专利技术提供一种基于对比学习的多分类语音命令识别方法及识别系统;充分利用后台获取的不均衡的语音命令语义数据,通过多分类语音命令对比学习方法,提取后台数据中仅与语音命令之间通用差异相关,而与具体语音命令本身无关的特征,利用特别设计的生成数据采样策略实现数据均衡和语音命令比对,从而提升多分类语音命令的识别精度。
[0004]技术方案本专利技术的第一目的是提供一种基于对比学习的多分类语音命令识别方法,包括如下步骤:S1、构建全命令示例数据集X2;具体为:S101、根据应用需求,确定需识别的k个语音命令类别,并按照语音命令类别采集相应的语音命令PCM数据,形成不同的语音命令数据集X1;S102、从每个语音命令数据集X1中,有放回随机抽取一条语音命令PCM数据,形成一条包含k条语音命令PCM数据的全命令示例数据;S103、重复N轮S102,k和N为大于1的自然数,得到N条全命令示例数据,通过N条全命令示例数据创建包含N*k条语音命令PCM数据的全命令示例数据集X2;S2、训练基于对比学习的特征提取网络;具体为:S201、构建单条训练输入数据;包括:S2011、以一个语音命令数据集X1作为全体目标训练数据,所述语音命令数据集X1包括S个语音命令和Y个类别,所述语音命令数据集X1中的每一条语音命令PCM数据称为锚点数据x
a
,每条锚点数据x
a
对应的语音命令类别记为y
a

S2012、从全命令示例数据集X2中,有放回随机抽取一条全命令示例数据,记为x
e
,所述x
e
中的k个命令示例依次记为x
e1
,x
e2
,

,x
ek
;S2013、将向量x=(x
a
,x
e1
,x
e2
,

,x
ek
)作为待训练神经网络的x输入;S2014、将y
a
作为待训练神经网络的y输入;S2015、重复S2012至S2014共s次,得到s个单条训练输入数据;S2016、以语音命令数据集X1中全体S条语音命令数据为对象,每条命令执行S2015,将得到s*S个单条训练输入数据;所述单条训练输入数据分属于Y个类别;S202、在待训练特征提取网络中对单条训练输入数据进行处理;包括:S2021、将向量x=(x
a
,x
e1
,x
e2
,

,x
ek
)输入待训练特征提取网络,输出标准的单条命令语音特征z;S2022、对数据项(x
a
,x
e1
,x
e2
,

,x
ek
)进行三次样条插值,得到相同维度的标准命令语音数据x

=(x

a
,x

e1
,x

e2


,x

ek
);S2023、将x

a
,x

e1
,x

e2


,x

ek
依次输入一维卷积神经网络,并依次得到输出z
a
,z
e1
,z
e2
,

,z
ek
;其中:z
a
和z
ei
是维度相同的向量,i为1至k之间的整数;S2024、以z
a
、z
ei
、y
a
为输入,计算损失L;S203、以L为损失函数,用梯度下降方式更新一维卷积神经网络的权值;S3、使用特征提取网络进行语音命令识别。
[0005]优选地,S2024具体为:首先计算z
a
与z
ei
之间的相似度sim(z
a
,z
ei
):;其中,i为1至k之间的整数,表示z
a
中第j个数;然后计算z
a
与z
ei
之间的对比损失L(z
a
,z
ei
):其中:表示当且仅当进行计算;为温度系数,为0

1之间的小数常数;定义:z
e
为单条训练数据中z
e1
、z
e2


、z
ek
的总称,则单条训练数据z
a
与z
e
之间总的对比损失L为:。
[0006]优选地,S203具体为:设M0为一个批次的语音命令PCM数据数,每处理M0个语音命令或者全部语音命令处理完毕时,对一维卷积神经网络更新一次权值;语音命令数据集X1中所有命令处理一遍定义为一个epoch,当训练epoch数达到阈值E时,训练终止。
[0007]优选地,S3具体为:
S301、建立全命令示例特征集Z
C
;将所述全命令示例语音数据集X2中的命令,逐命令输入到特征提取网络,并将输出结果按原顺序归集,即得到全命令示例特征集Z
C
;S302、利用全命令示例特征集Z
C
及特征提取网络,识别命令类别C;具体为:随机从全命令示例特征集Z
C
中选取n条数据组成比较集Z
T
;将待识别命令x
m0
通过训练好的特征提取网络处理后,输出待识别命令特征z
m0
;待识别命令特征z
m0
与比较集Z
T
中n*k个特征比较后,得到待识别命令特征z
...

【技术保护点】

【技术特征摘要】
1.一种基于对比学习的多分类语音命令识别方法,其特征在于,包括:S1、构建全命令示例数据集X2;具体为:S101、根据应用需求,确定需识别的k个语音命令类别,并按照语音命令类别采集相应的语音命令PCM数据,形成不同的语音命令数据集X1;S102、从每个语音命令数据集X1中,有放回随机抽取一条语音命令PCM数据,形成一条包含k条语音命令PCM数据的全命令示例数据;S103、重复N轮S102,k和N为大于1的自然数,得到N条全命令示例数据,通过N条全命令示例数据创建包含N*k条语音命令PCM数据的全命令示例数据集X2;S2、训练基于对比学习的特征提取网络;具体为:S201、构建单条训练输入数据;包括:S2011、以一个语音命令数据集X1作为全体目标训练数据,所述语音命令数据集X1包括S个语音命令和Y个类别,所述语音命令数据集X1中的每一条语音命令PCM数据称为锚点数据x
a
,每条锚点数据x
a
对应的语音命令类别记为y
a
;S2012、从全命令示例数据集X2中,有放回随机抽取一条全命令示例数据,记为x
e
,所述x
e
中的k个命令示例依次记为x
e1
,x
e2
,

,x
ek
;S2013、将向量x=(x
a
,x
e1
,x
e2
,

,x
ek
)作为待训练神经网络的x输入;S2014、将y
a
作为待训练神经网络的y输入;S2015、重复S2012至S2014共s次,得到s个单条训练输入数据;S2016、以语音命令数据集X1中全体S条语音命令数据为对象,每条命令执行S2015,将得到s*S个单条训练输入数据;所述单条训练输入数据分属于Y个类别;S202、在待训练特征提取网络中对单条训练输入数据进行处理;包括:S2021、将向量x=(x
a
,x
e1
,x
e2
,

,x
ek
)输入待训练特征提取网络,输出标准的单条命令语音特征z;S2022、对数据项(x
a
,x
e1
,x
e2
,

,x
ek
)进行三次样条插值,得到相同维度的标准命令语音数据x

=(x

a
,x

e1
,x

e2


,x

ek
);S2023、将x

a
,x

e1
,x

e2


,x

ek
依次输入一维卷积神经网络,并依次得到输出z
a
,z
e1
,z
e2
,

,z
ek
;其中:z
a
和z
ei
是维度相同的向量,i为1至k之间的整数;S2024、以z
a
、z
ei
、y
a
为输入,计算损失L;S203、以L为损失函数,用梯度下降方式更新一维卷积神经网络的权值;S3、使用特征提取网络进行语音命令识别。2.根据权利要求1所述基于对比学习的多分类语音命令识别方法,其特征在于,S2024具体为:首先,计算z
a
与z
ei
之间的相似度sim(z
a
,z
ei
):;其中,i为1至k之间的整数,表示z
a
中第j个数,l为维度;
然后,计算z
a
与z
ei
之间的对比损失L(z
a
,z
ei
):其中:表示当且仅当进行计算;为温度系数,为0

1之间的小数常数;定义:z
e
为单条训练数据中z
e1
、z
e2


、z
ek
的总称,单条训练数据z
a
与z
e
之间总的对比损失L为:。3.根据权利要求2所述基于对比学习的多分类语音命令识别方法,其特征在于,S203具体为:设M0为一个批次的语音命令PCM数据数,每处理M0个语音命令或者全部语音命令,对一维卷积神经网络更新一次权值;语音命令数据集X1中所有命令处理一遍定义为一个epoch,当训练epoch数达到阈值E时,训练终止。4.根据权利要求3所述基于对比学习的多分类语音命令识别方法,其特征在于,S3具体为:S301、建立全命令示例特征集Z
C
;将所述全命令示例语音数据集X2中的命令,逐命令输入到特征提取网络,并将输出结果按原顺序归集,得到全命令示例特征集Z
C
;S302、利用全命令示例特征集Z
C
及特征提取网络,识别命令类别C;具体为:随机从全命令示例特征集Z
C
中选取n条数据组成比较集Z
T
;将待识别命令x
m0
通过训练好的特征提取网络处理后,输出待识别命令特征z
m0
;待识别命令特征z
m0
与比较集Z
T
中n*k个特征比较后,得到待识别命令特征z
m0
与比较集Z
T
中各特征距离合集D;所述待识别命令特征z
m0
与从比较集Z
T
中随机取出的示例特征命令z
(ii,jj)
之间的距离计算公式为:;其中,ii为1至n之间的自然数,jj为1至k之间的自然数,l为维度,p为1至l之间的自然数;在类别内按类别平均后,计算出k个平均距离d1,d2,

,d
k
,找出其中的最小值,并确定其下标C;输出C,C即为识别出的命令。
5.一种基于对比学习的多分类语音命令识别系统,其特征在于,包括:构建模块:构建全命令示例数据集X2;构建过程为:首先根据应用需求,确定需识...

【专利技术属性】
技术研发人员:戴亦斌
申请(专利权)人:北京信工博特智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1