技术特征:
1.一种基于svm
‑
knn的语音情感识别方法,其特征在于,包括以下步骤:(1)对原始数据预处理;使用预加重,分帧,加窗,端点检测的方法对原始数据进行预处理;1)利用预加重技术,提高高频部分,使信号的频谱变得平坦,以便于频谱分析或者声道参数分析;2)对语音信号进行分帧处理;为了使帧与帧之间平滑过渡,保持连续性,使用交叠分段的方法,每移动一次都截取一段,从而获得尽可能多的帧,便于短期分析;3)用一定的窗函数w(n)来乘s(n),从而形成加窗语音信号sw(n)=s(n)*w(n);4)从一段语音信号中准确地找出语音信号的起始点和结束点,使有效的语音信号和无用的噪声信号得以分离;(2)设计相应的麦克风阵列,利用麦克风阵列解决方案对不同麦克风通道的数据进行延时对齐,实现音源定位,提高音频质量;1)使用一阶递归平滑方法估计输入语音信号的噪声功率谱;2)计算带噪语音信号的后验信噪比和先验信噪比;3)对带噪语音信号进行平滑处理,得到信号的平滑功率谱s(x,k),对该平滑输出信号进行最小值搜索,得到s
min
(λ,k);4)求解语音信号存在的概率i(x,k),并根据该概率进行二次平滑和最小值搜索,计算得到语音信号不存在概率q(λ,k);5)根据下式计算语音信号存在概率6)更新时变平滑参数和平滑噪声功率谱;(3)对处理后的数据基于shl结构的bn
‑
dnn进行特征提取;1)首先对1小时的vystadial_cz提取39维mfcc特征(13+
△
+
△△
)训练一个三音子gmm模型,进行强制对齐;2)训练基于线性判别分析(linear discriminant analysis,lda)和最大似然线性变换(maximum likelihood linear transform,mllt)的三音子gmm声学模型(13维mfcc特征进行9帧拼接,lda降到40维),该模型高斯混元数为19200个;3)然后再利用特征空间最大似然线性回归(feature
‑
space maximum likelihood linearregression,fmllr)技术进行说话人自适应训练(speaker adaptive training,sat),从而构成lda+mllt+sat的gmm声学模型;4)通过对该模型强制对齐的方式,得到bn
‑
dnn中softmax层的训练目标;dnn的训练特征使用效果较好的fbanks特征,首先提取40维的fbanks特征,进行11帧的拼接(5
‑1‑
5),将所得到的超矢量作为dnn的输入特征;5)对每个隐含层(包含bn层)进行10轮的rbm预训练,然后利用bp算法进行全局参数的微调,最终提取出韵律、音质、谱三大类特征;(4)对提取出的特征基于模糊集理论的方法进行特征选择;
1)由函数timepara()对提取出来的特征分析其短时能量、短时幅度、短时过零率和基音频率,由函数funfre()提取基音频率;2)在对短时能量、短时幅度、短时过零率和基音频率分别进行提取之后,将提取到的特征参数组成特征向量,作为模糊集的输入.3)对于c类情感的识别,对训练样本集x统计出c种不同情感状态下同一个特征参数的平均值,记为m;;(i=1,2;;;c,j=1,2,;;,n,n为情感特征参数的个数),再分别对每
‑‑
种情感状态下的每一句语音样本的每个特征参数mjm(n为该情感状态下的样本,n=1表示为第一句,以此类推)进行归一化,归一化公式如式4)然后计算出某种特定情感下该特征参数的离散度:5)求出每种情感下每个特征参数的离散度后,根据离散度的大小来计算每种情感下每个特征参数的贡献度大小;特征参数θ
i
的贡献度u
ij
:并在对待分类样本使用模糊k近邻进行判别时将情感特征参数的贡献度与欧式距离加权;最终提取出对于情感识别贡献最大的特征;(5)基于提取出的特征采用优化的svm
‑
knn方法对语音特征进行情感识别;1)将6种情感分类问题进行分解,建立基于决策树的多级svm分类器,对于样本集,每一级的svm识别出一种情感,剩余的样本集进入下一级的svm进行识别,如图1所示,逐级递减,最后决策树的叶子节点是所得到的情感分类;2)对于svm超平面附近产生的错分样本,利用knn算法进行结合,构建了svm
‑
knn组合分类模型来提高svm的精度;svm
‑
knn分类步骤:
①
初始认为训练集中的样本都为被标记,从训练集中随机选择选择少量样本,构造一个小样本训练集,确保初始训练样本集中每种情感都至少包含一个样本;
②
根据初始训练样本得到一个情感a的弱svm分类器,然后确定其最优分类超平面,支持向量集t、分类决策函数的系数w和常数b;
③
用弱svm标记语音情感样本集中所有的未标记样本,选择超平面附近分类模糊、准确率低的样本:从a类情感中任选
‑
一个样本,计算它与非a类情感所有样本的相似度,挑选出n
个最可能是非a类情感的样本,记为样本集a;从非a类样本中任选一个样本,计算其与a类情感所有样本的相似度,挑选出n个最可能是a类情感的样本,记为样本集b;
④
a和b中的样本为超平面附近的点,将a、b中的样本x代人决策函数g(x)=∑
i
y
i
a
i
k(x
i
,x
j
)+b
ꢀꢀꢀꢀ
(6);
⑤
若|v|>e,则通过svm对样本点的分类准确度、可信度高,因此,可以通过决策函数f(x)=sgng(x)确定样本点所属类别;
⑥
若|v|<e,则样本点在超平面附近,分类可信度低、易错分,因此,通过knn[4]方法确定样本x所属类别;将a类与非a类的支持向量集t作为训练样本,计算样本x与t中每一个向量之间的距离d(x,x
i
),将距离最近的向量所属的类别作为样本x的类别,式中:x;为支持向量;k()为一阶多项式核函数;阈值e的范围为[0,1],具体值可以根据实验结果进行动态调整,初始值一般设置为1,如果调整为0,则算法为传统的svm算法;
⑦
将svm分类得到的样本和knn分类的样本放人初始训练集对其进行扩充,从而在扩充后的训练集基础上训练
‑‑
个新的svm2;
⑧
迭代下去,直到训练集中所有样本都加入初始训练集中时,停止迭代;利用最终的训练集得到一个对a类情感分类精度高的svm分类器;
⑨
此时训练出的决策树中一级的svm分类器,然后利用非a类的样本集作为下一级svm的训练器;这样逐级训练得出各个情感类别相对应的svm分类器。
技术总结
一种基于SVM
技术研发人员:王海 路璐 侯宇婷 冯毅
受保护的技术使用者:西北大学
技术研发日:2021.09.26
技术公布日:2021/12/30