专利名称:一种基于支持向量机的语音情感识别方法
技术领域:
本发明涉及一种语音识别方法,特别涉及一种语音情感识别系统及方法。
背景技术:
语音情感自动识别技术主要包括两个问题一是采用语音信号中的何种特征作为情感识别,也就是情感特征提取的问题,一是如何将特定的语音数据进行分类,也就是模式识别的问题。
在本发明之前,目前主要使用的情感特征是韵律特征及其衍生参数,如持续时间、语速、振幅、基音频率、共振峰等。其中,基音频率和共振峰频率是重要的情感参数,但是由于人和人之间存在的个体差异性(声道的易变性、声道特征、单词发音音调等)目前存在的方法都难以实现基音和共振峰的精确检测,单纯的使用全局基音均值、共振峰均值等常见的衍生参数难以实现较高的情感识别率。并且这些参数主要体现的是人体的声门和声道的特征,因此和人的生理构造有着密切的关系,在不同的个体上显现出较强的相异性。这种差异在不同的性别上尤其明显。在过去的文献中,这些在不考虑情感因素情况下的声学参数性别差异已得到充分的研究,然而针对不同性别下的特征参数在情感状态下的影响,则较少有文献给予专门研究。在已有的各种识别方法中,具体而言,矢量分割型马氏距离判法、主元分析法过于简单,不足于取得好的识别率;神经网络法虽然具有高度的非线性和极强的分类能力,但是随着网络的增大所需学习时间增加很快,另外局部极小问题也是一个不足之处;隐马尔可夫法(HMM)在建立和训练时间上较长,应用于实际还需要解决计算复杂度过高的问题。另外,虽然上述方法在实验环境下有一定的识别率,但主要是根据已有的语音库样本使训练集的性能最优,而实际中环境往往训练集有较大的差异。
发明内容
本发明的目的就在于上述现有技术的缺陷,设计、研究一种基于支持向量机的全局与时序结构特征相结合的语音情感识别方法。
本发明的技术方案是一种基于支持向量机的语音情感识别方法,其主要技术步骤为建立特征提取分析模块、SVM训练模块、SVM识别模块;特征提取分析模块包括全局结构特征参数提取、时序结构特征参数提取;首先对原始语音信号预加重、分帧,然后分别进行全局结构特征提取、时序结构特征提取;(1)全局结构特征参数提取(1-1)将原始语音信号经高通滤波器预处理,提取发音持续时间、语速参数;(1-2)分帧,加窗;(1-3)应用短时分析技术,分别提取各帧语句主要特征参数基音频率轨迹、振幅、共振峰频率轨迹;(1-4)提取上述特征参数的衍生参数平均基音频率,最高基音频率、基音频率平均变化率、平均振幅曲线、振幅动态范围、最高第一共振峰频率曲线、第一共振峰平均变化率、最高第二共振峰频率;(2)时序结构特征参数提取(2-1)将原始语音信号分帧后,经由24个等带宽的滤波器组成的美尔标度频率滤波器组滤波,每帧信号以一个能量系数向量表示;(2-2)计算频带能量累积量,用当前帧的美尔标度滤波器组的平均能量与各个美尔标度滤波器的能量做差值,求得所有差值的绝对值的加权和,得到频带能量累积量;Sbec(t)=Σi=124αi|Ei(t)-E‾(t)|]]>(式1)t表示当前帧,Ei(t)为第i个美标度滤波器的能量, E(t)为美尔标度滤波器组的平均能量,αi为第i个滤波器的权重系数;(2-3)根据频带能量累积量峰值来判定元音位置或元音区间,并用简化能量累积量的分布来确定元音的位置,Rec=Σi=124αi|Ei(t)-E‾(t)|=RecLF+RecHF]]>(式2)t表示当前帧,Ei(t)为第i个美标度滤波器的能量, E(t)为美标度滤波器组的平均能量,αi为第i个滤波器的权重系数,RecLF为低频部分(300~1000Hz)对应的Rec值、RecHF为高频部分(1000~3200Hz)对应的Rec值,根据Rec值的分布,利用峰值确定元音的位置,Rec值作为判别元音的标准必须满足两个条件当前语音段必须长于15ms,低频和高频的能量分布必须均衡,即满足下式RecLFRecHF≥0.5]]>(式3)Δt≥15msΔt为当前帧的长度;
(2-4)采用短时分析方法,按照性别分别计算情感语句各元音区间的基音轨迹、3个共振峰轨迹、振幅能量轨迹;(2-5)计算情感语句各元音区间的最高基音频率、该基音频率所对应帧的振幅能量、各元音区间的最高振幅能量、该振幅所对应帧的基音频率、各元音区间的持续时间以及前3个共振峰频率;(2-6)采用均值补齐方法规整元音,即选取情感语句中元音个数最多的句子为基准,对于元音个数少的语句在尾部用全句平均值代替、补齐参数向量;将提取的全局结构特征参数、时序结构特征参数规整到相同的空间,得到支持向量机的输入矢量;(3)支持向量机的训练单个支持向量机是一个二分模式的分类器,对SVM的训练是在训练样本中寻找支持向量xi(=1,2,…,n)、支持向量权值系数ai和偏移系数b;SVM的训练步骤(3-1)从情感语句库中选取高兴、生气、悲伤、恐惧、惊讶五种情感语句作为训练样本;(3-2)选择其中一种情感作为识别目标,对于第i条情感语句,抽取其特征参数构成一个特征参数向量,采用符号函数作为判决函数,如果这条语句属于该类情感,则令SVM输出参数yi=1,否则yi=-1;(3-3)利用训练样本的特征参数向量和SVM输出参数作为训练集,核函数是高斯(径向基)函数,采用已有的分解算法对该情感的支持向量机进行训练,得到该训练集的支持向量xi(i=1,2,…,n)、支持向量权值系数ai和偏移系数b;(3-4)高兴、生气、悲伤、恐惧、惊讶五种情感分别训练五个支持向量机;(4)情感识别(4-1)单个情感识别提取待识别语句的特征矢量输入到步骤(3)已训练好的支持向量机中,经输出判别函数(符号函数)对该语句进行判别,如果yj=1则该语句属于该类情感,则该语句为该类情感,否则不属于该类情感;(4-2)多情感识别采用One-Against-All支持向量机对高兴、生气、悲伤、恐惧、惊讶五种情感进行识别,与步骤(3)中建立的五个支持向量机对应,对每一个支持向量机,采用具有连续输出的函数作为软判决函数,将具有最大输出值的类别作为最终的输出;yjk=1Σx∈svαikyik(K(xik,x))+b>1Σx∈svαjkyik(K(xik,x))+b-1≤Σx∈svαikyik(K(xik,x))+b≤1-1Σx∈svαikyik(K(xik,x))+b<-1]]>(式4)j为测试语句的标号,k为不同的情感,K(xik,x)为待识别语句x与第k种情感的第i个支持向量xik的核函数。在计算出每个样本相对于不同情感的判别结果后,识别情感为使(式4)取得最大值的k值。
本发明的优点和效果在于1.通过对情感语句的特征参数提取与分析,将参数从全局结构特征扩充至时序结构,增加了特征参数的有效性;2.充分考虑了男女性别不同对特征参数的影响,在参数提取上加入性别规整;进一步提高参数有效性;3.利用支持向量机(SVM)对未知集合的识别错误率最小这一特点,提供一个实用的、性能优良的高识别率语音情感识别系统,即利用最少的支持向量,在错分样本和算法复杂度之间寻找折衷,获得最好的语音识别;4.从单个SVM的二分模式情感识别扩充至多个SVM结合的多模式多情感识别;5.在多模式多情感识别上,SVM的判决函数采用具有连续输出的函数,进一步降低了误识率。
本发明的其他优点和效果将在下面继续描述。
图1——语音情感识别系统框图。
图2——特征提取分析模块流程图。
图3——利用简化能量累计量(Rec)进行元音分割图(A)、(B)、(C)。
图4——5个支持向量机子网络训练图。
图5——支持向量机子网络原理示意图。
图6——支持向量机情感识别图。
图7——使用SVM的情感识别结果(%)图。
图8——使用PCA的情感识别结果(%)图。
图9——采用最大可分性分析PCA的情感识别结果(%)图。
具体实施例方式
下面结合附图和实施例,对本发明所述的技术方案作进一步的阐述。
如图1所示,是语音情感识别系统框图,主要分为3大块特征提取分析模块、SVM训练模块和SVM识别模块。整个系统执行过程可分为训练过程和识别过程。训练过程包括特征提取分析、SVM训练;识别过程包括特征提取分析、SVM识别。
一.特征提取分析模块1.全局结构特征参数选择及性别规整全局结构特征参数包括语句发音持续时间、语速、平均基音频率、最高基音频率、基音频率的平均变化率、平均振幅、振幅的动态范围、最高第一共振峰频率、第一共振峰平均变化率、最高第二共振峰频率。
首先,根据图2中的全局结构特征参数提取流程将待提取特征语句进行预加重处理,具体实施包括高通滤波、语句开始端点与结束端点的检测;然后提取全句的语句发音持续时间、语速这两个特征;然后对语句分帧加窗,采用短时分析技术,按照男女性别,分别求出各帧基音、第一共振峰、第二共振峰、振幅,然后将各帧所得参数汇总,分别得到语句的基音轨迹、共振峰轨迹、振幅轨迹语速、语句发音持续时间;在以往的试验中发现,基音和共振峰及其衍生参数主要体现的是人体的声门和声道的特征,和人的生理构造有着密切的关系,在不同的个体上显现出较强的相异性,这种差异在不同的性别上尤其明显。为了更好的消除性别差异对特征参数造成的影响,需要对基音和共振峰参数进行性别规整,将特征参数按照男女性别划分为不同的性别集合,以基音为例,将各个情感语句的基音轨迹按照性别分为女性集合与男性集合,然后分别计算各个集合的均值(μi)、方差(σi),然后利用(式5)将参数规整到相同的空间s′=s-uiσi]]>(式5)最后提取衍生参数即平均基音频率,最高基音频率、基音频率平均变化率、平均振幅曲线、振幅动态范围、最高第一共振峰频率曲线、第一共振峰平均变化率、最高第二共振峰频率;得到上述全部全局特征参数。
2.时序结构特征参数选择、性别规整及元音数目规整情感语句时序结构特征的选取是本文方法的特点之一。虽然无声部分和清音本身对情感识别是有贡献的,但是通过分析观察发现情感特征的变化主要反映在有声部分尤其是元音部分的特征变化上,因此需要从从语句中分割出各元音区间。
分帧加窗后根据美(Mel)标度频率滤波器进行滤波。这组滤波器在频率的美(Mel)坐标上是等带宽的。采用24个滤波器的滤波器组,这样每帧信号可以用一个能量系数向量表示。采用一个简单的距离测量标准来计算频带能量累积量(Sbec),计算如式(1)所示。
Sbec(t)=Σi=124αi|Ei(t)-E‾(t)|]]>式(1)t表示当前帧,Ei(t)为第i个美标度滤波器的能量, E(t)为美标度滤波器组的平均能量,αi为第i个滤波器的权重系数。
通常由于存在共振峰以及间隙,元音具有较高的Sbec值。从一段语音的Sbec值分布,就可以根据峰值来判定元音的位置。用Sbec检测元音时,存在着一个主要缺点,就是在清音帧出现Sbec峰值时,也判为元音。因此在判别标准不再采用Sbec,而是采用简化能量累积量(Rec),计算如式(2)所示Rec=Σi=124αi|Ei(t)-E‾(t)|=RecLF+RecHF]]>(式2)t表示当前帧,Ei(t)为第i个美标度滤波器的能量, E(t)为美标度滤波器组的平均能量,αi为第i个滤波器的权重系数,RecLF为低频部分(300~1000Hz)对应的Rec值、RecHF为高频部分(1000~3200Hz)对应的Rec值,根据Rec值的分布,利用峰值确定元音的位置。这里每个Rec值作为判别元音的标准必须满足当前语音段必须长于15ms;低频和高频的能量分布必须均衡。即就是式(3)所要求满足的条件。
RecLFRecHF≥0.5]]>(式3)Δt≥15ms图3即为利用上述方法得到的元音区间分割,(A)为语音信号波形,(B)为Rec曲线,(C)为元音分割。
确定元音区间后,根据短时分析技术分别计算情感语句元音区间的基音轨迹、振幅轨迹、共振峰频率轨迹,然后进行性别规整,方法类同于全局结构特征参数的性别规整。然后提取最高基音频率、该基频所对应帧的振幅能量、各元音区间的最高振幅能量、该振幅所对应帧的基音频率、各元音区间的持续时间以及前3个共振峰频率的平均值、前3个共振峰频率的变化率共11种特征参数。最后,考虑到不同语句的元音个数不可能相同,在训练阶段必须对元音数目不同的语句进行规整。选取训练用情感语料中元音个数最多的句子作为基准,对于元音个数较少的语句的参数向量在尾部用全句的平均值代替补齐。最终得到时序结构特征参数。
在系统的执行过程中,特征提取分析是必不可少的。在训练过程中,训练样本的特征提取分析可以直接按照图2所示流程进行。在识别过程中,待识别语句的特征提取分析同样按照图2流程进行,需要注意的是其中的性别规整和元音数目规整采用训练过程中产生的参数。性别规整如语句是女声,则按照前面训练过程中性别规整时的女声的均值(μi)、方差(σi),利用(式5)将参数规整到相同的空间,男声同理。元音数目规整采用训练过程中元音规整的个数进行规整。
二.支持向量机(SVM)模块1.支持向量机(SVM)的训练单个的SVM本质上是一个二分模式的分类器,判决函数为y=f(x)=sign(Σi=1nαiyiK(xi,x)+b)]]>=sign(Σ∀xi∈SVnαiyiK(xi,x)+b)]]>(式6)支持向量机子网络原理示意图如图5所示,其中K(xi,x)(i=1,2,…,N)为核函数,x为待分类样本,训练样本集为(xi,yi)(i=1,2,…,n)。xi为训练样本,yi是xi的类标记。SV是支持向量集,是训练样本集的一个子集,n为训练样本个数,N为支持向量个数。SVM的训练就是寻找支持向量集xi(i=1,2,…,N)、支持向量权值系数ai和偏移系数b。b的具体计算可由(式7)求得 (式7)训练前,从情感语音库中选取高兴、生气、悲伤、惊讶、恐惧五种情感语句,经过特征提取分析模块,得到各自特征参数向量作为SVM训练样本。训练时,首先选择其中一种情感作为识别目标,对于第i条情感语句,采用符号函数作为判决函数,如果这条语句属于该类情感,则yi为1,否则为-1。利用训练样本的特征参数向量和类标号作为训练样本集,选用符合Mercer条件的高斯函数为核函数,采用分解算法对该情感的支持向量机进行训练,其思想是通过循环迭代解决对偶寻优问题将原问题分解成更易于处理的若干子问题,即设法减小寻优算法要解决问题的规模,按照某种迭代策略,通过反复求解子问题,最终使结果收敛到原问题的最优解。这是目前SVM训练算法一般采用的途径,当支持向量数目远小于训练样本数目时,算法效率较高。最后得到该训练集关于某种情感的的支持向量集xi(i=1,2,…,N)、支持向量权值系数ai和偏移系数b。5种情感分别训练5个SVM,图4是训练5个SVM分别对应5种情感。
2.情感识别情感识别可大致分为两种某条语句是否是某种情感(二分模式识别);某条语句是哪一种情感(多模式识别)。对前者的识别可以用一个SVM实现,采用符号函数作为判决函数,对后者则需要多个SVM结合实现。从识别的精度出发,本发明采用的是“One-Against-All”的SVM网络,并采用具有连续输出的软判决函数,从识别的精度角度看该法更具优势。
当识别问题是判断某条语句是否是某种情感时,如判断语句“今天是晴天”是否为“高兴”,首先将语句经过特征提取分析模块得到特征参数向量x,选择SVM1进行识别,求得y1=Σ∀xi∈SVnαiyiK(xi,x)+b,]]>根据(式6)求SVM1的输出y,y为1则该语句情感为“高兴”,y为-1则该语句情感不是“高兴”。
当识别问题是多模式识别问题,需要利用前面已经构造好的5个支持向量机(SVM)。如判断语句“今天是晴天”是哪一种情感,首先将语句经过特征提取分析模块得到特征参数向量x,然后将x分别输入5个SVM中去,计算Σ∀xi∈SVNαikyikK(xik,x)+b,]]>并按照式(4)做如下处理yjk=1Σx∈svαikyik(K(xik,x))+b>1Σx∈svαjkyik(K(xik,x))+b-1<Σx∈svαikyik(K(xik,x)+b-1Σx∈svαikyik(K(xik,x))+b<-1]]>(式4)最后选择具有最大输出值的类别所对应的情感作为判别结果,如图6所示。
多模式识别不同于二分模式识别的最大特点采用了(式4)所示的具有连续输出的函数作为判别函数,而二分模式采用的是(式6)所示的符号函数。这是因为语音情感的划分本身就是一个模糊的分类,真正的语音情感识别往往是依靠判别语音中不同情感成分的强弱来决定。一般认为某种情感成分在语音中较突出时,即认为该语音信号属于此类情感。而符号函数是不能完全体现情感的这种模糊性的。因此(式4)所示函数从识别精度上看更具优势。
三.识别系统的评价如图7、8、9所示,是本发明实施数据提供的结合全局结构特征与时序结构特征的并考虑到性别差异的SVM方法同传统PCA方法以及进行最大可分性变换的PCA方法进行对比的结果。该结果说明,使用此种方法对语音情感进行识别效率大大高于现有技术的识别方法。结合前面二分模式的情感识别结果,可以知道在不同情感之间的分类界并不是一个线性超平面,而SVM可以利用核空间影射将低维空间的非线性分类问题转化为高维特征空间的线性分类问题,而使非线性问题得到解决。
本发明请求保护的范围并不仅仅局限于本具体实施方式
的描述。
权利要求
1.一种基于支持向量机的语音情感识别方法,其步骤为建立特征提取分析模块、SVM训练模块、SVM识别模块;特征提取分析模块包括全局结构特征参数提取、时序结构特征参数提取;首先对原始语音信号预加重、分帧,然后分别进行全局结构特征提取、时序结构特征提取;(1)全局结构特征参数提取(1-1)将原始语音信号经高通滤波器预处理,提取发音持续时间、语速参数;(1-2)分帧,加窗;(1-3)应用短时分析技术,分别提取各帧语句主要特征参数基音频率轨迹、振幅、共振峰频率轨迹;(1-4)提取上述特征参数的衍生参数平均基音频率,最高基音频率、基音频率平均变化率、平均振幅曲线、振幅动态范围、最高第一共振峰频率曲线、第一共振峰平均变化率、最高第二共振峰频率;(2)时序结构特征参数提取(2-1)将原始语音信号分帧后,经由24个等带宽的滤波器组成的美尔标度频率滤波器组滤波,每帧信号以一个能量系数向量表示;(2-2)计算频带能量累积量,用当前帧的美尔标度滤波器组的平均能量与各个美尔标度滤波器的能量做差值,求得所有差值的绝对值的加权和,得到频带能量累积量;Sbec(t)=Σi=124αi|Ei(t)-E‾(t)|]]>(式1)t表示当前帧,Ei(t)为第i个美标度滤波器的能量, E(t)为美尔标度滤波器组的平均能量,αi为第i个滤波器的权重系数;(2-3)根据频带能量累积量峰值来判定元音位置或元音区间,并用简化能量累积量的分布来确定元音的位置,Rec=Σi=124αi|Ei(t)-E‾(t)|=RecLF+RecHF]]>(式2)t表示当前帧,Ei(t)为第i个美标度滤波器的能量, E(t)为美标度滤波器组的平均能量,αi为第i个滤波器的权重系数,RecLF为低频部分(300~1000Hz)对应的Rec值、RecHF为高频部分(1000~3200Hz)对应的Rec值,根据Rec值的分布,利用峰值确定元音的位置,Rec值作为判别元音的标准必须满足两个条件当前语音段必须长于15ms,低频和高频的能量分布必须均衡,即满足下式RecLFRecHF≥0.5]]>Δt≥15ms (式3)Δt为当前帧的长度;(2-4)采用短时分析方法,按照性别分别计算情感语句各元音区间的基音轨迹、3个共振峰轨迹、振幅能量轨迹;(2-5)计算情感语句各元音区间的最高基音频率、该基音频率所对应帧的振幅能量、各元音区间的最高振幅能量、该振幅所对应帧的基音频率、各元音区间的持续时间以及前3个共振峰频率;(2-6)采用均值补齐方法规整元音,即选取情感语句中元音个数最多的句子为基准,对于元音个数少的语句在尾部用全句平均值代替、补齐参数向量;将提取的全局结构特征参数、时序结构特征参数规整到相同的空间,得到支持向量机的输入矢量;(3)支持向量机的训练单个支持向量机是一个二分模式的分类器,对SVM的训练是在训练样本中寻找支持向量xi(i=1,2,…,n)、支持向量权值系数ai和偏移系数b;SVM的训练步骤(3-1)从情感语句库中选取高兴、生气、悲伤、恐惧、惊讶五种情感语句作为训练样本;(3-2)选择其中一种情感作为识别目标,对于第i条情感语句,抽取其特征参数构成一个特征参数向量,采用符号函数作为判决函数,如果这条语句属于该类情感,则令SVM输出参数yi=1,否则yi=-1;(3-3)利用训练样本的特征参数向量和SVM输出参数作为训练集,核函数是高斯(径向基)函数,采用已有的分解算法对该情感的支持向量机进行训练,得到该训练集的支持向量xi(i=1,2,…,N)、支持向量权值系数ai和偏移系数b;(3-4)高兴、生气、悲伤、恐惧、惊讶五种情感分别训练五个支持向量机;(4)情感识别(4-1)单个情感识别提取待识别语句的特征矢量输入到步骤(3)已训练好的支持向量机中,经输出判别函数(符号函数)对该语句进行判别,如果yj=1则该语句属于该类情感,则该语句为该类情感,否则不属于该类情感;(4-2)多情感识别采用One-Against-All支持向量机对高兴、生气、悲伤、恐惧、惊讶五种情感进行识别,与步骤(3)中建立的五个支持向量机对应,对每一个支持向量机,采用具有连续输出的函数作为软判决函数,将具有最大输出值的类别作为最终的输出,yik=1Σx∈svαikyik(K(xik,x))+b>1Σx∈svαikyik(K(xik,x))+b-1≤Σx∈svαikyik(K(xik,x))+b≤1-1Σx∈svαikyik(K(xik,x))+b<-1]]>(式4)j为测试语句的标号,k为不同的情感,K(xik,x)为待识别语句x与第k种情感的第i个支持向量xik的核函数,在计算出每个样本相对于不同情感的判别结果后,识别情感为使(式4)取得最大值的k值。
2.根据权利要求1所述的一种基于支持向量机的语音情感识别方法,其特征在于可以在步骤(1-4)、(2-5)之前加入特征参数关于性别的规整,即按男、女性别,将得到的每个信号样本的特征参数划分为不同的性别集合,分别计算各个集合的均值(μi)、方差(σi),利用(式5)将参数规整到相同的空间。s′=s-uiσi]]>(式5)
全文摘要
本发明涉及一种语音情感识别系统及方法。本发明采取特征提取分析模块、SVM训练模块和SVM识别模块;训练过程包括特征提取分析、SVM训练;识别过程包括特征提取分析、SVM识别。特征提取分析有全局结构特征参数选择及性别规整、时序结构特征参数选择、性别规整及元音数目规整;支持向量机(SVM)有支持向量机训练、对高兴、生气、悲伤、恐惧、惊讶五种情感进行识别。解决了矢量分割型马氏距离判法、主元分析法、神经网络法、隐马尔可夫法等的各自缺陷。本发明加强了特征参数的有效性,加入性别规整,用最少支持向量,在错分样本和算法复杂度之间获得最好的语音识别,在单个SVM及多个SVM结合的多模式具有连续输出函数,降低误识率。
文档编号G10L15/28GK1975856SQ20061009730
公开日2007年6月6日 申请日期2006年10月30日 优先权日2006年10月30日
发明者赵力, 王治平, 赵艳, 郑文明 申请人:邹采荣