APP下载

基于集成学习的语音情感识别算法研究

2020-06-16李田港叶光明

计算机技术与发展 2020年6期
关键词:集上语料库神经网络

李田港,叶 硕,叶光明,褚 钰

(1.武汉邮电科学研究院,湖北 武汉 430000;2.武汉烽火众智数字技术有限责任公司,湖北 武汉 430000)

0 引 言

语言是人类最常用的信息交换方式,一段语音中通常包含说话人的三部分内容:声音特征信息、语言内容信息、语音情感信息。同样的语言,使用不同的情感表达,效果往往不同。语音情感识别(speech emotion recognition,SER)即是对语音中包含的情感信息进行研究。

如何提取语音中具有判别特性的情感特征,一直是该识别任务的难点。心理学将情感分为了离散型和连续型[1],离散型语音情感是指语音中只包含一种情绪或只有一种突出情绪,针对离散语音,常用特征可以分为低级描述(common low-level descriptors,LLDs)和高级描述的水平统计函数(high-level statistical functions,HSFs)[2-3]。

低级描述包括:基音频率(fundamental frequency)、能量(energy)、过零率(zero-crossing)、抖动(jitter)、梅尔滤波特征(Mel-filterbank features)、共振峰位置/带宽(formant locations/bandwidths)、谐波噪声比(harmonics-to-noise ratio)。

高级描述包括:均值(mean)、方差(variance)、最小值(min)、最大值(max)、范围(range)、高阶矩(higher order moments)、线性回归系数(linear regression coefficients)等。

常用的分类方法包括:支持向量机(support vector machine,SVM)、K最近邻(K-nearest neighbor,KNN)、反向传播神经网络(back propagation neural networks,BPNN)、隐马尔可夫模型(hidden Markov model,HMM)等。近年来神经网络发展迅猛,相关技术也被应用于语音情感识别的研究。

文中着重研究离散型的情感语音识别,提取语音多个与情感分类相关的特征,使用多种算法对语音情感进行识别,同时提出一种基于距离加权的KNN改进算法和基于集成学习的加权投票算法,用于更好地实现语音情感识别。

1 情感特征提取

目前与语音情感有关的声学特征大致可以分为三类:韵律学特征、基于谱的相关特征、音质特征。

韵律学特征注重音高、快慢以及轻重等方面的变化[4]。韵律能够帮助人们理解说话人语音信息中的重点,使话语自然流畅,人们能够更快地获取有效信息,包含着丰富的情绪特征。文中提取短时能量、基音频率、过零率、浊音帧差分基音等作为语音情感识别的主要特征。

基于谱的相关特征一般为LPCC(linear predictor cepstral coefficient)与MFCC(Mel-frequency cepstral coefficient)。谱特征被认为是声道形状变化和发声运动之间相关性的体现[5]。研究者发现语音中的情感内容对频谱能量在各个频谱区间的分布有着明显的影响[6]。由于人听到的声音高低和频率大小不成线性正比关系,MFCC特征基于人耳听觉特性,在语音情感分类中具有良好的鲁棒性和正确度,因此文中提取的谱相关特征为MFCC及其一阶差分。

声音质量是人们赋予语音的一种主观评价指标,用于衡量语音是否纯净、清晰、容易辨识等[7]。用于衡量声音质量的声学特征一般有:共振峰频率及其带宽、频率微扰和振幅微扰、声门参数等,其中共振峰频率的分布特性决定语音的音色[8]。文中提取的声音质量特征为第一、二、三共振峰频率特征。

对语音信号进行预处理、分帧、加窗,以帧为最小单位对语音信号特征进行提取,并计算特征的相关统计量。具体特征及其统计量如表1所示。

表1 语音情感特征提取

2 情感识别算法

2.1 基于类平均距离的改进加权KNN算法

KNN算法的思想是对于一个待分类样本,找出其在特征空间中最邻近的K个样本,将这K个样本中出现个数最多的类标签作为该待分类样本的分类标签,因此分类结果只与近邻的几个样本有关。

这种惰性学习方式依赖训练样本,每个训练样本都要保存,且对于每个待测样本都要计算一遍其与所有训练样本的距离,空间、计算开销较大,而各个近邻又对分类结果影响相同,这与实际的分类情况有所不同;此外,对每个待测样本分类,只用到了近邻样本的信息,不能充分利用样本的分布信息。

基于距离的加权KNN是对传统KNN算法的一种改进,其思想是对每个近邻样本,根据其与待测样本距离的远近,赋予不同的权重,距离越近权重越大。

文中提出的算法是对加权KNN做进一步改进,引入类平均距离[9]作为加权依据。类平均距离可以反映出同一类相邻样本之间的距离更接近,不同类的类平均距离有较大差异。改进算法的实现如下:

算法1:类平均距离计算。

输出:m维数组array[]:存储类标签;m维数组array_ad[]:存储类平均距离。

1:forh=1,2,…,mdo

2:初始化n维数组t[],t_ad[]和变量counter为0;l=lh;

3:fori=1,2,…,nhdo

4:forj=1,2,…,Kdo

5:将样本与同类其他样本的第j维特征值进行比较;找出在第j维上特征差值最小的样本;

6:若t[]中无该样本,则存入t[];

7:end for

8:for allt[]do

9:计算t[]每个样本与xli的欧氏距离;

10:end for

11:去掉最大值;求距离均值并存入t_ad[]

12:counter加1;

13:end for

14:计算数组t_ad[]前q个元素的均值,存入array_d[h];将类标签l存入数组array[h]

15:end for

在算法1中,首先计算一个类中每个样本与其同类最近邻样本的平均距离,再对该类所有样本与其同类最近邻样本的平均距离求平均值,以此平均值作为该类的类平均距离;然后求出待分类样本的K近邻样本,计算每个近邻样本类平均距离和该近邻样本与待分类样本之间距离的差值之比;将差值之比最大的t个近邻样本删除,认为这t个近邻样本与待测样本的距离和分别对应的类平均距离偏差大,与待分类样本属于同一类的可能性小,t一般设置为1。

算法2:基于类平均距离的改进加权KNN分类器。

输入:语音样本训练集D,总样本数n,分类数m,分类样本数nh,h=1,2,…,m;最近邻参数K和整数阈值t;待分类样本以及数组array[]和array_d[];

输出:待分类样本的分类标签。

1:for allDdo

2:计算每个训练样本与待分类样本的欧氏距离;找出K个距离最小的样本,存入K维数组N[];

3:将对应的欧氏距离存入K维数组d[];将对应的类标签存入K维数组label[];

4:end for

5:fori=1,2,…,Kdo

6:计算N[i]与待分类样本距离d[i]和类平均距离array_ad[label[i]]的差值之比的绝对值:ratio[i]=|(d[i]-array_ad[label[i]])/array_ad[label[i]]|;

7:end for

8:将ratio[]中最大的t个元素置0;

9:fori=1,2,…,K

10:计算weight[label[i]]=1+b×ratio[i];

11:end for

12:将数组weight中最大元素对应的分类标签作为待分类样本的分类

算法2对余下的每个近邻样本,根据其差值之比计算权重,最后对待分类样本根据余下的近邻样本和权重进行加权多数投票,确定待分类样本的类别。

2.2 集成学习算法

集成学习是一种将多个学习结果进行择优整合[10],从而获得比单个学习器更好的学习效果的机器学习方法。为提升语音情感分类正确度,文中还考虑支持向量机(SVM)、反向传播神经网络(BPNN)、隐马尔可夫模型(HMM)在语音情感识别任务中的表现。

SVM是建立在统计学习理论和结构风险最小化准则基础上的一种算法。将原始的数据样本从线性不可分的低维空间映射到一个高维的特征空间,并寻找一个满足分类要求的最优分类超平面,以此完成分类任务[11]。该方法在保证分类精度的同时能够使超平面两侧的空白区域最大化,对解决小样本分类任务具有较好的表现。

BPNN是最常用的神经网络学习方式,误差的逆传播可有效计算权重参数的梯度。文中搭建一个三层神经网络,分为输入层、隐藏层、输出层。输入为语音信号多维特征向量组成的训练样本,隐藏层神经元数为10个,隐藏层和输出层使用对数Sigmoid激励函数,用于解决高维非线性可分问题,每个输出神经元分别输出5类情感的预测概率。使用均方误差作为损失函数。设置训练次数为150,网络性能目标为10-6。

HMM是一种用参数表示的、基于语音信号的时间序列结构建立的、用于描述其随机过程统计特性的概率模型[12-13]。语音的情感在短时间内具有一致性,将语音部分分割成极小的时间片段,那么该片段的特性近似稳定,总过程可视为从某一相对稳定特性到另一相对稳定特性的转移。因此对不同情感构建HMM,可以完成对语音情感的分类。文中拟采用从上述的五种分类算法中选出三种分类效果较好的算法,对其分类结果以加权投票的方式进行集成学习。

3 实验测试

3.1 数据集

本实验采用三种不同语种公开数据集:德国柏林德语语料库[14]、中国中科院汉语语料库以及EmoV-DB英语情感语料库。德国柏林德语语料库中包含7种情感,共535句情感语音信号,音频采样频率为16 kHz,16 bit量化。从中选择了anger、happiness、neutral、sadness和fear共5种情感,每种情感随机选取50条语音组建德语数据集。

汉语情感语料库,采样频率为16 kHz,16 bit量化,共4个发音人,每人的语音有6种情感。从中选择anger、happiness、neutral、sadness和fear共5种情感,每种情感随机选取50条语音组建汉语数据集。

Emov-DB,其采样频率为16 kHz,16 bit量化,共4个发音人,每个人的语音有5种情感neutral,sleepiness,anger,disgust和amused。每种情感随机选择50条语音组建英语数据集。

文中所述5种算法分别在3个语音样本训练集进行折数为5折的交叉验证:随机将每个训练集均分为5份大小一致的互斥子集,每个子集都保持情感种类分布的一致性,每次实验从中选择4个子集的并集作为训练集,余下的1个子集作为验证集。为了保证数据分布的均衡性,对数据集的样本按不同类别分别进行均分再合并。最终可以获得5组训练/验证集,进行5次训练,得到5个验证结果的均值。

3.2 实验结果

实验首先对比不同半径下,改进的W-KNN算法和传统KNN算法各自的表现,对三个数据集采用5折交叉验证求均值,在K取值为1-20的情况下,5种情感分类结果如图1所示,从左至右依次为德语、汉语、英语数据集,实折线为文中改进后算法的识别率。可以看出,改进后的KNN算法优于传统KNN算法,在三个数据集上最大提升幅度分别为5.6%、9.6%、5.2%。

图1 不同K值下的KNN算法与W-KNN算法的识别正确率

图2是KNN算法和改进KNN算法在综合考虑计算成本和计算速度后,分别在三个数据集上对五种情感的识别率。从左至右依次为德语、汉语、英语数据集,星折线为文中改进后算法的识别率,情绪依次为生气、高兴、中性、悲伤、惊恐。可以看出,德语数据集上,改进算法对生气、高兴、中性和悲伤情感的识别效果优于传统算法;汉语数据集上,改进算法对生气、高兴、中性和惊恐情感的识别效果优于传统算法;英语数据集上,改进算法对高兴、中性和悲伤情感的识别效果优于传统算法。不同情感的识别正确率有一定差距,分析原因,认为语音情感识别的正确率与语种有一定关系,不同语种对不同情感的表现力不相同。

图2 KNN与W-KNN对不同情感的识别正确率

进一步,文中使用SVM,HMM和BP神经网络在三个数据集上进行验证,实验发现,基于HMM的分类方法,对HMM的状态数N的选择具有较大依赖,但N的增大,将增加时间开销,还会造成系统冗余,为此,只选取W-KNN、SVM和BP神经网络结果进行集成学习,各个算法结果如图3所示,从上到下依次为德语、汉语、英语数据集上的实验结果。

图3 算法在不同数据集上的表现

结果表明,改进后的W-KNN的效果基本与其余集成所用分类方法持平,不存在明显短板,在集成中可以有效贡献准确率。在德语语料库中,文中算法对高兴和惊恐情感的识别均优于其余算法,在生气和中性情感上与BP神经网络算法持平;汉语语料库中,文中算法对生气、悲伤和惊恐情感的识别均优于其余算法;英语语料库中,文中算法对生气、中性和厌恶情感的识别均优于其余算法。图4是上述5种算法对语音情感整体识别正确率的折线图,从图中可以看到,所提出的基于集成学习的加权投票算法具有最好的识别效果。德语和汉语语料库中,文中算法均优于其余算法;英语语料库中,文中算法与BP神经网络算法识别效果持平。这一点与所选基分类器的分类表现差异较大有关,BP神经网络在英语语料库上的表现很大程度上影响了其他算法在集成学习中所占权重。

图4 五种算法情感识别率

4 结束语

语音情感识别作为语音识别的一环,具有重要的研究价值。通过研究发现,在离散语音情感识别中,语音信号的不同特征对最后的分类结果有不同程度的影响,如何寻找更有效的情绪特征,是当前研究者面临的一大问题。

此外,由于人类情感具有模糊的时间边界,情感识别是一项具有挑战性的任务。每个人的情感表达方式不同,一个话语可能包含不止一种情感[15],维度型情感语音的识别依然存在许多难点需要攻克,针对此类问题可以使用长短时记忆网络做进一步的研究。

猜你喜欢

集上语料库神经网络
基于双空间模糊邻域相似关系的多标记特征选择
基于神经网络的船舶电力系统故障诊断方法
MIV-PSO-BP神经网络用户热负荷预测
关于短文本匹配的泛化性和迁移性的研究分析
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
基于语料库的清末民初日源外来词汉化研究
运用语料库辅助高中英语写作
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
师如明灯,清凉温润
几道导数题引发的解题思考