1.本发明涉及语音处理技术领域,尤其涉及一种语音情感识别方法、装置、设备及存储介质。
背景技术:
2.研究表明,人类交流过程中,80%的信息都是跟情感相关的信息。对语音数据进行语音情感识别,尤其是在客户服务的场景下,能够快速、准确地察觉客户情感的变化,尤其是客户的负面情绪(如失望、抱怨、愤怒等),对提升运营商的服务质量和用户体验具有重要意义。
3.传统的语音情感识别技术中,受数据传输及存储方式的限制,语音情感信息都需要从文本中获取,因此语音情感识别的对象一般是文本数据,但是文本数据无法全面概括语音数据的特点,且对文本数据进行情感分类的softmax分类器的情感分类准确度较低,从而导致现有技术中对语音数据的语音情感的识别准确性较低。
技术实现要素:
4.本发明实施例提供一种语音情感识别方法、装置、设备及存储介质,以解决现有技术中对语音情感的识别准确性较低的问题。
5.为解决上述技术问题,本发明实施例是这样实现的:
6.第一方面,本发明实施例提供了一种语音情感识别方法,包括:
7.获取待识别的语音数据;
8.提取所述语音数据对应的多模态情感特征数据;所述多模态情感特征数据包括以下至少一项:所述语音数据的语音情感特征数据、所述语音数据对应的文本数据的文本情感特征数据;
9.确定用于进行情感分类的支持向量机分类器的优化参数;所述优化参数为利用基于混沌扰动和/或柯西变异扰动的猫群算法对所述支持向量机分类器的初始模型参数进行优化后得到的模型参数;
10.将所述多模态情感特征数据和所述优化参数输入所述支持向量机分类器,以使所述支持向量机分类器对所述语音数据进行情感识别,得到所述语音数据对应的情感类别。
11.第二方面,本发明实施例还提供了一种语音情感识别装置,包括:
12.获取模块,用于获取待识别的语音数据;
13.提取模块,用于提取所述语音数据对应的多模态情感特征数据;所述多模态情感特征数据包括以下至少一项:所述语音数据的语音情感特征数据、所述语音数据对应的文本数据的文本情感特征数据;
14.第一确定模块,用于确定用于进行情感分类的支持向量机分类器的优化参数;所述优化参数为利用基于混沌扰动和/或柯西变异扰动的猫群算法对所述支持向量机分类器的初始模型参数进行优化后得到的模型参数;
15.第一执行模块,用于将所述多模态情感特征数据和所述优化参数输入所述支持向量机分类器,以使所述支持向量机分类器对所述语音数据进行情感识别,得到所述语音数据对应的情感类别。
16.第三方面,本发明实施例还提供了一种语音情感识别设备,包括:
17.存储器,存储有计算机程序指令;
18.处理器,当所述计算机程序指令被所述处理器执行时实现如上述第一方面所述的语音情感识别方法。
19.第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得所述计算机执行如上述第一方面所述的语音情感识别方法。
20.在本发明实施例中,通过获取待识别的语音数据,提取语音数据对应的多模态情感特征数据,确定用于进行情感分类的支持向量机分类器的优化参数,从而将多模态情感特征数据和优化参数输入支持向量机分类器,以使支持向量机分类器对语音数据进行情感识别,得到语音数据对应的情感类别。由于相较于单一模态的语音特征数据或文本特征数据而言,语音数据对应的多模态情感特征数据能够更加准确地表达出该语音数据的情感,因此能够提高语音情感识别的准确率。并且,通过基于混沌扰动和/或柯西变异扰动的猫群算法对支持向量机分类器的初始模型参数进行优化,得到优化参数,能够避免猫群算法的解陷入局部最优的问题,提升了猫群算法的全局优化能力和收敛速度,能够得到更加精确的优化参数,从而提升了支持向量机分类器的情感分类准确度,基于该支持向量机分类器对输入的多模态情感特征数据进行情感识别,能够更加精确的识别出语音数据对应的情感类别。
附图说明
21.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
22.图1是本发明的一个实施例中一种语音情感识别方法的示意性流程图。
23.图2是本发明的一个实施例中一种语音情感识别架构的示意性框图。
24.图3是本发明的一个实施例中iemocap中4种情感的分布图。
25.图4是本发明的一个实施例中运营商客服热线数据库中3种情感的分布图。
26.图5是本发明的一个实施例中确定优化参数的示意性流程图。
27.图6是本发明的另一个实施例中一种语音情感识别方法的示意性流程图。
28.图7是本发明的一个实施例中一种语音情感识别装置的结构示意图。
29.图8是本发明的一个实施例中一种语音情感识别设备的结构示意图。
具体实施方式
30.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发
明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
31.图1是本发明的一个实施例中一种语音情感识别方法的示意性流程图。图1的方法可包括:
32.s102,获取待识别的语音数据。
33.在一个实施例中,待识别的语音数据可为运营商热线语音数据,s102可执行为:从运营商侧获取待识别的运营商热线语音数据。
34.s104,提取语音数据对应的多模态情感特征数据。
35.其中,多模态情感特征数据包括以下至少一项:语音数据的语音情感特征数据、语音数据对应的文本数据的文本情感特征数据。在一个实施例中,可通过asr(automatic speech recognition,自动语音识别技术)引擎,将语音数据转换成文本数据,从而得到语音数据对应的文本数据。
36.s106,确定用于进行情感分类的支持向量机分类器的优化参数;优化参数为利用基于混沌扰动和/或柯西变异扰动的猫群算法对支持向量机分类器的初始模型参数进行优化后得到的模型参数。
37.其中,支持向量机分类器即svm(support vector machines,支持向量机)分类器。svm分类器在二分类问题上效果显著于softmax分类器,svm分类器在对语音数据进行情感分类时,并非一次性进行高兴、兴奋、平和、愤怒、生气、不满等多分类任务,而是先进行正面或负面情感的二分类,当识别为负面情感时,再进行二级情感(如愤怒、生气、不满等)分类。因此利用svm分类器在二分类问题上的高精度特性,替换原有的softmax分类器,能够提升情感分类准确度。
38.s108,将多模态情感特征数据和优化参数输入支持向量机分类器,以使支持向量机分类器对语音数据进行情感识别,得到语音数据对应的情感类别。
39.在本发明实施例中,通过获取待识别的语音数据,提取语音数据对应的多模态情感特征数据,确定用于进行情感分类的支持向量机分类器的优化参数,从而将多模态情感特征数据和优化参数输入支持向量机分类器,以使支持向量机分类器对语音数据进行情感识别,得到语音数据对应的情感类别。由于相较于单一模态的语音特征数据或文本特征数据而言,语音数据对应的多模态情感特征数据能够更加准确地表达出该语音数据的情感,因此能够提高语音情感识别的准确率。并且,通过基于混沌扰动和/或柯西变异扰动的猫群算法对支持向量机分类器的初始模型参数进行优化,得到优化参数,能够避免猫群算法的解陷入局部最优的问题,提升了猫群算法的全局优化能力和收敛速度,能够得到更加精确的优化参数,从而提升了支持向量机分类器的情感分类准确度,基于该支持向量机分类器对输入的多模态情感特征数据进行情感识别,能够更加精确的识别出语音数据对应的情感类别。
40.图2是本发明的一个实施例中一种语音情感识别架构的示意性框图。该架构可包括基础数据层210、数据预处理层220、情感及语义理解层230、能力输出层240、应用层250。其中:
41.基础数据层210,用于获取待识别的语音数据,并对获取到的语音数据进行存储。
42.数据预处理层220,用于提取语音数据对应的多模态情感特征数据。
43.情感及语义理解层230,用于确定用于进行情感分类的支持向量机分类器的优化参数;优化参数为利用基于混沌扰动和/或柯西变异扰动的猫群算法对支持向量机分类器的初始模型参数进行优化后得到的模型参数;将多模态情感特征数据和优化参数输入支持向量机分类器,以使支持向量机分类器对语音数据进行情感识别,得到语音数据对应的情感类别。
44.能力输出层240,用于对语音情感识别能力进行统一开放。例如,可通过在页面中嵌入的形式进行开放,从而通过点击url即可对语音数据进行语音情感识别;还可提供语音情感识别能力接口,从而通过语音情感识别能力接口对语音数据进行语音情感识别。
45.应用层250,用于对接前端业务系统,场景赋能。
46.需要说明的是,本发明实施例提供的语音情感识别方法主要由基础数据层210、数据预处理层220和情感及语义理解层230实现,能力输出层240及应用层250所实现的内容在本发明实施例中不作具体展开。以下详细介绍本发明实施例提供的语音情感识别方法(即上述的s102-s108)。
47.在一个实施例中,执行s104时,可根据如下步骤a1-a3,提取语音数据对应的多模态情感特征数据:
48.步骤a1,获取语音数据对应的语音情感特征数据;以及,获取文本数据对应的文本情感特征数据。
49.其中,语音情感特征数据可为语音的浅层特征数据,语音的浅层特征数据可通过语音的频谱特征来获取。在一个实施例中,可通过对语音数据进行预加重、分帧、加窗、快速傅里叶变换、梅尔滤波器滤波、离散余弦转换及一阶二阶差分提取,提取出39维的mfcc(mel-frequency cepstral coefficients,梅尔频率倒谱系数)特征向量,作为语音的浅层特征数据。
50.其中,文本情感特征数据可为文本的词向量特征数据。在一个实施例中,可通过chinese word vectors(中文预训练词向量集合)提供的预训练词向量,将文本数据编码成300维的词向量,作为文本的词向量特征数据。
51.步骤a2,基于注意力机制,将语音情感特征数据和文本情感特征数据进行语义对齐。
52.步骤a3,将语义对齐后的语音情感特征数据和文本情感特征数据进行融合,得到语音数据对应的多模态情感特征数据。
53.在执行上述步骤a2-a3时,可采用encoder-decoder模型加上注意力机制构成的模型,对语音情感特征数据和文本情感特征数据进行语义对齐,并将语义对齐后的语音情感特征数据和文本情感特征数据进行融合,得到语音数据对应的多模态情感特征数据。其中,encoder-decoder模型,又叫做编码-解码模型,是一种应用于seq2seq(sequence-to-sequence,从序列到序列)问题的模型。seq2seq是一种通用的框架,它的输入是一个序列,输出是一个序列。而编码-解码模型恰好可以处理这种输入和输出都是一个序列的问题。编码-解码模型的编码器和解码器均采用bilstm(bi-directional long short-term memory,双向长短期记忆)模型,bilstm是一种双向的lstm(long short-term memory,长短期记忆)模型,它由前向lstm与后向lstm组合而成,可以更好的捕捉双向的语义依赖。
54.其中,根据如下公式(1),可计算出语音情感特征数据和文本情感特征数据分别对应的编码结果(即语音情感特征向量的序列和文本情感特征向量的序列)。x
t
为t时刻输入的语音情感特征数据或者文本情感特征数据,为t时刻对应的前向隐向量,为t时刻对应的后向隐向量,为t-1时刻对应的前向隐向量,为t-1时刻对应的后向隐向量,h
t
为t时刻对应的语音情感特征向量或者文本情感特征向量。
[0055][0056]
在通过编码器分别获得语音情感特征向量的序列和文本情感特征向量的序列之后,可通过注意力机制自动学习到语音情感特征向量和文本情感特征向量之间的对齐信息。具体的,对于语音情感特征向量si和文本情感特征向量hj,可根据公式(2),通过将si和hj点乘来计算si和hj的匹配度系数α
j,i
,然后根据公式(3)将匹配度系数α
j,i
进行归一化处理,获得归一化匹配度系数α
j,i
。由归一化匹配度系数α
j,i
所组成的注意力矩阵,代表了语音情感特征向量si和文本情感特征向量hj的对齐关系,将这种关系应用到语音情感特征向量当中,作为语音情感特征向量的权重系数,根据公式(4)可以获得加权后的语音情感特征向量
[0057][0058][0059][0060]
然后,通过将加权后的语音情感特征向量和编码器输出的文本情感特征向量hj拼接之后,输入到解码器当中,根据如下公式(5)可计算出多模态情感特征数据对应的解码结果cj。
[0061][0062]
在本实施例中,通过获取语音数据对应的语音情感特征数据,以及获取文本数据对应的文本情感特征数据,基于注意力机制,将语音情感特征数据和文本情感特征数据进行语义对齐,实现了将不同模态的特征在同一维语义空间内对齐的效果,从而将语义对齐后的语音情感特征数据和文本情感特征数据进行融合,得到语音数据对应的多模态情感特征数据,相较于单一模态的语音特征数据或文本特征数据而言,多模态情感特征数据能够更加准确地表达出该语音数据的情感,因此将得到的多模态情感特征数据应用于后续实施例,以对语音数据进行语音情感识别,能够提高语音情感识别的准确率。
[0063]
在一个实施例中,初始模型参数为支持向量机分类器的径向基核函数的惩罚参数。其中,径向基核函数即rbf(radial basis function,径向基)核函数。rbf核函数的惩罚参数包括c和λ。
[0064]
在svm分类器中引入rbf核函数之后,可以将低维向量引入到高维空间中。具体地,svm分类器采用线性模型,将非线性输入向量引入多维空间,生成非线性类边界,从而在多维空间中建立了一个最大间隔超平面来进行精确分类。给定一分类训练样本集(xi,yi),其中yi∈{-1,1}xi∈r
d i=1,2,3,......,n。非线性映射函数将输入的样本空间映射到高维空间,之后在高维空间构造线性分类函数,判别函数为如下函数(6),sgn(x)为符号函数,ω为权值向量,b为偏移向量:
[0065][0066]
根据结构风险最小化原则,待解决的最优问题如(7)所示,c为误差惩罚因子,具有控制样本分类对错惩罚程度的作用,实现在错分样本比例和算法复杂度之间的折衷,ξi为松弛变量:
[0067][0068]
对于svm分类器,rbf核函数作为非线性函数可以降低训练过程的计算复杂度,因此采用rbf作为svm分类器的核函数。rbf核函数的表达公式如(8)所示:
[0069]
k(xi,xj)=exp(-λx
i-xj||2),λ>0。 (8)
[0070]
其中,c和λ是需要精确调整的核心参数,c是误差惩罚系数,以控制误差样本的惩罚程度,而核函数参数λ主要影响空间中样本数据分布的复杂度。参数c和λ决定了支持向量机的学习和泛化能力,优化后的目标函数获得边缘最大化,此时的支持向量机对多模态情感特征数据的情感分类达到最高的准确度。
[0071]
以下详细介绍s106中的优化参数(即优化后的c和λ)如何得到,即说明如何利用基于混沌扰动和/或柯西变异扰动的猫群算法对支持向量机分类器的初始模型参数(即惩罚参数c和λ)进行优化,得到模型参数(即优化参数)。
[0072]
猫群算法是通过观察猫在日常生活中的行为动作提出的群体智能仿生算法,猫即为待求优化问题的可行解(即惩罚参数c和λ)。猫通常专注于狩猎和捕捉移动的猎物,甚至在休息时间,也在持续寻找潜在的狩猎机会,这种行为称为“搜索模式”。在锁定猎物后,猫迅速提高自身速度并动用大量能量来捕捉移动的猎物,这种行为称为“追踪模式”。搜索模式提高了全局搜索能力,而跟踪模式提高了搜索效率和精度。猫群根据混合比例(mr)对个体进行模式分配,来决定哪些猫处于搜索模式,哪些猫处于追踪模式,mr表示执行跟踪模式的猫的数量在整个猫群中所占的比例。
[0073]
其中,可采用线性混合比例(mr
l
),来确定猫群的模式分配,表达式如(9)所示。t为当前迭代次数;it
max
为预设的最大迭代次数:
[0074][0075]
利用猫群算法解决优化问题,首先需要确定参与优化计算的个体数,即猫的数量。还需确定每只猫的属性(包括由m维组成的自身位置)、每一维的速度、对基准函数的适应度
值及表征猫处于搜寻模式或者跟踪模式的标识值。当猫进行完搜寻模式和跟踪模式后,根据适应度函数计算它们的适应度值并保留当前猫群中最好的解。之后再根据混沌扰动算法和/或柯西变异扰动算法,将最优解遍历到全局空间,从而提升全局优化能力,以此方法进行迭代计算直到达到预设的迭代次数。其中,为求解优化参数,m维可为2维,即c和λ两个维度。
[0076]
在一个实施例中,执行s102获取待识别的语音数据之前,可根据如下步骤b1-b4得到优化参数:
[0077]
步骤b1,确定当前迭代的猫群数据。其中,各只猫分别对应一组惩罚参数。
[0078]
本实施例中,可首先初始化猫群算法的运行参数:种群规模(即猫的数量)、最大迭代次数、pmo(变异概率)、cdc(尺寸改变计数)、smp(搜索内存池)、srd(变化域)。其次,确定解空间维度为d维(1《d《d),本发明实施例中d为2,随机初始化在d维空间内猫群的位置,将第i只猫在第d维空间内的位置表示为x
id
,各只猫的位置向量包括c和λ两个维度。并随机初始化各只猫的速度向量,v
id
代表第i只猫在第d维空间内的速度。然后,根据mr
l
将猫群中的各只猫随机分配至搜索模式和追踪模式的队列中,从而根据搜索模式或者追踪模式对应的位置更新方式,对各只猫在第d维空间内的位置进行更新。
[0079]
其中,搜索模式对应的位置更新方式,具体为:
[0080]
(1)基于smp产生k份种群个体的副本,形成初始群体xi。
[0081]
(2)选择k份种群中一只猫,维持当前位置不变,其余的副本(k-1)受到正交变异的影响进行突变;xi表示初始群体,变异产生的更新个体是x
im
,表达式如(10)所示:
[0082]
x
im
=xi σ*c(0,1)。
ꢀꢀꢀ
(10)
[0083]
其中,c(0,1)是0~1之间的随机数,当前维度的突变值设为标准偏差σ=srd*xi。
[0084]
(3)评估所有副本的适应度值,包括k份种群中原有位置和副本(k-1)的变异位置,根据最优适应度值得到k个副本中的最佳个体,并将其作为最优解。
[0085]
(4)用最优解替换这只猫的当前位置,若正态变异后的个体适应度值更好,则将变异后的个体位置重置为初始群体位置xi。
[0086]
其中,对于处于追踪模式下的猫,每只猫下一时刻的位置向量取决于该只猫的速度和猫群全局最优位置。d维空间第i只猫的位置和速度分别为x
i,d
=(x
i,1
,x
i,2
,x
i,3
...,x
i,d
),v
i,d
=(v
i,1
,v
i,2
,v
i,3
...,v
i,d
)。全局最优解为x
g,d
=(x
g,1
,x
g,2
,x
g,3
...,x
g,d
)。第i只猫的速度可以通过公式(11)计算:
[0087]vi,d
=w*v
i,d
c*r*(x
g,d-x
i,d
)。
ꢀꢀꢀꢀ
(11)
[0088]
其中,w是惯性权重值,c加速常数项,r是一个[0,1]之间的随机数。在每一次移动后第i只猫新的位置可用(12)表示:
[0089]
x
i,dn
=x
i,d
v
i,d
。
ꢀꢀꢀ
(12)
[0090]
如果猫在任意维度上的位置超出搜索范围,则将此猫的速度向量置为边界值,并赋予-1值来开始反向搜索,以更新该只猫的位置。
[0091]
步骤b2,计算各只猫的适应度值。
[0092]
在一个实施例中,适应度值fitness由mse(mean-square error,均方误差)计算,用于衡量变量和平均值之间的偏离程度,表达式如(13)-(14)所示:
[0093][0094][0095]
其中,f(xi)为第i只猫的适应度值,是当前所有猫的适应度值的平均值,n为猫群的种群规模。
[0096]
步骤b3,根据各只猫的适应度值,对猫群数据进行混沌扰动和/或柯西变异扰动,得到目标猫群数据。
[0097]
步骤b4,判断目标猫群数据是否满足迭代终止条件;若是,则停止迭代,并确定目标猫群数据中与最优适应度值对应的惩罚参数为优化参数;若否,则对目标猫群数据进行下一次迭代,直至满足迭代终止条件。
[0098]
其中,在当前迭代次数为预设的最大迭代次数时,可确定目标猫群数据满足迭代终止条件。
[0099]
在本实施例中,通过计算当前迭代的各只猫(各只猫分别对应一组惩罚参数)的适应度值,根据各只猫的适应度值,对猫群数据进行混沌扰动和/或柯西变异扰动,得到目标猫群数据,在目标猫群数据满足迭代终止条件时,停止迭代并确定目标猫群数据中与最优适应度值对应的惩罚参数为优化参数。从而能够避免猫群算法的解陷入局部最优的问题,提升了猫群算法的全局优化能力和收敛速度,能够得到更加精确的优化参数。
[0100]
在一个实施例中,上述步骤b3可具体执行为如下步骤c1-c3,即根据各只猫的适应度值,对猫群数据进行混沌扰动,得到第一猫群数据。
[0101]
混沌扰动具有随机性、遍历性和规律性的特点,广泛应用于求解不同领域的最优化问题。混沌扰动的基本原理是将解空间对应为混沌的遍历性轨道,以任意精度趋近最优解,同时可使扰动过程具有避免陷入局部最优的能力。典型的混沌系统是由logistic映射方程得出。
[0102]
混沌系统解的计算公式如下(15)所示:
[0103]zi 1
=μzi(1-zi),i=1,2,3,...,n。
ꢀꢀꢀ
(15)
[0104]
其中,μ∈(3.57,4),zi∈(0,1),μ=4。
[0105]
步骤c1,从多个适应度值中确定出最优适应度值,确定最优适应度值对应的惩罚参数为当前迭代的第一最优解。
[0106]
步骤c2,对第一最优解进行混沌变换,得到混动扰动后的第二最优解。
[0107]
假设第一最优解为xi,根据如下公式(16)对第一最优解进行混沌变换,可得到混动扰动后的第二最优解zi公式为:
[0108][0109]
其中,x
i,max
为第i只猫的位置最大值,x
i,min
为第i只猫的位置最小值。zi可以通过逆变公式(17)转化为第一最优解xi。
[0110]
xi=zi(x
i,max-x
i,min
) x
i,min
。
ꢀꢀꢀ
(17)
[0111]
步骤c3,确定各只猫分别对应的适应度值中的最差适应度值,并利用第二最优解
替换最差适应度值对应的惩罚参数,得到混沌扰动后的第一猫群数据。
[0112]
在一个实施例中,可以将混沌扰动后得到的第一猫群数据直接作为目标猫群数据,并确定目标猫群数据中与最优适应度值对应的惩罚参数为优化参数。
[0113]
在本实施例中,通过将猫群算法每次迭代所得的全局最优解(即第一最优解)进行混沌变换,即进行混沌扰动搜索,可以遍历决策变量的解空间,将混沌扰动后的全局最优解替换原始解集中适应度值最差的一个解,可以有效避免猫群算法的解陷入局部最优的问题,提升猫群算法的全局收敛精度。同时,猫群数据中的个体经过混沌扰动处理后,提升了猫群数据的质量,从而加快了猫群算法的收敛速度。
[0114]
在一个实施例中,执行上述步骤c3,利用第二最优解替换最差适应度值对应的惩罚参数,得到混沌扰动后的第一猫群数据之后,可根据如下步骤d1-d5对猫群群聚程度进行判断:
[0115]
步骤d1,针对混沌扰动后的第一猫群数据,计算各只猫的平均适应度值。
[0116]
其中,可根据上述公式(14)计算各只猫的平均适应度值。
[0117]
步骤d2,根据平均适应度值以及猫的数量,计算第一猫群数据对应的猫群群聚程度。
[0118]
可根据如下公式(18)计算第一猫群数据对应的猫群群聚程度σ2。
[0119][0120]
f=max(1,max|f
i-f
avg
)。
ꢀꢀꢀ
(18)
[0121]
其中,fi为第i只猫的适应度值,f
avg
是当前所有猫的适应度值的平均值。n为猫群的种群规模。σ2越小,则说明猫群群聚程度越高,趋近于已收敛。
[0122]
步骤d3,判断第一猫群数据对应的猫群群聚程度是否小于预设阈值;若是,则执行步骤d4;若否,则执行步骤d5。
[0123]
基于现有文献经验,猫群群聚程度的预设阈值取值为0.04,当σ2小于0.04时,说明猫群算法的解已陷入局部最优,需要应用柯西变异扰动进行全局优化能力提升。
[0124]
步骤d4,根据适应度值由高到低的顺序对各只猫进行排序,筛选出排序靠前的预设比例只猫,对预设比例只猫对应的惩罚参数进行柯西变异扰动,得到局部猫群数据;利用局部猫群数据替换第一猫群数据中的相应数据,得到柯西变异扰动后的第二猫群数据。
[0125]
其中,预设比例可以为任意比例,比如30%、40%等。柯西变异扰动的公式为:
[0126]
xi=xi×
(1 0.3cauchy(0,1)),
[0127]
cauchy(0,1)=tan((rand-0.5)
×
π)。
ꢀꢀꢀ
(19)
[0128]
步骤d5,确定混沌扰动后的第一猫群数据为目标猫群数据。
[0129]
在本实施例中,通过确定猫群群聚程度,以判断猫群算法的解是否陷入局部最优的问题,并在确定猫群算法的解陷入(即猫群群聚程度小于预设阈值)局部最优的问题之后,对预设比例只猫对应的惩罚参数进行柯西变异扰动,得到局部猫群数据,利用局部猫群数据替换第一猫群数据中的相应数据,得到柯西变异扰动后的第二猫群数据。由于柯西变异算子可以生成相比高斯变异两端更长的分布,非常适合确保猫群数据跳出局部最优解,因此,对此时适应度值较好的猫群数据进行柯西变异扰动处理,有利于跳出局部最优。
[0130]
在一个实施例中,执行上述步骤d4,利用局部猫群数据替换第一猫群数据中的相
应数据,得到柯西变异扰动后的第二猫群数据之后,可进一步根据如下步骤e1-e4对猫群群聚程度进行判断:
[0131]
步骤e1,计算第二猫群数据对应的猫群群聚程度。
[0132]
其中,可采用上述公式(18)计算第二猫群数据对应的猫群群聚程度。
[0133]
步骤e2,判断第二猫群数据对应的猫群群聚程度是否小于预设阈值;若是,则执行步骤e3;若否,则执行步骤e4。
[0134]
步骤e3,再次对第二猫群数据进行柯西变异扰动,直至柯西变异扰动后得到的第三猫群数据对应的猫群群聚程度小于预设阈值。
[0135]
步骤e4,确定第二猫群数据为目标猫群数据。
[0136]
在本实施例中,通过在利用局部猫群数据替换第一猫群数据中的相应数据,得到柯西变异扰动后的第二猫群数据之后,计算第二猫群数据对应的猫群群聚程度,从而在第二猫群数据对应的猫群群聚程度小于预设阈值时,再次对第二猫群数据进行柯西变异扰动,直至柯西变异扰动后得到的第三猫群数据对应的猫群群聚程度小于预设阈值,能够确保猫群数据跳出局部最优解。
[0137]
在一个实施例中,执行上述步骤d4,利用局部猫群数据替换第一猫群数据中的相应数据,得到柯西变异扰动后的第二猫群数据之后,若第二猫群数据中存在至少一只猫对应的惩罚参数超出预设的惩罚参数边界值,则以惩罚参数边界值替换至少一只猫对应的惩罚参数。
[0138]
在本实施例中,若第二猫群数据中存在至少一只猫对应的惩罚参数超出预设的惩罚参数边界值,则以惩罚参数边界值替换至少一只猫对应的惩罚参数,能够确保柯西变异扰动后得到的猫群数据不越界。
[0139]
根据上述实施例,能够得到用于进行情感分类的支持向量机分类器的优化参数c和λ,从而将多模态情感特征数据和优化参数输入支持向量机分类器,以使支持向量机分类器对语音数据进行情感识别,能够更加精确的识别出语音数据对应的情感类别,提高了语音情感识别的准确率。
[0140]
此外,可通过如下流程1-5,对采用本发明实施例所优化的优化参数后,支持向量机分类器的分类准确度,进行检验。
[0141]
流程1、数据准备。
[0142]
语音情感识别的研究离不开语音情感数据库的支撑,本实验中选用了两个有代表性的语音情感数据库:iemocap(interactive emotional dyadic motion capture database,交互式情感二元运动捕捉数据库)和运营商客服热线数据库来做实验验证。
[0143]
iemocap中包含了大约12小时的录音,共有10个人分成五组,每组对话包含了语音、文字和视频信息。在录制之前,工作人员会把此次谈话的主题和应该使用的情感基调告知演员,演员会根据情感主题去完成语音和视频的录制。本次实验使用了其中的4种情感作为实验评估的选项:兴奋(hap)、平和(neu)、悲伤(sad)、愤怒(ang)。图3显示了iemocap中4种情感的分布。其中,兴奋占比13%,平和占比37%,悲伤占比24%,愤怒占比26%。
[0144]
运营商客服热线数据库来自运营商客服中心的电话录音,经过脱敏处理,隐去了用户信息,并经过语音转写,产生了近6000条的语音文件和对应的文本文件。这些语音文件和对应的文本文件经过交叉标注(即不同的工作人员对同一文件进行标注)的方式进行标
注,最终形成了5904条经过标注的情感数据。由于在客服场景的应用中,只关心坐席对话中的负面情感,所以在客服场景使用了三种情感,分别是正向情感(positiveemo)、平和情感(nuetral)和负向情感(negativeemo)。运营商客服热线数据库中这3种情感的数据分布如图4所示。其中,正向情感占比4%,平和情感占比50%,负向情感占比46%。
[0145]
流程2、数据预处理。
[0146]
在对语音文件提取语音情感特征数据之前,首先将语音文件进行格式转换,转换成标准的16k的wav文件。同时,由于语音情感特征具有短时不变特性,为了减少运算量,可将每个语音文件切分成20毫秒的短时语音帧,并保留10毫秒的交叠,然后提取出mfcc特征向量,作为语音情感特征数据。对于文本特征,由于本次实验涉及了英文和中文两个语音情感数据库,因此选取两个词向量模型,分别确定文本情感特征数据。中文选用sgns.target.word-word.dynwin5.thr10.neg5.dim300.iter5词向量模型,英文选用glove.42b.300d.txt词向量模型。
[0147]
流程3、语音情感特征数据与文本情感特征数据对齐,从而得到语音文件对应的多模态情感特征数据。
[0148]
实验中语音情感特征数据、文本情感特征数据的编码器使用拥有100个隐藏单元的bilstm,注意力层使用5层的注意力网络,每层包含40个权重单元,全连接层为200*n的权重矩阵,n与最后的分类结果有关。在梯度优化算法方面,本实验选择的adam最优化算法使用了0.001的学习率。
[0149]
流程4、对多模态情感特征数据进行语音情感分类,以及,根据上述交叉标注的结果对语音情感分类的分类结果进行评价。
[0150]
在基于离散模型的语音情感识别领域当中,由于其通常存在的类别不均衡问题,所以单纯使用准确率作为评价指标会导致其过于关注样本数量较多的类别,而选择性的过滤样本数量较少的类别。所以,为了均衡的对每一个类别的分类准确度进行判别,使用unweighted accuracy,即ua作为评价指标,计算公式如下:
[0151][0152]
同时,使用weighted accuracy,即wa,来对整体样本的分类准确度进行评估,其计算公式如下:
[0153][0154]
流程5、评价结果与分析。
[0155]
本实验中,分别使用了单模态(如语音)情感特征数据和多模态情感特征数据,在iemocap和运营商客服热线数据库中做了测试,评价结果如表一和表二所示。
[0156]
表一iemocap对应的语音情感分类的评价结果
[0157]
iemocapuawa语音情感特征数据0.527830.60615多模态情感特征数据0.702370.71231
[0158]
表二运营商客服热线数据库对应的语音情感分类的评价结果
[0159]
运营商客服热线数据库uawa语音情感特征数据0.486550.83384语音 文本情感特征数据0.659450.84756多模态情感特征数据0.661210.84862
[0160]
从表一和表二中可以看出,本发明实施例提出的语音情感识别方法,无论在iemocap还是在运营商客服热线数据库,ua和wa都有了明显提升。可见,采用本发明实施例的技术方案,通过获取待识别的语音数据,提取语音数据对应的多模态情感特征数据,确定用于进行情感分类的支持向量机分类器的优化参数,从而将多模态情感特征数据和优化参数输入支持向量机分类器,以使支持向量机分类器对语音数据进行情感识别,能够更加精确的识别出语音数据对应的情感类别,提高了语音情感识别的准确率。
[0161]
图5是本发明的一个实施例中确定优化参数的示意性流程图。优化参数为利用基于混沌扰动和/或柯西变异扰动的猫群算法对支持向量机分类器的初始模型参数进行优化后得到的模型参数,初始模型参数为支持向量机分类器的径向基核函数的惩罚参数。图5的方法可包括:
[0162]
s501,确定当前迭代的猫群数据,各只猫分别对应一组惩罚参数。
[0163]
s502,计算各只猫的适应度值。
[0164]
s503,从多个适应度值中确定出最优适应度值,确定最优适应度值对应的惩罚参数为当前迭代的第一最优解。
[0165]
s504,对第一最优解进行混沌变换,得到混动扰动后的第二最优解。
[0166]
s505,确定各只猫分别对应的适应度值中的最差适应度值,并利用第二最优解替换最差适应度值对应的惩罚参数,得到混沌扰动后的第一猫群数据。
[0167]
s506,针对混沌扰动后的第一猫群数据,计算各只猫的平均适应度值。根据平均适应度值以及猫的数量,计算第一猫群数据对应的猫群群聚程度。
[0168]
s507,判断第一猫群数据对应的猫群群聚程度是否小于预设阈值;若否,则执行s508;若是,则执行s509。
[0169]
s508,确定混沌扰动后的第一猫群数据为目标猫群数据。然后,跳转至s513。
[0170]
s509,根据适应度值由高到低的顺序对各只猫进行排序,筛选出排序靠前的预设比例只猫,对预设比例只猫对应的惩罚参数进行柯西变异扰动,得到局部猫群数据;利用局部猫群数据替换第一猫群数据中的相应数据,得到柯西变异扰动后的第二猫群数据。
[0171]
其中,若第二猫群数据中存在至少一只猫对应的惩罚参数超出预设的惩罚参数边界值,则以惩罚参数边界值替换至少一只猫对应的惩罚参数。
[0172]
s510,计算第二猫群数据对应的猫群群聚程度;判断第二猫群数据对应的猫群群聚程度是否小于预设阈值;若是,则执行s511;若否,则执行s512。
[0173]
s511,再次对第二猫群数据进行柯西变异扰动,直至柯西变异扰动后得到的第三猫群数据对应的猫群群聚程度小于预设阈值。然后,跳转至s512。
[0174]
s512,确定第二猫群数据为目标猫群数据。
[0175]
s513,判断目标猫群数据是否满足迭代终止条件;若是,则执行s514;若否,则跳转至s502,直至满足迭代终止条件。
[0176]
s514,停止迭代,并确定目标猫群数据中与最优适应度值对应的惩罚参数为优化参数。
[0177]
上述s501-s514的具体过程在上述实施例中已进行详细说明,此处不再赘述。
[0178]
在本发明实施例中,通过计算当前迭代的各只猫(各只猫分别对应一组惩罚参数)的适应度值,根据各只猫的适应度值,对猫群数据进行混沌扰动和/或柯西变异扰动,得到目标猫群数据,在目标猫群数据满足迭代终止条件时,停止迭代并确定目标猫群数据中与最优适应度值对应的惩罚参数为优化参数。从而能够避免猫群算法的解陷入局部最优的问题,提升了猫群算法的全局优化能力和收敛速度,能够得到更加精确的优化参数。
[0179]
图6是本发明的另一个实施例中一种语音情感识别方法的示意性流程图。图6的方法可包括:
[0180]
s601,获取待识别的语音数据。
[0181]
s602,获取语音数据对应的语音情感特征数据;以及,获取语音数据对应的文本数据的文本情感特征数据。
[0182]
s603,基于注意力机制,将语音情感特征数据和文本情感特征数据进行语义对齐。
[0183]
s604,将语义对齐后的语音情感特征数据和文本情感特征数据进行融合,得到语音数据对应的多模态情感特征数据。
[0184]
s605,确定用于进行情感分类的支持向量机分类器的优化参数。
[0185]
其中,优化参数为利用基于混沌扰动和/或柯西变异扰动的猫群算法对支持向量机分类器的初始模型参数进行优化后得到的模型参数。初始模型参数为支持向量机分类器的径向基核函数的惩罚参数。
[0186]
s606,将多模态情感特征数据和优化参数输入支持向量机分类器,以使支持向量机分类器对语音数据进行情感识别,得到语音数据对应的情感类别。
[0187]
上述s601-s606的具体过程在上述实施例中已进行详细说明,此处不再赘述。
[0188]
在本发明实施例中,通过获取待识别的语音数据,提取语音数据对应的多模态情感特征数据,确定用于进行情感分类的支持向量机分类器的优化参数,从而将多模态情感特征数据和优化参数输入支持向量机分类器,以使支持向量机分类器对语音数据进行情感识别,得到语音数据对应的情感类别。由于相较于单一模态的语音特征数据或文本特征数据而言,语音数据对应的多模态情感特征数据能够更加准确地表达出该语音数据的情感,因此能够提高语音情感识别的准确率。并且,通过基于混沌扰动和/或柯西变异扰动的猫群算法对支持向量机分类器的初始模型参数进行优化,得到优化参数,能够避免猫群算法的解陷入局部最优的问题,提升了猫群算法的全局优化能力和收敛速度,能够得到更加精确的优化参数,从而提升了支持向量机分类器的情感分类准确度,基于该支持向量机分类器对输入的多模态情感特征数据进行情感识别,能够更加精确的识别出语音数据对应的情感类别。
[0189]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0190]
图7是本发明的一个实施例中一种语音情感识别装置的结构示意图。请参考图7,语音情感识别装置可包括:
[0191]
获取模块710,用于获取待识别的语音数据;
[0192]
提取模块720,用于提取语音数据对应的多模态情感特征数据;多模态情感特征数据包括以下至少一项:语音数据的语音情感特征数据、语音数据对应的文本数据的文本情感特征数据;
[0193]
第一确定模块730,用于确定用于进行情感分类的支持向量机分类器的优化参数;优化参数为利用基于混沌扰动和/或柯西变异扰动的猫群算法对支持向量机分类器的初始模型参数进行优化后得到的模型参数;
[0194]
第一执行模块740,用于将多模态情感特征数据和优化参数输入支持向量机分类器,以使支持向量机分类器对语音数据进行情感识别,得到语音数据对应的情感类别。
[0195]
在一个实施例中,初始模型参数为支持向量机分类器的径向基核函数的惩罚参数;
[0196]
语音情感识别装置还包括:
[0197]
第二确定模块,用于确定当前迭代的猫群数据;其中,各只猫分别对应一组惩罚参数;
[0198]
计算模块,用于计算各只猫的适应度值;
[0199]
第二执行模块,用于根据各只猫的适应度值,对猫群数据进行混沌扰动和/或柯西变异扰动,得到目标猫群数据;
[0200]
判断模块,用于判断目标猫群数据是否满足迭代终止条件;若是,则停止迭代,并确定目标猫群数据中与最优适应度值对应的惩罚参数为优化参数;若否,则对目标猫群数据进行下一次迭代,直至满足迭代终止条件。
[0201]
在一个实施例中,第二执行模块包括:
[0202]
第一确定单元,用于从多个适应度值中确定出最优适应度值,确定最优适应度值对应的惩罚参数为当前迭代的第一最优解;
[0203]
混沌变换单元,用于对第一最优解进行混沌变换,得到混动扰动后的第二最优解;
[0204]
确定及替换单元,用于确定各只猫分别对应的适应度值中的最差适应度值,并利用第二最优解替换最差适应度值对应的惩罚参数,得到混沌扰动后的第一猫群数据。
[0205]
在一个实施例中,第二执行模块还包括:
[0206]
第一计算单元,用于针对混沌扰动后的第一猫群数据,计算各只猫的平均适应度值;
[0207]
第二计算单元,用于根据平均适应度值以及猫的数量,计算第一猫群数据对应的猫群群聚程度;
[0208]
第一判断单元,用于判断第一猫群数据对应的猫群群聚程度是否小于预设阈值;
[0209]
执行单元,用于若是,则根据适应度值由高到低的顺序对各只猫进行排序,筛选出排序靠前的预设比例只猫,对预设比例只猫对应的惩罚参数进行柯西变异扰动,得到局部猫群数据;利用局部猫群数据替换第一猫群数据中的相应数据,得到柯西变异扰动后的第二猫群数据;
[0210]
第二确定单元,用于若否,则确定混沌扰动后的第一猫群数据为目标猫群数据。
[0211]
在一个实施例中,第二执行模块还包括:
[0212]
第三计算单元,用于计算第二猫群数据对应的猫群群聚程度;
[0213]
第二判断单元,用于判断第二猫群数据对应的猫群群聚程度是否小于预设阈值;
[0214]
柯西变异扰动单元,用于若是,则再次对第二猫群数据进行柯西变异扰动,直至柯西变异扰动后得到的第三猫群数据对应的猫群群聚程度小于预设阈值;
[0215]
第三确定单元,用于若否,则确定第二猫群数据为目标猫群数据。
[0216]
在一个实施例中,第二执行模块还包括:
[0217]
替换单元,用于若第二猫群数据中存在至少一只猫对应的惩罚参数超出预设的惩罚参数边界值,则以惩罚参数边界值替换至少一只猫对应的惩罚参数。
[0218]
在一个实施例中,提取模块720包括:
[0219]
获取单元,用于获取语音数据对应的语音情感特征数据;以及,获取文本数据对应的文本情感特征数据;
[0220]
语义对齐单元,用于基于注意力机制,将语音情感特征数据和文本情感特征数据进行语义对齐;
[0221]
融合单元,用于将语义对齐后的语音情感特征数据和文本情感特征数据进行融合,得到语音数据对应的多模态情感特征数据。
[0222]
本发明实施例提供的语音情感识别装置能够实现上述方法实施例中语音情感识别方法实现的各个过程,为避免重复,这里不再赘述。
[0223]
在本发明实施例中,通过获取待识别的语音数据,提取语音数据对应的多模态情感特征数据,确定用于进行情感分类的支持向量机分类器的优化参数,从而将多模态情感特征数据和优化参数输入支持向量机分类器,以使支持向量机分类器对语音数据进行情感识别,得到语音数据对应的情感类别。由于相较于单一模态的语音特征数据或文本特征数据而言,语音数据对应的多模态情感特征数据能够更加准确地表达出该语音数据的情感,因此能够提高语音情感识别的准确率。并且,通过基于混沌扰动和/或柯西变异扰动的猫群算法对支持向量机分类器的初始模型参数进行优化,得到优化参数,能够避免猫群算法的解陷入局部最优的问题,提升了猫群算法的全局优化能力和收敛速度,能够得到更加精确的优化参数,从而提升了支持向量机分类器的情感分类准确度,基于该支持向量机分类器对输入的多模态情感特征数据进行情感识别,能够更加精确的识别出语音数据对应的情感类别。
[0224]
请参阅图8,图8是本发明实施例应用的语音情感识别设备的结构示意图,能够实现上述实施例中由语音情感识别设备执行的语音情感识别方法的细节,并达到相同的效果。如图8所示,语音情感识别设备800包括:处理器801、收发机802、存储器803、用户接口804和总线接口,其中:
[0225]
在本发明实施例中,语音情感识别设备800还包括:存储在存储器上803并可在处理器801上运行的计算机程序,计算机程序被处理器801执行时实现如下步骤:
[0226]
获取待识别的语音数据;
[0227]
提取语音数据对应的多模态情感特征数据;多模态情感特征数据包括以下至少一项:语音数据的语音情感特征数据、语音数据对应的文本数据的文本情感特征数据;
[0228]
确定用于进行情感分类的支持向量机分类器的优化参数;优化参数为利用基于混
沌扰动和/或柯西变异扰动的猫群算法对支持向量机分类器的初始模型参数进行优化后得到的模型参数;
[0229]
将多模态情感特征数据和优化参数输入支持向量机分类器,以使支持向量机分类器对语音数据进行情感识别,得到语音数据对应的情感类别。
[0230]
在图8中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器801代表的一个或多个处理器和存储器803代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机802可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口804还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
[0231]
处理器801负责管理总线架构和通常的处理,存储器803可以存储处理器801在执行操作时所使用的数据。
[0232]
在本发明实施例中,通过获取待识别的语音数据,提取语音数据对应的多模态情感特征数据,确定用于进行情感分类的支持向量机分类器的优化参数,从而将多模态情感特征数据和优化参数输入支持向量机分类器,以使支持向量机分类器对语音数据进行情感识别,得到语音数据对应的情感类别。由于相较于单一模态的语音特征数据或文本特征数据而言,语音数据对应的多模态情感特征数据能够更加准确地表达出该语音数据的情感,因此能够提高语音情感识别的准确率。并且,通过基于混沌扰动和/或柯西变异扰动的猫群算法对支持向量机分类器的初始模型参数进行优化,得到优化参数,能够避免猫群算法的解陷入局部最优的问题,提升了猫群算法的全局优化能力和收敛速度,能够得到更加精确的优化参数,从而提升了支持向量机分类器的情感分类准确度,基于该支持向量机分类器对输入的多模态情感特征数据进行情感识别,能够更加精确的识别出语音数据对应的情感类别。
[0233]
优选的,本发明实施例还提供一种语音情感识别设备,包括处理器801,存储器803,存储在存储器803上并可在所述处理器801上运行的计算机程序,该计算机程序被处理器801执行时实现上述语音情感识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0234]
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述语音情感识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
[0235]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0236]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方
法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0237]
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。