一种基于对抗学习的端到端的跨语言语音情感识别方法与流程

文档序号:18945583发布日期:2019-10-23 01:33阅读:312来源:国知局
一种基于对抗学习的端到端的跨语言语音情感识别方法与流程

本发明涉及情感识别技术领域,尤其涉及一种基于对抗学习的端到端的跨语言语音情感识别方法。



背景技术:

从语音中识别情感有利于构建更自然的人机语音交互系统。传统的方法需要一定的专家知识从语音中提取有效的特征进行情感识别。随着神经网络的兴起,越来越多的研究人员尝试构建基于神经网络的端到端语音情感识别模型,利用神经网络从原始数据(语音波形或语谱图)中直接提取特征用于情感识别。端到端的语音情感识别模型去除了繁琐昂贵的特征工程工作,并在数据规模较大的情况下取得了超越传统方法的效果。

在语音情感识别的研究和应用中,会遇到对多种语言进行情感识别的需求。甚至某些语言的情感数据资源非常丰富(有大量的带情感标签的语音)。而某些语音的情感数据资源相对比较匮乏(语料库中有很少情感标签或没有情感标签)。称情感数据资源丰富的语言为源语言,情感数据资源匮乏的语言成为目标语言。如何根据源语言语音的丰富的情感数据资源,提升模型在目标语言语音上的情感识别性能,即跨语言语音情感识别,一直是一个值得研究的问题。

现有的跨语言语音情感识别方法是基于传统的语音情感识别方法的,需要大量的特征工程或者手工提取特征的工作。



技术实现要素:

本发明为了解决现有技术中语音情感识别方法需要大量的特征工程通过手工提取特征的工作的问题,提供一种基于对抗学习的端到端的跨语言语音情感识别方法。

为了解决上述问题,本发明采用的技术方案如下所述:

一种基于对抗学习的端到端的跨语言语音情感识别方法,包括如下步骤:s1:构建包括特征提取器、情感分类器和语言分类器的情感识别模型,s2:接收原始数据对所述情感识别模型进行训练并在训练过程中使用梯度翻转层;s3:利用训练好的所述情感识别模型预测源语言语音或目标语言语音的情感。

优选地,所述训练过程包括如下步骤:s21:所述特征提取器接收源语言语音和目标语言语音的所述原始数据作为输入并提取特征用于所述情感分类器和所述语言分类器;s22:筛选出对应所述源语言语音的特征作为所述情感分类器的输入得到情感标签,所述源语言语音和所述目标语言语音的特征经过一个梯度翻转层进入所述语言分类器得到语言标签。

优选地,所述源语言语音的数据有情感标签和语言标签;所述目标语言语音的数据仅有语言标签,或有语言标签和情感标签。

优选地,定义损失函数le和ll,其中le根据所述情感分类器的输出与所述情感标签的差异而计算;ll根据所述语言分类器和所述语言标签的差异而计算,则所述情感识别模型的总的损失函数l=le+λll,其中λ为权衡两个算是函数的权重系数。

优选地,所述情感分类器的参数θe按照公式更新,其中μ>0为学习率;所述语言分类器的参数θl按照公式更新;所述特征提取器的参数θf按照公式更新。

优选地,训练过程中使用验证集,所述验证集上的损失函数le和ll不再降低时训练结束。

优选地,步骤s3包括如下步骤:s31:将所述源语言语音或所述目标语言语音的原始数据输入到所述特征提取器进行特征提取;

s32:将提取的所述特征输入到情感分类器得到所述源语言语音或所述目标语言语音的情感标签。

优选地,所述原始数据是语音波形或语谱图。

优选地,所述特征提取器、所述情感分类器和所述语言分类器是cnn网络、rnn网络、dnn网络或全连接网络。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述方法的步骤。

本发明的有益效果为:提供一种基于对抗学习的端到端的跨语言语音情感识别方法,通过构建包括特征提取器、情感分类器和语言分类器的情感识别模型,直接接受语音波形或者语谱图作为输入,不再需要其他数据预处理工作,免除了特征工程的工作;模型训练时采用梯度反转层以促进特征提取器提取语言无关的信息,适用于模型训练时一种语言的语音数据有大量的情感标签而其他语言的语音数据没有足够情感标签甚至没有情感标签的情况。

附图说明

图1是本发明实施例中现有技术的情感识别方法的示意图。

图2是本发明实施例中基于对抗学习的端到端的跨语言语音情感识别方法的示意图。

图3是本发明实施例中情感识别模型的训练过程的方法示意图。

图4是本发明实施例中情感识别模型的训练过程的流程示意图。

图5是本发明实施例中情感识别模型对源语言语音或目标语言语音进行预测的方法示意图。

图6是本发明实施例中情感识别模型对源语言语音或目标语言语音进行预测的流程示意图。

图7是本发明实施例中用户端的情感识别流程示意图。

图8是本发明实施例中对源语言语音或目标语言语音预测的流程示意图。

图9是本发明实施例中语音的数值序列(语音波形)的示意图。

具体实施方式

为了使本发明实施例所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

需要说明的是,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者间接在该另一个元件上。当一个元件被称为是“连接于”另一个元件,它可以是直接连接到另一个元件或间接连接至该另一个元件上。另外,连接即可以是用于固定作用也可以是用于电路连通作用。

需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多该特征。在本发明实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

缩略语和关键术语定义

源语言语音:在跨语言语音情感识别中,具有丰富情感标签的语言(如英语)称为源语言语音。

目标语言语音:在跨语言语音情感识别中,具有少量情感标签、或没有情感标签的语言(如德语)称为目标语言语音。目标语言可以有多种。

gf(·;θf):特征提取器。接受原始数据(语音波形或语谱图)作为输入,输出高层次的抽象特征用于分类。特征提取器可用多层cnn、rnn或全连接网络来实现。

ge(·;θe):情感分类器。接受特征提取器所提取的高层次的抽象特征作为输入,输出情感标签(的后验概率)。情感分类器可用多层cnn、rnn或全连接网络来实现。

gl(·;θl):语言分类器。接受特征提取器所提取的高层次的抽象特征作为输入,判断该特征对应于源语言语音还是目标语言语音。语言分类器可用多层cnn、rnn或全连接网络来实现。

如图1所示,随着神经网络的兴起,越来越多的研究人员尝试构建基于神经网络的端到端语音情感识别模型,利用神经网络从原始数据(语音波形或语谱图)中直接提取特征用于情感识别。端到端的语音情感识别模型去除了繁琐昂贵的特征工程工作,并在数据规模较大的情况下取得了超越传统方法的效果。

本申请提出了一种基于对抗学习的端到端的跨语言语音情感识别方法。该方法借助于对抗学习的训练方法,利用神经网络消除来自不同语言所提取的特征之间的差异。同时,模型直接接受语音波形或者语谱图作为输入,不需要再手工提取特征。基本思路为:源语言语音的数据有情感标签,情感识别可以看成一个分类任务,比如,情感标签为高兴、生气、伤心,中性这四种,目标语言语音的数据没有情感标签。跨语言语音情感识别指的是如何根据有数据标签的源语言语音数据训练一个神经网络模型,也能预测目标语言语音数据的情感。

现有技术中公开了一种跨语言的语音情感识别方法。该方法首先建立了一个汉语语料库和德语语料库,然后对其中的语音进行特征提取。计算每个特征分别关于两个语音库的fisher判别系数,并排序选出情感区分度最高的一些特征。在训练和识别中采用高斯混合模型来分别进行参数估计和似然值得计算。可以有效地解决现有语音情感识别方法只针对某种语言的局限性,但存在如下缺点:

(1)需要手工对语音进行特征提取,特征工程的工作需要一定的专家知识而且是繁琐的。

(2)适用于汉语语料库和德语语料库中都有丰富的情感标签的情况。而当某一种语料库没有足够的情感标签或没有情感标签时,便无法进行跨语言语音情感识别。

如图2所示,本发明提供一种基于对抗学习的端到端的跨语言语音情感识别方法,包括如下步骤:

s1:构建包括特征提取器、情感分类器和语言分类器的情感识别模型,

s2:接收原始数据对所述情感识别模型进行训练并在训练过程中使用梯度翻转层;

s3:利用训练好的所述情感识别模型预测源语言语音或目标语言语音的情感。

情感识别模型的特征提取器(gf(·;θf))、情感分类器(ge(·;θe))和语言分类器(gl(·;θl))都是多层神经网络,具体可以由cnn、rnn、dnn或全连接网络来实现。θf、θe、θl分别代表特征提取器、情感分类器和语言分类器的可训练参数。

原始数据可以是录音(wav,mp3等),计算机直接读取wav,mp3文件就可以得到语音波形。语音波形经过短时傅里叶变换就可以得到语谱图。语音模型或者语谱图作为输入都是可以的。

本发明的方法可以直接接收原始数据(语谱图或原始语音波形)作为输入,省去了一般语音情感识别中的特征工程工作(特征工程工作需要从语音中提取能量、基频等特征);同时,在目标语言语音的语音数据没有情感标签的情况下也能预测目标语言语音的发音。

如图3和图4所示,情感识别模型的训练过程包括如下步骤:

s21:所述特征提取器接收源语言语音和目标语言语音的所述原始数据作为输入并提取特征用于所述情感分类器和所述语言分类器;

s22:筛选出对应所述源语言语音的特征作为所述情感分类器的输入得到情感标签,所述源语言语音和所述目标语言语音的特征经过一个梯度翻转层进入所述语言分类器得到语言标签。

训练时要求源语言语音必须有情感标签,而目标语言语音的数据不一定有情感标签。源语言语音数据和目标语言语音数据都必须有语言标签(来自于源语言语音还是目标语言语音)。

语音情感数据库中每一条数据是一句话,每句话有一个情感标签,是高兴、生气、伤心,中性四种情感中的一个。这里的特征是指神经网路提取的特征,输入数据通过几层神经网络层后的中间层输出叫做特征。中文或英文的语言标签就是中文或英文。语言分类器做的是一个二分类任务。判断输入的特征是中文还是英文。

梯度翻转层的作用是:在神经网络正向传播过程中,仅执行复制操作;在神经网络的反向传播过程中,梯度经过该层乘以-1。本发明最先把它用在跨语言语音情感识别中。

本发明的方法主要是源语言语音的数据有情感标签(情感识别可以看成一个分类任务,情感标签可以有高兴、生气、伤心,中性这四种),目标语言语音的数据没有情感标签。跨语言语音情感识别指的是如何根据有数据标签的源语言语音数据训练一个神经网络模型,也能预测目标语言语音数据的情感。

训练过程中有两个损失函数,le和ll。其中le根据情感分类器的输出与情感标签的差异而计算;ll根据语言分类器和语言标签的差异而计算。所以模型总的损失函数l=le+λll,其中超参λ控制两个损失函数的相对权重。因此情感分类器的参数θe按照公式更新。其中μ>0为学习率。语言分类器的参数θl按照公式更新。由于梯度翻转层的作用,特征提取器的参数θf按照公式更新。训练过程中,在情感分类器的作用下,特征提取器会提取越来越多的包含情感信息的特征。同时,在语言分类器和梯度翻转层的作用下,特征提取器提取的特征会包含越来越少的语言相关的特征。

训练过程中使用验证集,所述验证集上的损失函数le和ll不再降低时训练结束。

如图5和图6所示,通过本发明的模型对源语言语音或目标语言语音进行预测包括如下步骤:

s31:将所述源语言语音或所述目标语言语音的原始数据输入到所述特征提取器进行特征提取;

s32:将提取的所述特征输入到情感分类器得到所述源语言语音或所述目标语言语音的情感标签。

如图7所示,用户只需提供来自源语言语音或者目标语言语音的原始数据作为输入(原始数据可以直接是语音波形,或语音波形通过短时傅里叶变换得到的语谱图),不再需要任何额外的特征工程工作。接受原始数据作为输入后,会输出该语音所对应的情感标签,如高兴,悲伤,生气等。

如图8和图9所示,用户以悲伤的情感读出“这是一个寂寞的秋天”这句话语音,计算机中这句话会以wav或mp3的格式存储这句语音。然后计算机读取wav或者mp3格式存储的语音,会得到一个数值序列(每一个采样点有一个值),计算机读取wav文件(或mp3文件)得到的数值序列即为语音波形,语音波形通过短时傅里叶变换后即可以得到语谱图。语音波形或者语谱图可以作为模型的输入,通过训练好的特征提取器和情感分类器后,会自动输出“悲伤”的标签。

上述计算机设备可以包括存储器、处理器及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时,可以实现本申请实施例提供的基于深度神经网络的多音字读音的判别方法。

一种基于对抗学习的端到端的跨语言语音情感识别的终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前所述方法的步骤。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述基于对抗学习的端到端的跨语言语音情感识别的终端设备中的执行过程。

所述基于对抗学习的端到端的跨语言语音情感识别的终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述基于对抗学习的端到端的跨语言语音情感识别的终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是基于对抗学习的端到端的跨语言语音情感识别的终端设备的示例,并不构成对基于对抗学习的端到端的跨语言语音情感识别的终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述基于对抗学习的端到端的跨语言语音情感识别的终端设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述基于对抗学习的端到端的跨语言语音情感识别的终端设备的控制中心,利用各种接口和线路连接整个基于对抗学习的端到端的跨语言语音情感识别的终端设备的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述基于对抗学习的端到端的跨语言语音情感识别的终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

所述基于对抗学习的端到端的跨语言语音情感识别的终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1