- 张明阳, 查诚, 塔什甫拉提·尼扎木丁, et al. 结合数据场情感空间和混合蛙跳算法的连续语音情感变化趋势检测[J]. 声学学报, 2019, 44(01):14-21.
文章的主要工作
- 提出数据场模型情感空间的构建方法。
- 将混合蛙跳算法与数据场空间结合进行连续情感预测
- 在Berlin语料库上进行情感识别仿真实验,在AVEC 2012连续情感语音数据集进行情感预测,评估模型的性能。
数据场情感空间
理论依据
- 维度情感空间中,各维度的坐标值大小可以反映情感表达的强弱;
- 情感轮理论认为基本情感可以通过不同的强度大小表现出来,也可以通过混合一种或多种其他情感构成另外的情感表达;
- 法拉第提出场的概念用于表示场中粒子之间的相互作用,数据场则用来描述场中数据间的相互影响,可以推广到情感的表达上去,从而进行情感计算。
情感空间与特征选择
- 情感空间D中包含n个数据点,每个数据点是一个p维的特征向量。
- 使用基于顺序前向浮动搜索的SVM算法进行特征选择,对一个初始空集以浮动的方式,通过前向和后向的步骤增加和删除特征,得到最优特征集(p维)。
- 情感空间中的势能函数为
该式表示空间中的每个情感中心都会对其他中心产生势能作用。 - 使用Newton-Raphson方法确定情感中心。选择同一类情感特征量的均值向量作为起点,然后进行迭代,迭代公式如下
其中,xk表示第k次迭代得到的中心特征量。
混合蛙跳算法
由于传统的连续语音情感计算模式会带来情感跟踪延迟的问题,即使采用能够体现情感变化连续性的K近邻等方法也无法解决。因此采用在全局搜索上具有良好性能的混合蛙跳算法。
步骤为:
Step1:初始化并计算适应度值
for i = 1: F do # 青蛙个数F
for j = 1: t do # t维解空间
x(i, j) = rand # 随机初始化,第i只青蛙位置
end for
f(i) = fitness(x(i, :)) # 计算适应度
end for
Step2:划分子种群
对X(i) i=[1, F] 进行降序排序
对所有X,划分m个子群H
k = 1
for i = 1: n do # n为每个子群中青蛙个数
for j = 1: m do # m为子群数量
H(j, i) = X(k)
k = k + 1
end for
end for
为保证竞争性,从H中划分包含q个X的子族群Q
for i = 1: m do # q<=n, q为每个子族群中青蛙个数
for j = 1: n do
for k = 1: q
p(j) = [2(n+1-j)]/[n(n+1)] # p(j)表示第j个青蛙被挑选入子族群的概率
按照p(j)从H(i,j)中选择Q(i, k)
end for
end for
end for
Step3:局部搜索
确定全局最优X(b)
for j = 1: m do
确定适应度最优的Xj,s,最差的Xj,w
Xj,w(k+1) = Xj,w(k) + rand*[Xj,s(k)-Xj,w(k)], rand=[0, 1]
if(fitness(Xj,w(k+1))>fitness(Xj,w(k))) do
change Xj,w(k) with Xj,w(k+1)
else:
Xj,w(k+1) = Xj,w(k) + rand*[X(b)-Xj,w(k)], rand=[0, 1]
if(fitness(Xj,w(k+1))>fitness(Xj,w(k))) do
change Xj,w(k) with Xj,w(k+1)
else:
Xj,w = random()
end for
总结
Step1
for i = 1: G do # G是全局混合迭代次数
Step2
for j = 1: g do # g是局部迭代次数
Step3
end for
end for
适应度值函数:表征数据场中各情感中心的相互作用,η表示情感状态转移的先验概率,它是根据先验知识得到的。
数据场情感空间与混合蛙跳算法结合
情感数据场空间的应用
每类情感形成一个聚类,在中心wi处产生一个峰值,该中心的势能受到情感空间中所有点的影响,其他点产生的势能越小,说明情感越远离此处的情感中心,也说明情感越可能发生变化。因此第i种情感发生变化范围下界为:
混合蛙跳算法的应用
计算变化范围,当计算出的下界满足要求时,说明情感发生变化,此时应用混合蛙跳算法,检测连续多个∆t时间内情感特征量的势能变化,将预测时间等分为F份,即青蛙数量为F,然后执行混合蛙跳算法得到全局最优解青蛙的情感状态,即情感变化的目标,从而实现了情感预测。
实验
情感识别实验
- 数据库:Berlin数据库的5种情感:高兴、生气、悲伤、害怕、中性
- 特征:10个最佳特征——基频包络的平方回归误差、LSP3的偏斜度、基频一阶导数的均值、MFCC5的峭度、MFCC9一阶导数线性回归的斜率、MFCC11的最小值、LSP7一阶导数的均值、强度的方差、基频包络的均值、过零率的最大值。
- 计算5个情感中心对某一个情感产生的势能,势能最大的情感中心类别即为待识别情感的类别。
- 识别结果与SVM的分类结果比较:
证明了数据场情感空间的有效性。
情感预测实验
- 数据库:AVEC2012连续情感语音数据集
- 特征:与情感识别实验相同,计算长度1s,每隔10ms计算一次特征,共100个特征作为初始青蛙种群。
- 参数初始化:青蛙个数F=100,子群的个数m=5,子群中青蛙个数n=20,子族群中青蛙个数p=15,局部迭代次数g=20,全局迭代次数G=1000
- 实验与K近邻方法对比:
证明提出算法普遍优于K近邻算法,ε越小,预测时间越长,识别率越高。