基于CNN的时频域语音情感识别的分析与对比
2021-11-16段俊毅赵建峰
段俊毅, 赵建峰
(1.中国铁塔内蒙古分公司,内蒙古 呼和浩特 010021; 2.北京航空航天大学 杭州创新研究院,浙江 杭州 310000)
情感是一种特殊、强烈的心理活动,可通过多种行为、动作向外表现,如面部表情、语言、肢体动作等[1]。语音情感识别是情感识别研究的一个基本问题。语音信号包含的信息主要有语言信息和副语言信息,语言信息指话语的语境或意义,副语言信息指语音中的情感等隐含信息[2]。为了辨析个体的真实情感状态,可从语音信号中提取合适的副语言特征,进行语音情感识别。
利用深度网络,从语音信号中提取深度情感特征,可形成语音情感特征的层次化表征。通过深度网络,对信号进行特征学习及抽象建模,极大变革了语音信号处理领域,从而提升中国铁塔10096客户服务质量。这些学习到的深度特征一般由多种线性和非线性变换组成,形成原始数据的层次化抽象,在实验中的表现明显优于手工特征。
传统语音情感特征是典型的低级特征,将其输入到深度网络提取高级情感特征,不仅可识别语音情感,也可简化深度网络的设计和训练。本文提出利用卷积神经网络(CNN)从MFCCs和LFCCs中提取情感特征,实现对情感信息的高级抽象建模。同时设计了一维CNN从语音片段中提取特征,并进行语音情感识别。实验表明,从手工特征中学习深度特征的方法不仅可以获得更高的识别精度,还可通过简化网络构建而减少网络参数。
1 相关研究
在传统语音情感识别领域,Milton等[3]在提取MFCCs特征后,使用三阶段支持向量机分类器实现了情感分类。Waghmare等[4]利用MFCCs对马拉松语音数据集的语音情感进行了分析和识别。Demircan等[5]从EmoDB数据集的语音片段中提取MFCCs后,使用,k-NN算法对语音情感进行分类。Nalini等[6]利用残差相位和MFCCs特征,结合自联想神经网络(AANN),开发了一种语音情感识别系统。Chen等[7]利用隐马尔可夫模型(HMM)和支持向量机(SVM)对LFCCs、MFCCs等语音特征进行分类。Nalini等[8]将MFCC和残余相位(RP)特征分别用于AANN、SVM、RBFNN的音乐情感识别。
DBNs深度网络提出后[9],Stuhlsatz等[10]引入了由多个RBMs叠加的DNNs进行语音情感识别,效果显著改善。Schmidt等[11]采用了基于回归的深度置信网络音乐情感。Duc Le等[12]提出的基于隐马尔可夫模型和深度置信网络的混合分类器,在FAU Aibo上取得了较好结果。Han等[13]提出利用深度神经网络从原始数据中提取高级特征,实现了情感识别。Huang等[14]引入了CNN来学习语音情感特征,然后输入线性SVM进行语音情感识别。Zheng等[15]构建的CNN实现了标注语音数据的情感识别。
相对于这些研究,本文试图将传统语音情感识别研究和深度网络结合,即从传统语言情感特征MFCCs和LFCCs中提取层次化特征用于语音情感识别。
2 实验
语音情感识别是根据语音情感特征的不同对语音信号进行分类的一个过程。本文通过训练设计好的深度网络学习语音数据中的情感特征,来完成特征提取及模型构建。
2.1 数据预处理
设计了一维CNN从原始语音信号中提取情感特征,二维CNN从低级手工特征中学习高级情感特征。
2.1.1 数据集介绍 利用EmoDB和SAVEE两个典型的语音情感数据集,评估实验模型的识别精度和泛化能力。
(1) EmoDB数据集。柏林语音情感数据集(Berlin database of emotional speech,Berlin EmoDB)于2005年发布,提供有标签的语音片段和一些分析结果。数据集中的535个句子来自日常交流,可以用各种情感表达。这些语句分别由10名专业演员分别以愤怒、无聊、厌恶、恐惧、快乐、中性和悲伤等7种情感表达,且进行了情感的可识别性及自然度评估[16]。
(2) SAVEE数据集。视听情感表达数据集(surrey audio-visual expressed emotion database,SAVEE)于2011年发布,提供视听数据和分析数据。该数据集中的480个英语语句,由4位英国男演员以愤怒、厌恶、恐惧、快乐、悲伤、惊奇和中性等7种情感表达。数据集在视觉媒体实验室中记录、处理和标记,并由10名测试者进行了评估[17]。
2.1.2 MFCCs和LFCCs 本文实验数据为: 原始语音片段; 语音片段的MFCCs; 语音片段的LFCCs。为减少输入数据量并确保语音片段具有相同的采样率,实验时所有语音片段的采样率都被转换为16 kHz。然后对语音片段进行了零均值归一化和零值填充等预处理:零均值归一化用于将音频剪辑和频谱的总音量更改固定量以达到目标水平; 然后将音频片段长度剪辑为8 s,长度小于8 s的片段用零值填充。采用图1所示的流程,从处理完的语音信号中提取MFCCs和LFCCs。
图1 MFCCs和LFCCs的生成过程Fig.1 The generation process of MFCCs and LFCCs
(1) 梅尔频率倒谱系数(MFCCs)。梅尔频率倒谱系数是一种低级特征,可构成梅尔频谱(Mel-frequency cepstrum,MFC)。通过对帧序列应用离散傅里叶变换(DFT)提取声谱特征(见图1(a)),之后便可将功率谱转换为梅尔频谱。
(2) 线性倒谱系数(LFCCs)。LFCC与MFCC的生成过程相似,只是滤波器组的间距不同(见图1(b))。在进行DFT变换后,利用线性滤波器对功率系数进行滤波可得到LFCC,而利用梅尔滤波器对功率系数进行滤波可得到MFCC。
虽然倒谱系数的一阶和二阶导数的能量特征和delta特征可提供更多的信息,但增加的数据量会消耗更多的网络训练时间。因此本文各提取19个MFCCs和LFCCs用于实验。
2.2 1D和2D CNNs
卷积运算通过模拟视觉系统的行为,以获取更多的高级特征[18]。卷积神经网络(CNNs)利用空间-局部连接和共享权值等特性[19],实现传统算法中特征提取器的功能。与其他深度网络相比,CNNs输入的预处理相对较少,在图像处理、目标分类、目标检测等领域得到了广泛应用。
2.2.1 CNN架构设计 实验中使用的语音片段为一维数据,MFCCs和LFCCs为二维数据。因此,本文使用一维和二维卷积层、池化层等分别构造了一维CNN和二维CNN,用于一维声学数据和二维手工特征的处理。
设计的一维和二维CNN具有相似的架构(图2和图3),并采用相同的方法来选择网络超参数。其中一维CNN有6个一维卷积层、6个一维最大池化层和2个全连接层; 二维CNN有3个二维卷积层,2个二维最大池化层和2个全连接层。这两个网络都采用Softmax分类器对学习到的特征进行分类。从图2和图3中可以看出,二维CNN的架构比一维CNN的架构更简单,层数更少,则网络参数更少。可见二维CNN的训练更容易,消耗的时间更少。
图2 一维卷积神经网络Fig.2 One-dimensional convolutional neural network
图3 二维卷积神经网络Fig.3 Two-dimensional convolutional neural network
在深度网络的迭代训练过程中,防止过拟合和超参优化是获得较优模型的基础。为了克服过拟合,本文使用了权重衰减、中途退出、提前停止等[20-22]正则化方法。在网络训练过程中,深度网络超参数的选择对试验结果有较大的影响。相对于网格搜索和随机搜索等网络超参选择方法,贝叶斯优化在实验中的效果更好[23]。为了优化目标网络在独立数据集的性能,本文采用了贝叶斯优化方法。
2.2.2 实验结果 对选定数据集进行多组实验,每组实验分为三部分。第一部分的输入为原始波形文件,第二部分的输入为MFCCs,第三部分的输入为LFCCs。第一部分实验中,利用一维CNN从原始语音片段中学习深度情感特征; 接着利用二维CNN从MFCCs和LFCCs中学习层次化情感特征。
为了评估CNN的泛化程度,本文使用了包括中性情感在内的所有情感类别的语音片段进行实验。每一部分实验中的实验数据随机分为两组,一组是训练集,占整个数据集的80%; 另一组是测试集,由剩下的20%数据组成。所有实验是在GTX 970 GPU(4 GB显存)上完成。
(1) EmoDB数据集实验结果。EmoDB数据集中的535个语音片段,以及用这些数据计算出的MFCCs和LFCCs分别用于实验的三个部分。实验的混淆矩阵见表1至表3。
由表1至表3可知,这三部分实验的情感识别准确率均超过90%。其中利用MFCCs和LFCCs进行情感识别的准确率均大于利用语音片段进行情感识别的准确率,利用LFCCs进行情感识别的准确率最高。
音频片段的深层架构训练时长为10 min 45 s,MFCC的深层架构训练时长为5 min 21 s,LFCC的深层架构训练时长为11 min 6 s。
表1 EmoDB数据集中语音片段实验的混淆矩阵Tab.1 Confusion matrix for audio clips of Berlin EmoDB
表2 EmoDB数据集中MFCCs实验的混淆矩阵Tab.2 Confusion matrix for MFCCs of Berlin EmoDB
表3 EmoDB数据集中LFCCs实验的混淆矩阵Tab.3 Confusion matrix for LFCCs of Berlin EmoDB
(2) 基于SAVEE数据集的实验结果。与EmoDB数据集相比,SAVEE数据集为惊奇情感。实验数据与EmoDB数据集一样,混淆矩阵见表4至表6。同样,利用MFCCs和LFCCs进行情感识别的准确率都高于利用语音片段进行情感识别的准确率。
2.2.3 结果比较 将表1至表6中的识别率进行比较,结果见表7。从表7可以看出,利用MFCCs和LFCCs 进行情感识别的精度都高于利用原始语音片段进行情感识别的精度。而利用MFCCs和LFCCs进行情感识别的识别率比较接近。在EmoDB数据集上进行的实验,利用LFCCs进行情感识别的准确率要高于利用MFCCs进行情感识别的准确率。而在SAVEE数据集上进行的实验,利用MFCCs和LFCCs取得的实验结果正相反。
表4 SAVEE数据集中语音片段实验的混淆矩阵Tab.4 Confusion matrix for audio clips of SAVEE dataset
表5 SAVEE数据集中MFCCs实验的混淆矩阵Tab.5 Confusion matrix for MFCCs of SAVEE dataset
表6 SAVEE数据集中LFCCs实验的混淆矩阵Tab.6 Confusion matrix for LFCCs of SAVEE dataset
表7 不同输入的识别精度比较Tab.7 Comparison of recognition accuracy between different inputs %
将本文的实验结果与其他算法的实验结果比较可知二维CNN具有较大的优势(表8)。本文提出的二维CNN在MFCCs与LFCCs的实验结果均好于一维CNN在语音片段的实验结果,即二维CNN可学习区分度较大的层次化语音情感特征,可有效识别语音情感,为语音情感的判别和检测提供有力的技术支撑。
表8 二维CNN在EmoDB数据集和SAVEE数据集与其他算法的识别精度比较
3 结论
通过设计两个深度CNN分别从原始语音片段、MFCCs和LFCCs中学习高级特征并进行情感识别。实验结果表明,该方法对情感信息进行高级抽象建模后,可有效识别语音情感。从以上实验结果可知:
(1) 一维和二维CNN可从原始语音片段和低级特征中学习到区分度较大的情感特征,在选定数据集上的识别精度超过了传统识别精度;
(2) 从手工特征中学习高级情感特征的方法,不仅可达到较高的情感识别率,还可简化深度网络构建以减少网络参数,进而减少训练时间。
因此,将二维CNN运用于个体的情感状态检测,可有效鉴别语音情感。将其应用于客服异常情感的实时鉴别,并对其服务态度进行评估,可有效提升客服服务质量。后续引入10096人机交互系统中,使企业业务运营更精准地服务客户成为可能。
但在揭示卷积神经网络或其他深度网络提取层次化特征的机制、二维CNN从MFCCs和LFCCs中学习到的高级特征可获得很高的识别精度及这两种深度特征的相似程度判别研究、设计一种可替代CNN从MFCCs或LFCCs中学习层次化特征的算法等方面仍有待进一步探讨和研究。