[0046] 应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0047] 参照图1,图1为本发明实施例方案涉及的硬件运行环境的电子设备结构示意图。
[0048] 如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless‑FIdelity,WI‑FI)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non‑Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
[0049] 本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0050] 如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及语音情感识别程序。
[0051] 在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在电子设备中,所述电子设备通过处理器1001调用存储器1005中存储的语音情感识别程序,并执行本发明实施例提供的语音情感识别方法。
[0052] 本发明实施例提供了一种语音情感识别方法,参照图2,图2为本发明一种语音情感识别方法第一实施例的流程示意图。
[0053] 本实施例中,所述语音情感识别方法包括以下步骤:
[0054] 步骤S10:获取预设维度的测试语音样本,并通过预设规则对所述测试语音样本进行分段处理,获得多个初始语音样本。
[0055] 需要说明的是,在获取预设维度的测试语音样本,并通过预设规则对所述测试语音样本进行分段处理,获得多个初始语音样本的步骤之前,需要获取预设维度的训练语音样本,并通过预设规则对所述测试语音样本进行分段处理,获得多个初始训练语音样本,对所述初始训练语音样本进行特征提取,获得待处理训练语音信号特征,通过预设统计函数对所述待处理训练语音信号特征进行特征统计,获取待确认训练特征统计结果,根据所述待确认训练特征统计结果,通过预设多目标优化算法获得目标训练特征数据,根据所述目标训练特征数据获取所述目标训练特征数据对应的情感类别,根据所述情感类别和所述情感类别对应的目标训练特征数据建立预设Softmax分类模型。
[0056] 此外,应理解的是,上述所说的预设规则为用户自定义的样本划分规则,也就是说,假如获取的预设维度的测试语音样本对应的时长为5s,将预设规则设定为0.2s,则按照预设规则划分后得到25段0.2s的初始语音样本。
[0057] 此外,需要说明的是,上述所说的预设维度可以是时间维度,也可以是非时间维度等等,本实施例并不加以限制。
[0058] 步骤S20:对所述初始语音样本进行信号特征数据提取,获得待处理语音信号特征数据。
[0059] 此外,应理解的是,对所述初始语音样本进行信号特征数据提取Mel频率倒谱系数(Mel Frequency Cepstrum Coefficient,MFCC)、对数频率功率系数(Log Frequency Power Coefficients,LFPC)、线性预测倒谱系数(Linear Predictive Cepstral Coding,LPCC)、过零峰值幅度(Zero Crossing with Peak Amplitude,ZCPA)、感知线性预测(Perceptual Linear Predictive,PLP)、拉斯塔滤波器感知线性预测(Rasta Perceptual Linear Predictiv,R‑PLP)。
[0060] 应理解的是,上述所说的每类特征的特征提取结果均为二维矩阵,其中一个维度为时间维度,然后计算每类特征Fi在时间维度上的一阶导数ΔFi、二阶导数ΔΔFi,并将原始特征、一阶导数结果、二阶导数结果在非时间维度上串接,形成每一类特征的最终特征提取结果;将上述所有类的特征的最终特征提取结果在非时间维度上串接即为该样本的特征提取结果。
[0061] 此外,为了便于理解,以下进行举例说明:
[0062] 假设,MFCC对应的FMFCC∈R39×z,ΔFMFCC∈R39×z,ΔΔFi∈R39×z,其中z为帧数,即时间维度数,在非时间维度上的串接结果
[0063] 在MFCC和LPCC连接时,假如 串接后为
[0064] 此外,应理解的是,在进行每一次语音信号特征提取时,提取MFCC,LFPC,LPCC,ZCPA,PLP,R‑PLP特征,其中MFCC、LFPC的Mel滤波器个数为40;LPCC、PLP、R‑PLP的线性预测阶数分别为12、16、16;ZCPA的频率分段为:0,106,223,352,495,655,829,1022,1236,1473,1734,2024,2344,2689,3089,3522,4000。从而每条语句的每类特征的维度分别为:ti*39,ti*40,ti*12,ti*16,ti*16,ti*16,其中ti为第i条语句的帧数,乘号后面的数字为每帧特征的维度。为了获得语音信号在时间维度上的变化,还对上述特征在时间维度上计算一阶导数,二阶导数。最后每类特征的维度分别为:ti*117,ti*140,ti*36,ti*48,ti*48,ti*48。
第i样本的提取到的语音信号特征由上述所有特征组合而成,维度为ti*(117+140+36+48+
48+48)。
[0065] 步骤S30:通过预设统计函数对所述待处理语音信号特征数据进行特征统计,获得待确认特征统计结果。
[0066] 需要说明的是,使用统计函数,利用均值(mean)、标准方差(standard deviation)、最小值(min)、最大值(max)、峭度(kurtosis)、偏度(skewness)获得上述特征在时间维度上的统计结果。
[0067] 此外,应理解的是,从上述得到的统计结果中进行筛选,获得标签样本特征数据,并通过预设统计函数对所述标签样本特征数据进行特征统计,获得待确认特征统计结果,并将有标签样本的特征统计结果记为{x1,x2,...,xn},其中n为有标签标本的个数。
[0068] 步骤S40:根据所述待确认特征统计结果,通过预设多目标优化算法获得特征目标数据。
[0069] 此外,需要说明的是,将上步中的{x1,x2,...,xn},按语句的标签分成XA=[x1,x2,…,xm],XB=[xm+1,xm+2,…,xn],其中XA是A类情感的片段,XB是B类情感的片段,训练基于倾向性认知学习的语句片段情感分类方法步骤如下:
[0070] (1)对x∈XA,将XA中以x为中心的Parzen窗内的样本与中心样本x的角度划分成多个箱子,然后使用下式计算x在XA中周围数据的分布特征。
[0071] bx=[b1,b2,…,bk]
[0072]
[0073] 式中bj表示第j个箱子,1(xi∈Xj)在xi属于Xj时的值为1否则为0,Xj是XA的子集,Xj内的样本与x之间的角度分布在第j个箱子中。
[0074] (2)对x∈XA,将XB中以x为中心的Parzen窗内的样本与中心样本x的角度划分成多个箱子,然后使用下式计算x在XA中周围数据的分布特征。
[0075]
[0076]
[0077] 式中 表示第 个箱子,1(xi∈Xj)在xi属于Xj时的值为1否则为0,Xj是XB的子集,Xj内的样本与x之间的角度分布在第j个箱子中。
[0078] (3)使用下式计算两数据集在x点附近的数据分布差异:
[0079]
[0080] 式中 表示两向量之间的距离,此处使用欧氏距离。
[0081] (4)根据上一步骤的计算结果可以得到倾向于A情感的片段集合 倾向于B情感的片段集合 以及倾向于中性情感的片段集合 其中 为dx>T的x组成的集合。为dx<‑T的x组成的集合。 为T>dx>‑T组成的集合。T是自主设置的阈值。对每个集合,再使用谱聚类的方法聚成多个区域,得到每个片段xi的区域标签
p q u
[0082] (5)定义 L=[LA,LB,LC],其中LA∈R、LB∈R 、LC∈R ,p、q和u分别为 和 样本的个数,LA、LB和LC中的元素值分别为1、2、3。使用下述目标方程,学习片段的特征子空间:
[0083] J=J1(oi,oj)+β*J2(oi,oj)
[0084] β是平衡参数。其中J1(oi,oj)可以实现 和 三个类之间的类内距离较小,类间距离较大,定义如下:
[0085]
[0086] 式中oi和oj为 和 映射到子空间之后的结果。li和lj对应oi和oj在L中的值。m是一个阈值,调整类间距离的范围,本发明中取1。Gij为xi和xj之间的高斯距离。计算公式如下:
[0087]
[0088] J2(oi,oj)可以尽量保持每个区域内的相对关系不变,以及属于同一类的区域相对靠近,但是并不重叠。定义如下:
[0089]
[0090] 式中 和 是xi和xj的区域标签。Gli是li类所有Gij中的最大值。实现当两个片段属于同一区域时,保持他们之间的关系,当两者不属于同一区域但是属于同一类别时,以一个小的权重最小化他们之间的距离,可使两个区域尽量不重叠。
[0091] 为了优化目标方程J,我们定义oi=φ(Wqφ(…W3φ(W2φ(W1xi+b1)+b2)+b3)+b4)式中φ(·)为sigmoid函数,W1,W2,…,Wq为映射矩阵,b1,b2,…,bq为偏移量。通过求 和可得到W1,W2,…,Wq和b1,b2,…,bq的值, 是求J对W的导数, 是求J对b的导数。
[0092] 步骤S50:将所述特征目标数据输入至预设Softmax分类模型中,获得语音情感识别结果。
[0093] 此外,应理解的是,根据上述步骤获得W1,W2,…,Wq和b1,b2,…,bq,计算{x1,x2,...,xm}的特征选择结果z。
[0094] 此外,需要说明的是,上述所说的W1,W2,…,Wq和b1,b2,…,bq为本申请中的特征目标数据。
[0095] 此外,应理解的是,使用训练过程中获得的预设Softmax分类器,分别获得{x1,x2,...,xm}的语音情感类别{l1,l2,...,lm}。然后根据{l1,l2,...,lm}投票获得该语句的情感。
[0096] 此外,需要说明的是,将所述特征目标数据输入至所述预设Softmax分类模型中,获得语音情感类别数据,对所述语音情感类别数据进行数据统计,获得语音情感类别数据值,根据所述语音情感类别数据值获得语音情感识别结果。
[0097] 此外,上述所说的根据所述语音情感类别数据值获得语音情感识别结果的步骤为判断所述语音情感类别数据值是否属于预设语音情感类别阈值范围,若所述语音情感类别数据值属于所述预设语音情感类别阈值范围,则根据所述语音情感类别数据值获得语音情感识别结果;若所述语音情感类别数据值不属于所述预设语音情感类别阈值范围,则返回所述将所述特征目标数据输入至所述预设Softmax分类模型中,获得语音情感类别数据的步骤。
[0098] 此外,还需要说明的是,本发明的情感识别的效果评价采用的语料库是语音情感识别领域的标准数据库。首先完成训练过程,然后进行识别测试。测试模式按5倍交叉方式进行。可以识别愤怒、恐惧、烦躁、厌恶、开心、中性、悲伤7种情感,在说话人依赖的情况下平均分类正确率为94.65%,除了开心与愤怒比较容易混淆以外,其它情绪之间区分度较好。在说话人独立的情况下平均分类正确率为89.30%。
[0099] 本实施例通过先获取预设维度的测试语音样本,并通过预设规则对测试语音样本进行分段处理,获得多个初始语音样本,然后对初始语音样本进行信号特征数据提取,获得待处理语音信号特征数据,并对所述待处理语音信号特征数据进行筛选,获得标签样本特征数据,通过预设统计函数对所述标签样本特征数据进行特征统计,获得待确认特征统计结果,之后对所述待确认训练特征统计结果进行情感类别划分,获得不同情感类别对应的待优化训练特征数据,根据所述待优化训练特征数据,通过预设多目标优化算法获得目标训练特征数据,最后将特征目标数据输入至预设Softmax分类模型中,获得语音情感识别结果。通过上述方法,能够充分利用语音情感片段,以及语句与片段之间的情感关系形成一种倾向性的数据,从而可以模拟人类处理倾向性的过程,利用数据的不平衡信息,相互比较,互为约束条件,将不同情感的片段分离开,从而增加样本规模和提高样本多样性。
[0100] 参考图3,图3为本发明一种语音情感识别方法第二实施例的流程示意图。
[0101] 基于上述第一实施例,本实施例语音情感识别方法在所述步骤S10之前,还包括:
[0102] 步骤S000:获取预设维度的训练语音样本,并通过预设规则对所述测试语音样本进行分段处理,获得多个初始训练语音样本。
[0103] 步骤S001:对所述初始训练语音样本进行特征提取,获得待处理训练语音信号特征。
[0104] 步骤S002:通过预设统计函数对所述待处理训练语音信号特征进行特征统计,获取待确认训练特征统计结果。
[0105] 步骤S003:根据所述待确认训练特征统计结果,通过预设多目标优化算法获得目标训练特征数据。
[0106] 步骤S004:根据所述目标训练特征数据获取所述目标训练特征数据对应的情感类别。
[0107] 步骤S005:根据所述情感类别和所述情感类别对应的目标训练特征数据建立预设Softmax分类模型。
[0108] 此外,需要说明的是,上述所说的根据所述待确认训练特征统计结果,通过预设多目标优化算法获得目标训练特征数据的步骤为,对所述待确认训练特征统计结果进行情感类别划分,获得不同情感类别对应的待优化训练特征数据,根据所述待优化训练特征数据,通过预设多目标优化算法获得目标训练特征数据。
[0109] 此外,还需要说明的是,上述所说的步骤为建立预设Softmax分类模型,在这一阶段中,针对所有说话人均分别进行训练,得到每个说话人所对应的分类器,具体过程如下:
[0110] 步骤(1‑1)对每条语句分段;
[0111] 步骤(1‑2)提取各个分段的特征;
[0112] 步骤(1‑3)对所有特征执行特征统计;
[0113] 步骤(1‑4)训练基于倾向性认知学习的语句片段情感分类方法;
[0114] 步骤(1‑5)对每个特征子空间训练支持向量机;
[0115] 步骤(1‑6)分类结果由所有支持向量机的结果投票获得;
[0116] 此外,需要说明的是,所述步骤(1‑1)中,将语音信号以0.2秒为间隔分段。
[0117] 所述步骤(1‑2)中,对每段提取语音信号特征包括:MFCC(Mel Frequ ency Cepstrum Coefficient,Mel频率倒谱系数)、LFPC(Log Frequency Pow er Coefficients,对数频率功率系数)、LPCC(Linear Predictive Cepstral Codin g,线性预测倒谱系数)、ZCPA(Zero Crossing with Peak Amplitude,过零峰值幅度)、PLP(Perceptual Linear Predictive,感知线性预测)、R‑PLP(Ras ta Perceptual Linear Predictiv,拉斯塔滤波器感知线性预测),每类特征的特征提取结果均为二维矩阵,其中一个维度为时间维度;然后计算每类特征Fi在时间维度上的一阶导数ΔFi、二阶导数ΔΔFi,并将原始特征、一阶导数结果、二阶导数结果在非时间维度上串接,形成每一类特征的最终特征提取结果;将上述所有类的特征的最终特征提取结果在非时间维度上串接即为该样本的特征提取结果。
[0118] 所述步骤(1‑3)中对特征进行特征统计为:获得特征在时间维度上的均值、标准方差、最小值、最大值、峭度、偏度统计结果,有标签样本的特征统计结果记为{x1,x2,...,xn},n对应的标签记为Y=[y1,y2,...,yn]∈R。
[0119] 所述步骤(1‑4)中,给定数据集XA=[x1,x2,…,xm],XB=[xm+1,xm+2,…,xn],其中XA是A类情感的片段,XB是B类情感的片段,训练基于倾向性认知学习的语句片段情感分类方法步骤如下:
[0120] 步骤(1‑4‑1)对x∈XA,将XA中以x为中心的Parzen窗内的样本与中心样本x的角度划分成多个箱子,然后使用下式计算x在XA中周围数据的分布特征。
[0121] bx=[b1,b2,…,bk]
[0122]
[0123] 式中bj表示第j个箱子,1(xi∈Xj)在xi属于Xj时的值为1否则为0,Xj是XA的子集,Xj内的样本与x之间的角度分布在第j个箱子中。
[0124] 步骤(1‑4‑2)对x∈XA,将XB中以x为中心的Parzen窗内的样本与中心样本x的角度划分成多个箱子,然后使用下式计算x在XA中周围数据的分布特征。
[0125]
[0126]
[0127] 式中 表示第 个箱子,1(xi∈Xj)在xi属于Xj时的值为1否则为0,Xj是XB的子集,Xj内的样本与x之间的角度分布在第j个箱子中。
[0128] 步骤(1‑4‑3)使用下式计算两数据集在x点附近的数据分布差异:
[0129]
[0130] 式中 表示两向量之间的距离,可使用多种距离计算方法。
[0131] 步骤(1‑4‑4)根据步骤(1‑4‑3)的计算结果可以得到倾向于A情感的片段集合倾向于B情感的片段集合 以及倾向于中性情感的片段集合 其中 为dx>T的x组成的集合。 为dx<‑T的x组成的集合。 为T>dx>‑T组成的集合。T是自主设置的阈值。对每个集合,再使用谱聚类的方法聚成多个区域,得到每个片段xi的区域标签
[0132] 步骤(1‑4‑5)定义 L=[LA,LB,LC],其中LA∈Rp、LB∈Rq、LC∈Ru,p、q和u分别为 和 样本的个数,LA、LB和LC中的元素值分别为1、2、3。使用下述目标方程,学习片段的特征子空间:
[0133] J=J1(oi,oj)+β*J2(oi,oj)
[0134] β是平衡参数。其中J1(oi,oj)可以实现 和 三个类之间的类内距离较小,类间距离较大,定义如下:
[0135]
[0136] 式中oi和oj为 和 映射到子空间之后的结果。li和lj对应oi和oj在L中的值。m是一个阈值,调整类间距离的范围。Gij为xi和xj之间的高斯距离。计算公式如下:
[0137]
[0138] J2(oi,oj)可以尽量保持每个区域内的相对关系不变,以及属于同一类的区域相对靠近,但是并不重叠。定义如下:
[0139]
[0140] 式中 和 是xi和xj的区域标签。Gli是li类所有Gij中的最大值。实现当两个片段属于同一区域时,保持他们之间的关系,当两者不属于同一区域但是属于同一类别时,以一个小的权重最小化他们之间的距离,可使两个区域尽量不重叠。
[0141] 为了优化目标方程J,定义oi=φ(Wqφ(…W3φ(W2φ(W1xi+b1)+b2)+b3)+b4),式中φ(·)为sigmoid函数,W1,W2,…,Wq为映射矩阵,b1,b2,…,bq为偏移量。通过求 和 可得到W1,W2,…,Wq和b1,b2,…,bq的值, 是求J对W的导数, 是求J对b的导数。
[0142] 步骤(1‑4‑6)对步骤(1‑4‑5)获得的 和 的特征子空间,训练Softmax分类器将情感A,情感B和中性情感C分开。
[0143] 步骤(1‑4‑7)依照步骤(1‑4‑5)和步骤(1‑4‑6)的操作过程,训练能识别所有情绪对的softmax分类器。
[0144] 此外,应理解的是,以下为上述内容总结:
[0145] 第一步:对所有的训练样本语音以0.2秒为间隔分段。
[0146] 第二步:对所有的语音片段训练信号提取MFCC,LFPC,LPCC,ZCPA,PLP,R‑PLP特征,其中MFCC、LFPC的Mel滤波器个数为40;LPCC、PLP、R‑PLP的线性预测阶数分别为12、16、16;ZCPA的频率分段为:0,106,223,352,495,655,829,1022,1236,1473,1734,2024,2344,
2689,3089,3522,4000。从而每条语句的每类特征的维度分别为:ti*39,ti*40,ti*12,ti*
16,ti*16,ti*16,其中ti为第i条语句的帧数,乘号后面的数字为每帧特征的维度。为了获得语音信号在时间维度上的变化,还对上述特征在时间维度上计算一阶导数,二阶导数。最后每类特征的维度分别为:ti*117,ti*140,ti*36,ti*48,ti*48,ti*48。第i样本的提取到的语音信号特征由上述所有特征组合而成,维度为ti*(117+140+36+48+48+48).
[0147] 第三步:使用如下统计函数:均值(mean)、标准方差(standard deviation)、最小值(min)、最大值(max)、峭度(kurtosis)、偏度(skewness)获得上述特征在时间维度上的统计结果。有标签样本的特征统计结果记为{x1,x2,...,xn},其中n为有标签标本的个数。
[0148] 第四步:将上步中的{x1,x2,...,xn},按语句的标签分成XA=[x1,x2,…,xm],XB=[xm+1,xm+2,…,xn],其中XA是A类情感的片段,XB是B类情感的片段,训练基于倾向性认知学习的语句片段情感分类方法步骤如下:
[0149] (1)对x∈XA,将XA中以x为中心的Parzen窗内的样本与中心样本x的角度划分成多个箱子,然后使用下式计算x在XA中周围数据的分布特征。
[0150] bx=[b1,b2,…,bk]
[0151]
[0152] 式中bj表示第j个箱子,1(xi∈Xj)在xi属于Xj时的值为1否则为0,Xj是XA的子集,Xj内的样本与x之间的角度分布在第j个箱子中。
[0153] (2)对x∈XA,将XB中以x为中心的Parzen窗内的样本与中心样本x的角度划分成多个箱子,然后使用下式计算x在XA中周围数据的分布特征。
[0154]
[0155]
[0156] 式中 表示第 个箱子,1(xi∈Xj)在xi属于Xj时的值为1否则为0,Xj是XB的子集,Xj内的样本与x之间的角度分布在第j个箱子中。
[0157] (3)使用下式计算两数据集在x点附近的数据分布差异:
[0158]
[0159] 式中 表示两向量之间的距离,此处使用欧氏距离。
[0160] (4)根据上述步骤(1‑4‑3)的计算结果可以得到倾向于A情感的片段集合 倾向于B情感的片段集合 以及倾向于中性情感的片段集合 其中 为dx>T的x组成的集合。 为dx<‑T的x组成的集合。 为T>dx>‑T组成的集合。T是自主设置的阈值。对每个集合,再使用谱聚类的方法聚成多个区域,得到每个片段xi的区域标签
p q u
[0161] (5)定义 L=[LA,LB,LC],其中LA∈R 、LB∈R 、LC∈R ,p、q和u分别为 和 样本的个数,LA、LB和LC中的元素值分别为1、2、3。使用下述目标方程,学习片段的特征子空间:
[0162] J=J1(oi,oj)+β*J2(oi,oj)
[0163] β是平衡参数。其中J1(oi,oj)可以实现 和 三个类之间的类内距离较小,类间距离较大,定义如下:
[0164]
[0165] 式中oi和oj为 和 映射到子空间之后的结果。li和lj对应oi和oj在L中的值。m是一个阈值,调整类间距离的范围,本发明中取1。Gij为xi和xj之间的高斯距离。计算公式如下:
[0166]
[0167] J2(oi,oj)可以尽量保持每个区域内的相对关系不变,以及属于同一类的区域相对靠近,但是并不重叠。定义如下:
[0168]
[0169] 式中 和 是xi和xj的区域标签。Gli是li类所有Gij中的最大值。实现当两个片段属于同一区域时,保持他们之间的关系,当两者不属于同一区域但是属于同一类别时,以一个小的权重最小化他们之间的距离,可使两个区域尽量不重叠。
[0170] 为了优化目标方程J,定义oi=φ(Wqφ(…W3φ(W2φ(W1xi+b1)+b2)+b3)+b4),式中φ(·)为sigmoid函数,W1,W2,…,Wq为映射矩阵,b1,b2,…,bq为偏移量。通过求 和 可得到W1,W2,…,Wq和b1,b2,…,bq的值, 是求J对W的导数, 是求J对b的导数。
[0171] (6)对上述步骤(1‑4‑5)获得的 和 的特征子空间,训练Sof tmax分类器将情感A,情感B和中性情感C分开。
[0172] (7)依照上述步骤(1‑4‑5)和上述步骤(1‑4‑6)的操作过程,训练能识别所有情绪对的Softmax分类器。
[0173] 本实施例通过获取预设维度的训练语音样本,并通过预设规则对所述测试语音样本进行分段处理,获得多个初始训练语音样本,然后对所述初始训练语音样本进行特征提取,获得待处理训练语音信号特征,并通过预设统计函数对所述待处理训练语音信号特征进行特征统计,获取待确认训练特征统计结果,根据所述待确认训练特征统计结果,通过预设多目标优化算法获得目标训练特征数据,之后根据所述目标训练特征数据获取所述目标训练特征数据对应的情感类别,并根据所述情感类别和所述情感类别对应的目标训练特征数据建立预设Softmax分类模型。通过上述方法,可以针对语句局部片段训练模型,可避免一句话中不同局部片段含有不同情感、或者同一情感不同局部片段相互冲突,从而降低深度学习物理含义与语音情感识别特性之间的差异。
[0174] 此外,本发明实施例还提出一种存储介质,所述存储介质上存储有语音情感识别程序,所述语音情感识别程序被处理器执行时实现如上文所述的语音情感识别方法的步骤。
[0175] 参照图4,图4为本发明语音情感识别装置第一实施例的结构框图。
[0176] 如图4所示,本发明实施例提出的语音情感识别装置包括:获取模块4001,用于获取预设维度的测试语音样本,并通过预设规则对所述测试语音样本进行分段处理,获得多个初始语音样本;提取模块4002,用于对所述初始语音样本进行信号特征数据提取,获得待处理语音信号特征数据;统计模块4003,用于通过预设统计函数对所述待处理语音信号特征数据进行特征统计,获得待确认特征统计结果;计算模块4004,用于根据所述待确认特征统计结果,通过预设多目标优化算法获得特征目标数据;确定模块4005,用于将所述特征目标数据输入至预设Softmax分类模型中,获得语音情感识别结果。
[0177] 所述获取模块4001获取预设维度的测试语音样本,并通过预设规则对所述测试语音样本进行分段处理,获得多个初始语音样本的操作。
[0178] 需要说明的是,在获取预设维度的测试语音样本,并通过预设规则对所述测试语音样本进行分段处理,获得多个初始语音样本的步骤之前,需要获取预设维度的训练语音样本,并通过预设规则对所述测试语音样本进行分段处理,获得多个初始训练语音样本,对所述初始训练语音样本进行特征提取,获得待处理训练语音信号特征,通过预设统计函数对所述待处理训练语音信号特征进行特征统计,获取待确认训练特征统计结果,根据所述待确认训练特征统计结果,通过预设多目标优化算法获得目标训练特征数据,根据所述目标训练特征数据获取所述目标训练特征数据对应的情感类别,根据所述情感类别和所述情感类别对应的目标训练特征数据建立预设Softmax分类模型。
[0179] 此外,应理解的是,上述所说的预设规则为用户自定义的样本划分规则,也就是说,假如获取的预设维度的测试语音样本对应的时长为5s,将预设规则设定为0.2s,则按照预设规则划分后得到25段0.2s的初始语音样本。
[0180] 此外,需要说明的是,上述所说的预设维度可以是时间维度,也可以是非时间维度等等,本实施例并不加以限制。
[0181] 所述提取模块4002对所述初始语音样本进行信号特征数据提取,获得待处理语音信号特征数据的操作。
[0182] 此外,应理解的是,对所述初始语音样本进行信号特征数据提取Mel频率倒谱系数(Mel Frequency Cepstrum Coefficient,MFCC)、对数频率功率系数(Log Frequency Power Coefficients,LFPC)、线性预测倒谱系数(Linear Predictive Cepstral Coding,LPCC)、过零峰值幅度(Zero Crossing with Peak Amplitude,ZCPA)、感知线性预测(Perceptual Linear Predictive,PLP)、拉斯塔滤波器感知线性预测(Rasta Perceptual Linear Predictiv,R‑PLP)。
[0183] 应理解的是,上述所说的每类特征的特征提取结果均为二维矩阵,其中一个维度为时间维度,然后计算每类特征Fi在时间维度上的一阶导数ΔFi、二阶导数ΔΔFi,并将原始特征、一阶导数结果、二阶导数结果在非时间维度上串接,形成每一类特征的最终特征提取结果;将上述所有类的特征的最终特征提取结果在非时间维度上串接即为该样本的特征提取结果。
[0184] 此外,为了便于理解,以下进行举例说明:
[0185] 假设,MFCC对应的FMFCC∈R39×z,ΔFMFCC∈R39×z,ΔΔFi∈R39×z,其中z为帧数,即时间维度数,在非时间维度上的串接结果
[0186] 在MFCC和LPCC连接时,假如 串接后为
[0187] 此外,应理解的是,在进行每一次语音信号特征提取时,提取MFCC,LFPC,LPCC,ZCPA,PLP,R‑PLP特征,其中MFCC、LFPC的Mel滤波器个数为40;LPCC、PLP、R‑PLP的线性预测阶数分别为12、16、16;ZCPA的频率分段为:0,106,223,352,495,655,829,1022,1236,1473,1734,2024,2344,2689,3089,3522,4000。从而每条语句的每类特征的维度分别为:ti*39,ti*40,ti*12,ti*16,ti*16,ti*16,其中ti为第i条语句的帧数,乘号后面的数字为每帧特征的维度。为了获得语音信号在时间维度上的变化,还对上述特征在时间维度上计算一阶导数,二阶导数。最后每类特征的维度分别为:ti*117,ti*140,ti*36,ti*48,ti*48,ti*48。
第i样本的提取到的语音信号特征由上述所有特征组合而成,维度为ti*(117+140+36+48+
48+48)。
[0188] 所述统计模块4003通过预设统计函数对所述待处理语音信号特征数据进行特征统计,获得待确认特征统计结果的操作。
[0189] 需要说明的是,使用统计函数,利用均值(mean)、标准方差(standard deviation)、最小值(min)、最大值(max)、峭度(kurtosis)、偏度(skewness)获得上述特征在时间维度上的统计结果。
[0190] 此外,应理解的是,从上述得到的统计结果中进行筛选,获得标签样本特征数据,并通过预设统计函数对所述标签样本特征数据进行特征统计,获得待确认特征统计结果,并将有标签样本的特征统计结果记为{x1,x2,...,xn},其中n为有标签标本的个数。
[0191] 所述计算模块4004根据所述待确认特征统计结果,通过预设多目标优化算法获得特征目标数据的操作。
[0192] 此外,需要说明的是,将上步中的{x1,x2,...,xn},按语句的标签分成XA=[x1,x2,…,xm],XB=[xm+1,xm+2,…,xn],其中XA是A类情感的片段,XB是B类情感的片段,训练基于倾向性认知学习的语句片段情感分类方法步骤如下:
[0193] (1)对x∈XA,将XA中以x为中心的Parzen窗内的样本与中心样本x的角度划分成多个箱子,然后使用下式计算x在XA中周围数据的分布特征。
[0194] bx=[b1,b2,…,bk]
[0195]
[0196] 式中bj表示第j个箱子,1(xi∈Xj)在xi属于Xj时的值为1否则为0,Xj是XA的子集,Xj内的样本与x之间的角度分布在第j个箱子中。
[0197] (2)对x∈XA,将XB中以x为中心的Parzen窗内的样本与中心样本x的角度划分成多个箱子,然后使用下式计算x在XA中周围数据的分布特征。
[0198]
[0199]
[0200] 式中 表示第 个箱子,1(xi∈Xj)在xi属于Xj时的值为1否则为0,Xj是XB的子集,Xj内的样本与x之间的角度分布在第j个箱子中。
[0201] (3)使用下式计算两数据集在x点附近的数据分布差异:
[0202]
[0203] 式中 表示两向量之间的距离,此处使用欧氏距离。
[0204] (4)根据上一步骤的计算结果可以得到倾向于A情感的片段集合 倾向于B情感的片段集合 以及倾向于中性情感的片段集合 其中 为dx>T的x组成的集合。为dx<‑T的x组成的集合。 为T>dx>‑T组成的集合。T是自主设置的阈值。对每个集合,再使用谱聚类的方法聚成多个区域,得到每个片段xi的区域标签
[0205] (5)定义 L=[LA,LB,LC],其中LA∈Rp、LB∈Rq、LC∈Ru,p、q和u分别为 和 样本的个数,LA、LB和LC中的元素值分别为1、2、3。使用下述目标方程,学习片段的特征子空间:
[0206] J=J1(oi,oj)+β*J2(oi,oj)
[0207] β是平衡参数。其中J1(oi,oj)可以实现 和 三个类之间的类内距离较小,类间距离较大,定义如下:
[0208]
[0209] 式中oi和oj为 和 映射到子空间之后的结果。li和lj对应oi和oj在L中的值。m是一个阈值,调整类间距离的范围,本发明中取1。Gij为xi和xj之间的高斯距离。计算公式如下:
[0210]
[0211] J2(oi,oj)可以尽量保持每个区域内的相对关系不变,以及属于同一类的区域相对靠近,但是并不重叠。定义如下:
[0212]
[0213] 式中 和 是xi和xj的区域标签。Gli是li类所有Gij中的最大值。实现当两个片段属于同一区域时,保持他们之间的关系,当两者不属于同一区域但是属于同一类别时,以一个小的权重最小化他们之间的距离,可使两个区域尽量不重叠。
[0214] 为了优化目标方程J,我们定义oi=φ(Wqφ(…W3φ(W2φ(W1xi+b1)+b2)+b3)+b4)式中φ(·)为sigmoid函数,W1,W2,…,Wq为映射矩阵,b1,b2,…,bq为偏移量。通过求 和可得到W1,W2,…,Wq和b1,b2,…,bq的值, 是求J对W的导数, 是求J对b的导数。
[0215] 所述确定模块4005将所述特征目标数据输入至预设Softmax分类模型中,获得语音情感识别结果的操作。
[0216] 此外,应理解的是,根据上述步骤获得W1,W2,…,Wq和b1,b2,…,bq,计算{x1,x2,...,xm}的特征选择结果z。
[0217] 此外,需要说明的是,上述所说的W1,W2,…,Wq和b1,b2,…,bq为本申请中的特征目标数据。
[0218] 此外,应理解的是,使用训练过程中获得的预设Softmax分类器,分别获得{x1,x2,...,xm}的语音情感类别{l1,l2,...,lm}。然后根据{l1,l2,...,lm}投票获得该语句的情感。
[0219] 此外,需要说明的是,将所述特征目标数据输入至所述预设Softmax分类模型中,获得语音情感类别数据,对所述语音情感类别数据进行数据统计,获得语音情感类别数据值,根据所述语音情感类别数据值获得语音情感识别结果。
[0220] 此外,上述所说的根据所述语音情感类别数据值获得语音情感识别结果的步骤为判断所述语音情感类别数据值是否属于预设语音情感类别阈值范围,若所述语音情感类别数据值属于所述预设语音情感类别阈值范围,则根据所述语音情感类别数据值获得语音情感识别结果;若所述语音情感类别数据值不属于所述预设语音情感类别阈值范围,则返回所述将所述特征目标数据输入至所述预设Softmax分类模型中,获得语音情感类别数据的步骤。
[0221] 此外,还需要说明的是,本发明的情感识别的效果评价采用的语料库是语音情感识别领域的标准数据库。首先完成训练过程,然后进行识别测试。测试模式按5倍交叉方式进行。可以识别愤怒、恐惧、烦躁、厌恶、开心、中性、悲伤7种情感,在说话人依赖的情况下平均分类正确率为94.65%,除了开心与愤怒比较容易混淆以外,其它情绪之间区分度较好。在说话人独立的情况下平均分类正确率为89.30%。
[0222] 应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
[0223] 本实施例通过先获取预设维度的测试语音样本,并通过预设规则对测试语音样本进行分段处理,获得多个初始语音样本,然后对初始语音样本进行信号特征数据提取,获得待处理语音信号特征数据,并对所述待处理语音信号特征数据进行筛选,获得标签样本特征数据,通过预设统计函数对所述标签样本特征数据进行特征统计,获得待确认特征统计结果,之后对所述待确认训练特征统计结果进行情感类别划分,获得不同情感类别对应的待优化训练特征数据,根据所述待优化训练特征数据,通过预设多目标优化算法获得目标训练特征数据,最后将特征目标数据输入至预设Softmax分类模型中,获得语音情感识别结果。通过上述方法,能够充分利用语音情感片段,以及语句与片段之间的情感关系形成一种倾向性的数据,从而可以模拟人类处理倾向性的过程,利用数据的不平衡信息,相互比较,互为约束条件,将不同情感的片段分离开,从而增加样本规模和提高样本多样性。
[0224] 需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
[0225] 另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的语音情感识别方法,此处不再赘述。
[0226] 此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0227] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0228] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0229] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。