一种语音情感识别方法、系统及计算机可读存储介质与流程



1.本技术涉及通信的技术领域,尤其是涉及一种语音情感识别方法、系统及计算机可读存储介质。


背景技术:



2.由于人类的情感是复杂而又多方面的,并不能被直接测量,仅能通过它们的外在表现形式来识别,因此催生出各种用于识别人类情感的方法;按照心理学定义,情感即情绪可以分为愤怒、厌恶、恐惧、开心、悲伤、惊奇等。
3.情感识别可以广泛适用于金融和电信领域,协助识别客户感受,提高客户服务和精准营销质量;还可以用于金融反欺诈,从数据表现来看,由于欺诈客户和诚实客户的动机不同,在回答问题时,诚实客户往往是在回忆或如实地表述,而欺诈客户是在编造、撒谎,两者所承受的认知压力是完全不同的,一般会反映到语音上;在教育领域,老师通过学生的回答,了解他们对课程的兴趣,喜欢或厌恶。
4.目前主要通过人脸识别、社交文本进行进行情感识别,由于情感识别算法主要方式是机器学习,机器学习的一般流程是:采集原始数据、预处理、提取特征、训练模型、用训练好的模型进行预测;机器学习通常是在云端进行。
5.针对上述相关技术,发明人发现存在以下缺陷:由于每次获取的用户的语音数据都要上传云端进行处理以及预测,因此带宽占用高。


技术实现要素:



6.为了节约带宽,本技术提供一种语音情感识别方法、系统及计算机可读存储介质。
7.第一方面,本技术提供的一种语音情感识别方法,采用如下技术方案:一种语音情感识别方法方法,以边缘层为执行主体,包括:接收语音数据;提取所述语音数据中的语音特征,其中,所述语音特征包括所述语音数据中能够表示情绪的内容;输入所述语音特征至预先训练完成的支持向量机模型中,获得情绪倾向的输出结果;其中,所述支持向量机模型在云层进行训练,训练完成后,所述云层派发所述支持向量机模型至所述边缘层。
8.通过采用上述技术方案,边缘层接收到语音数据后,提取该语音数据中的语音特征,而后将该语音特征输入至支持向量机模型中,经过支持向量机模型的运算后,获得情绪倾向的输出结果;由于对语音数据的预测以及处理是在边缘层进行的,云层只是进行了对支持向量机模型的训练,因此节省了资源消耗,从而节约了带宽。
9.可选的,所述方法还包括:基于错误的输出结果,发送对应的所述语音数据至所述云层,所述云层接收所述
语音数据后,更新所述支持向量机模型;其中,对应的所述语音数据已经预先添加正确情绪的标注。
10.通过采用上述技术方案,获得支持向量机模型的输出结果后,会判断该输出结果是否正确,若错误,则会发送对应的语音数据至云层,云层接收收到该语音数据后,会更新支持向量机模型,从而减少了用户暴露隐私的风险,也降低了网络负载。
11.可选的,采用主成分分析算法提取所述语音数据中的语音特征。
12.通过采用上述技术方案,可以提高支持向量机模型预测的准确性。
13.可选的,所述接收语音数据之后的步骤,包括:对所述语音数据进行预处理;所述预处理包括合成、降噪、增益以及去除静音。
14.通过采用上述技术方案,提高对语音数据进行特征提取的准确性。
15.可选的,所述方法还包括:定期上传全部语音数据至所述云层;所述云层基于所述全部语音数据,训练所述支持向量机模型,并将训练完成的所述支持向量机模型派发至所述边缘层;定期接收所述云层派发的新的所述支持向量机模型;基于所述新的所述支持向量机模型,更新旧的所述支持向量机模型。
16.通过采用上述技术方案,由于使得云层定期对支持向量机模型进行训练,因此可以在降低网络负载的情况下,提高支持向量机模型的准确性。
17.可选的,所述支持向量机模型的核函数为二层神经网络函数k(x,y)=tanh(a(x
·
y)+b)。
18.通过采用上述技术方案,采用二层神经网络函数,支持向量机模型的输出结果准确率可达到90%以上。
19.可选的,所述支持向量机模型的训练步骤,包括:将历史语音数据输入至预先构建的支持向量机模型,获得输出向量;判断输出向量中的元素与对应的预设的标签向量中的元素之间的误差的绝对值是否小于预设的误差阈值,若否,则基于该误差调整支持向量机模型的超参数;在所述误差的绝对值小于所述误差阈值时,所述支持向量机模型训练完成。
20.第二方面,本技术提供了一种语音情感识别系统,采用如下技术方案:一种语音情感识别系统,包括设备层、边缘层和云层;其中,所述设备层包括:麦克风阵列,用于采集用户的语音数据;第一语音数据上传模块,用于上传所述语音数据;所述边缘层包括:第一语音数据接收模块,用于接收所述语音数据;语音特征提取模块,用于提取所述语音数据中的语音特征,其中,所述语音特征包括所述语音数据中能够表示情绪的内容;情绪识别模块,内置有预先训练完成的支持向量机模型,用于将所述语音特征输入至所述支持向量机模型中,并获得情绪倾向的输出结果;所述云层包括:训练模块,基于所述语音数据,训练预先构建的所述支持向量机模型;
派发模块,用于派发训练完成的所述支持向量机模型。
21.通过采用上述技术方案,麦克风阵列采集语音数据后,第一语音数据上传模块上传该语音数据,第一语音数据接收模块接收该语音数据,而后语音特征提取模块提取该语音数据中的语音特征,情绪识别模块将该语音特征输入至支持向量机模型中,从而获得情绪倾向的输出结果;由于对语音数据的预测以及处理是在边缘层进行的,云层只是进行了对支持向量机模型的训练,因此节省了资源消耗,从而节约了带宽。
22.可选的,所述边缘层还包括:第二语音数据上传模块,用于上传与错误的输出结果对应的所述语音数据,其中,所述对应的所述语音数据已经预先添加正确的情绪标注;所述云层还包括:第二语音数据接收模块,用于接收所述对应的所述语音数据;所述训练模块基于所述对应的所述语音数据更新所述支持向量机模型。
23.通过采用上述技术方案,当判断输出结果错误时,通过第二语音数据上传模块将与错误的输出结果对应的所述语音数据发送至云层,第二语音数据接收模块接收该语音数据,而后训练模块基于该语音数据更新支持向量机模型,从而减少了用户暴露隐私的风险,也降低了网络负载。
24.第三方面,本技术提供了一种计算机可读存储介质,采用如下技术方案:一种计算机可读存储介质,存储有能够被处理器加载并执行上述语音情感识别方法的计算机程序。
25.综上所述,本技术存在至少以下有益效果:1、由于对语音数据的预测以及处理是在边缘层进行的,云层只是进行了对支持向量机模型的训练,因此节省了资源消耗,从而节约了带宽。
26.2、获得支持向量机模型的输出结果后,会判断该输出结果是否正确,若错误,则会发送与错误的输出结果对应的语音数据至云层,云层接收到该语音数据后,会更新支持向量机模型,从而减少了用户暴露隐私的风险,也降低了网络负载。
附图说明
27.图1是本技术方法实施例的一实施方式的流程框图;图2是本技术方法实施例的另一实施方式的流程框图;图3是本技术方法实施例中支持向量机模型训练步骤的流程框图;图4是本技术系统实施例的结构框图。
28.附图标记说明:100、设备层;110、麦克风阵列;120、第一语音数据上传模块;200、边缘层;210、第一语音数据接收模块;220、语音数据预处理模块;230、语音特征提取模块;240、情绪识别模块;250、第二语音数据上传模块;260、存储模块;300、云层;310、训练模块;320、派发模块;330、第二语音数据接收模块。
具体实施方式
29.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例
中的附图1-附图4,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
30.本技术一实施例公开了一种语音情感识别方法。参照图1,作为该识别方法的一实施方式,该识别方法以边缘层为执行主体,可以包括s110-s130的步骤:s110,接收语音数据;具体地,设备层通过usb与边缘层通信,设备层采集和发送用户的语音数据至边缘层,采用8k采样,4.25毫秒语音数据为一个样本数据,该样本数据至少包括34个采样点。设备层可以包括麦克风阵列,麦克风阵列可以包括4个麦克风,4个麦克风以特定角度排列,特定角度指的是,四个麦克风在圆内均匀分布,均朝向圆心,设置4个麦克风可以有利于消除回音;用户可以在设备层方圆5m左右。边缘层运行于边缘服务器上,边缘服务器采用树莓派,靠近用户发出语音处,从而节约数据上传、下载的交互过程。边缘层接收到语音数据后,会将语音数据以wav格式存储于存储区域内。
31.s120,提取语音数据中的语音特征,其中,语音特征包括语音数据中能够表示情绪的内容;具体地,采用主成分分析算法提取语音数据中的语音特征;“主成分”分析,就是去掉“线性相关”的冗余数据,剔除方差小的相关数据,保留主干数据,达到降低维度的作用。
32.举例:[1 0 01 1 01 0 11 0 0],这组数据都减去第一行后,变换为:[1 0 00 1 00 0 10 0 0],由于最后一行都是0,不影响计算结果,去掉后,可以简化数据,因此,可以忽略,就变为:[ 1 0 00 1 00 0 1],从而达到降低维度的目的。
[0033]
主成分分析算法的具体步骤如下:采用python语言中的numpy库即可。步骤如下:(1)去平均值(即去中心化),即每一位特征减去各自的平均值。
[0034]
(2)计算协方差矩阵。
[0035]
(3)用特征值分解方法求协方差矩阵的特征值与特征向量。
[0036]
(4)对特征值从大到小排序,选择其中最大的k个,然后将其对应的k个特征向量分别作为行向量组成特征向量矩阵p。
[0037]
(5)将语音数据转换到k个特征向量构建的新空间中,即y=px。
[0038]
其中,k取25时,可以覆盖语音数据95%的信息,如此,可以使得支持向量机模型的处理准确率可以达到90%以上。
[0039]
s130,输入语音特征至预先训练完成的支持向量机模型中,获得情绪倾向的输出结果;其中,支持向量机模型在云层进行训练,训练完成后,云层派发该支持向量机模型至边缘层。
[0040]
具体地,支持向量机模型的核函数可以采用二层神经网络函数k(x,y)=tanh(a(x
·
y)+b)。
[0041]
执行s130的步骤之后,还可以执行s140的步骤:s140,基于错误的输出结果,发送对应的语音数据至云层,云层接收对应的语音数据后,更新支持向量机模型;其中,对应的语音数据已经预先添加正确情绪的标注。
[0042]
具体地,执行完s130之后,可以人工对输出结果进行判断,若输出结果正确,则不需要上传云层,若输出结果错误,则对与该输出结果对应的语音数据人工进行正确情绪标注后,上传至云层,以更新支持向量机模型的超参数。需要说明的是,标注的是正确情绪数字化后确定的概率。例如,该语音数据对应的正确情绪为悲伤,悲伤数字化后确定的概率为0,则对该语音数据标注0。
[0043]
另外,在执行s110之后,执行s120之前,还需要执行s111的步骤:s111,对语音数据进行预处理;预处理包括合成、降噪、增益以及去除静音。其中,s120中的语音数据为预处理后的语音数据。
[0044]
具体地,可以通过左右声道相位差处理对语音数据进行合成,以去除混响(建筑物反射、回响等);采用数字信号领域的kaldi中对应的算法库对语音数据进行降噪、增益和去除静音处理。
[0045]
其中,边缘层可以根据根据环境自动选择不同程度的降噪效果,降噪程度包括高中低三种。通常情况一般选择中级的降噪效果,如果环境安静,比如:会议室中2人聊天,则可以选择低级的降噪效果,如果在公共场所,则可以选择高级的降噪效果。具体地,可以根据噪声评估标准,接收到语音数据后,计算信噪比,获得比率值,而后判断该比率值与预设的第一比率阈值以及预设的第二比率阈值的关系,若比率值在第一比率阈值以上,则判定优秀,可以选择低级的降噪效果,若比率值在第二比率阈值与第一比率阈值之间,则判定合格,可以选择中级的降噪效果,若比率值在第二比率阈值以下,则判定噪声大,可以选择高级的降噪效果;其中,第一比率阈值大于第二比率阈值,比率值取值0-1之间。
[0046]
例如,第一比率阈值为0.7,第二比率阈值为0.5,若比率值为0.8,则选择低级的降噪效果;若比率值为0.6,则选择中级的降噪效果;若比率值为0.2,则选择高级的降噪效果。
[0047]
需要说明的是,用户也可以根据自己的需求调整kaldi中降噪算法库中配置文件中的参数,从而实现不同程度的降噪效果。
[0048]
参照图2,作为识别方法的另一实施方式,该识别方法还可以包括s210-s230的步骤:s210,定期上传全部语音数据至云层;云层基于全部语音数据,训练支持向量机模
型,并将训练完成的支持向量机模型派发至边缘层;s220,定期接收云层派发的新的支持向量机模型;s230,基于新的支持向量机模型,更新旧的支持向量机模型。
[0049]
具体地,定期通常是每月上传一次,也可以是每周上传一次,具体时间可根据用户需求自行设定。另外,全部语音数据包括存储的历史语音数据和本次上传的语音数据;当然也可以是部分历史语音数据和本次上传的语音数据,需要说明的是,部分历史语音数据指的是按照存储时间对存储的历史语音数据进行排列后距离本次语音数据上传时间较近的历史语音数据。
[0050]
参照图3,支持向量机模型的训练步骤可以包括s131-s134的步骤:s131,将历史语音数据输入至预先构建的支持向量机模型,获得输出向量;s132,判断输出向量中的元素与对应的预设的标签向量中的元素之间的误差的绝对值是否小于预设的误差阈值,若否,则基于该误差调整支持向量机模型的超参数;s133,重复s131-s132,直至输出向量中的元素与对应的标签向量中的元素之间的误差的绝对值小于误差阈值;s134,在误差的绝对值小于误差阈值时,支持向量机模型训练完成。
[0051]
需要说明的是,标签向量中的元素的和以及输出向量中的元素的和为1。
[0052]
具体地,假定情绪分为两类:开心或悲伤,标签向量为[1,0],1表示将开心数字化后确定的概率,0表示将悲伤数字化后确定的概率。
[0053]
1.支持向量机构建后,初始的超参数是随机的。
[0054]
2.输入一段语音数据至支持向量机模型,比如:包含有开心情绪的语音数据,该语音数据数字化为振幅(波形)。
[0055]
3.经过支持向量机模型计算后输出:一个向量[0.5,0.5] ,表示开心的概率为0.5,悲伤的概率为0.5,而由于标签向量中开心的概率为1,悲伤的概率为0,因此支持向量机输出的向量与标签向量存在有误差。
[0056]
4.把误差反馈给支持向量机模型,支持向量机模型会自动调整参数。
[0057]
5.重复2到5的过程,直到支持向量机模型输出的向量与标签向量误差小于阈值。例如,支持向量机模型输出的向量为[0.9999,0.0001],那近似为开心的概率为1,悲伤的概率为0,从而判定该语音数据中包含的情绪为开心。
[0058]
本实施例的实施原理为:云层基于历史语音数据将支持向量机模型训练完成后,派发支持向量机模型至边缘层,而后设备层采集到用户的语音数据后,上传至边缘层,边缘层对该语音数据进行预处理,预处理完成后,提取语音数据中的语音特征,而后将该语音特征输入至支持向量机模型,从而获得情绪倾向的输出结果,而后人工对该输出结果进行判断,若输出结果错误,则将与错误的输出结果对应的语音数据标注正确的情绪,并上传至云层,云层接收到后,进行支持向量机模型的更新;定期将存储于边缘层内的全部语音数据上传至云层,以使云层定期更新支持向量机模型,更新完成,再派发该支持向量机模型至边缘层,边缘层接收到新的支持向量机模型后,更新旧的支持向量机模型。
[0059]
基于上述方法实施例,本技术另一实施例提供了一种语音情感识别系统。参照图
4,作为该识别系统的一实施方式,该识别系统可以包括设备层100、边缘层200和云层300;其中,边缘层200运行于边缘服务器上,云层300运行于云服务器上。
[0060]
设备层100可以包括:麦克风阵列110,用于采集用户的语音数据;第一语音数据上传模块120,用于上传语音数据;边缘层200可以包括:第一语音数据接收模块210,用于接收语音数据;其中,第一语音数据接收模块210可以是alsa模块,安装于边缘服务器上。
[0061]
语音特征提取模块230,用于根据主成分分析算法提取语音数据中的语音特征,其中,语音特征包括语音数据中能够表示情绪的内容;情绪识别模块240,内置有预先训练完成的支持向量机模型,用于将语音特征输入至支持向量机模型中,并获得情绪倾向的输出结果;云层300可以包括:训练模块310,基于语音数据,训练预先构建的支持向量机模型;派发模块320,用于派发训练完成的支持向量机模型。
[0062]
另外,边缘层200还可以包括:第二语音数据上传模块250,用于上传与错误的输出结果对应的语音数据,其中,对应的语音数据已经预先添加正确的情绪标注;云层300还可以包括:第二语音数据接收模块330,用于接收对应的语音数据;训练模块310基于对应的语音数据更新支持向量机模型。
[0063]
边缘层200还可以包括:语音数据预处理模块220,用于对语音数据进行预处理,预处理包括合成、降噪、增益以及去除静音;存储模块260,用于存储实时接收的语音数据以及历史语音数据。
[0064]
另外,需要说明的是,第二语音数据上传模块250可以定期上传全部语音数据,第二语音数据接收模块330可以定期接收全部语音数据;派发模块320可以定期派发训练完成的支持向量机模型;情绪识别模块240可以定期接收支持向量机模块,并更新边缘层200已存储的支持向量机模型。
[0065]
本实施例的实施原理为:训练模块310基于历史语音数据将支持向量机模型训练完成后,派发模块320派发支持向量机模型至情绪识别模块240;而后麦克风阵列110采集到用户的语音数据后,第一语音数据上传模块120将语音数据上传至第一语音数据接收模块210,语音数据预处理模块220对该语音数据进行预处理,预处理完成后,语音特征提取模块230提取语音数据中的语音特征,而后情绪识别模块240将该语音特征输入至支持向量机模型,从而获得情绪倾向的输出结果,而后人工对该输出结果进行判断,若输出结果错误,则将与错误的输出结果对应的语音数据标注正确的情绪,并通过第二语音数据上传模块250上传至第二语音数据接收模块330,训练模块310进行支持向量机模型的更新;第二语音数据上传模块250定期将存储于存储模块260内的全部语音数据上传至
第二语音数据接收模块330,以使训练模块310定期更新支持向量机模型,更新完成后,派发模块320派发该支持向量机模型至情绪识别模块240,情绪识别模块240接收到新的支持向量机模型后,更新旧的支持向量机模型。
[0066]
本技术第三实施例提供了一种计算机可读存储介质,存储有能够被处理器加载并执行上述语音情感识别方法的计算机程序。
[0067]
计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。其中,可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘)等。
[0068]
以上均为本技术的较佳实施例,并非依次限制本技术的保护范围,本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

技术特征:


1.一种语音情感识别方法方法,其特征在于,以边缘层为执行主体,所述方法包括:接收语音数据;提取所述语音数据中的语音特征,其中,所述语音特征包括所述语音数据中能够表示情绪的内容;输入所述语音特征至预先训练完成的支持向量机模型中,获得情绪倾向的输出结果;其中,所述支持向量机模型在云层进行训练,训练完成后,所述云层派发所述支持向量机模型至所述边缘层。2.根据权利要求1所述的一种语音情感识别方法方法,其特征在于,所述语音情感识别方法还包括:基于错误的输出结果,发送对应的所述语音数据至所述云层,所述云层接收所述对应的所述语音数据后,更新所述支持向量机模型;其中,所述对应的所述语音数据已经预先添加正确情绪的标注。3.根据权利要求2所述的一种语音情感识别方法方法,其特征在于,采用主成分分析算法提取所述语音数据中的语音特征。4.根据权利要求3所述的一种语音情感识别方法方法,其特征在于,所述接收语音数据之后的步骤,包括:对所述语音数据进行预处理;所述预处理包括合成、降噪、增益以及去除静音。5.根据权利要求1所述的一种语音情感识别方法方法,其特征在于,所述语音情感识别方法还包括:定期上传全部语音数据至所述云层;所述云层基于所述全部语音数据,训练所述支持向量机模型,并将训练完成的所述支持向量机模型派发至所述边缘层;定期接收所述云层派发的新的所述支持向量机模型;基于所述新的所述支持向量机模型,更新旧的所述支持向量机模型。6.根据权利要求1-5任一所述的一种语音情感识别方法方法,其特征在于,所述支持向量机模型的核函数为二层神经网络函数k(x,y)=tanh(a(x
·
y)+b)。7.根据权利要求5所述的一种语音情感识别方法方法,其特征在于,所述支持向量机模型的训练步骤 ,包括:将历史语音数据输入至预先构建的支持向量机模型,获得输出向量;判断输出向量中的元素与对应的预设的标签向量中的元素之间的误差的绝对值是否小于预设的误差阈值,若否,则基于该误差调整支持向量机模型的超参数;在所述误差的绝对值小于所述误差阈值时,所述支持向量机模型训练完成。8.一种语音情感识别系统,其特征在于,包括设备层(100)、边缘层(200)和云层(300);其中,所述设备层(100)包括:麦克风阵列(110),用于采集用户的语音数据;第一语音数据上传模块(120),用于上传所述语音数据;所述边缘层(200)包括:第一语音数据接收模块(210),用于接收所述语音数据;语音特征提取模块(230),用于提取所述语音数据中的语音特征,其中,所述语音特征包括所述语音数据中能够表示情绪的内容;
情绪识别模块(240),内置有预先训练完成的支持向量机模型,用于将所述语音特征输入至所述支持向量机模型中,并获得情绪倾向的输出结果;所述云层(300)包括:训练模块(310),基于所述语音数据,训练预先构建的所述支持向量机模型;派发模块(320),用于派发训练完成的所述支持向量机模型。9.根据权利要求8所述的一种语音情感识别系统,其特征在于,所述边缘层(200)还包括:第二语音数据上传模块(250),用于上传与错误的输出结果对应的所述语音数据,其中,对应的所述语音数据已经预先添加正确的情绪标注;所述云层(300)还包括:第二语音数据接收模块(330),用于接收所述对应的所述语音数据;所述训练模块(310)基于所述对应的所述语音数据更新所述支持向量机模型。10.一种计算机可读存储介质,其特征在于,存储有能够被处理器加载并执行如权利要求1-7任一所述的语音情感识别方法的计算机程序。

技术总结


本申请涉及一种语音情感识别方法、系统及计算机可读存储介质,属于通信的技术领域,该方法以边缘层为执行主体,包括接收语音数据;而后提取所述语音数据中的语音特征,其中,所述语音特征包括所述语音数据中能够表示情绪的内容;将所述语音特征输入至预先训练完成的支持向量机模型中,以获得情绪倾向的输出结果;其中,所述支持向量机模型在所述云层进行训练,训练完成后,所述云层派发所述支持向量机模型至所述边缘层。由于对语音数据的预测以及处理是在边缘层进行的,云层只是进行了对支持向量机模型的训练,因此节省了资源消耗,从而节约了带宽。而节约了带宽。而节约了带宽。


技术研发人员:

李佶 彭志航

受保护的技术使用者:

北京凝思软件股份有限公司

技术研发日:

2022.04.19

技术公布日:

2022/8/22

本文发布于:2024-09-21 02:34:16,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/26251.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:语音   向量   所述   数据
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议