一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于文本和语音置信度的多模态情绪识别模型与方法与流程

2022-11-19 07:47:59 来源:中国专利 TAG:


1.本发明涉及文本和语音处理技术领域,具体涉及一种基于文本和语音置信度 的多模态情绪识别模型与方法。


背景技术:

2.目前,在ai情绪识别邻域,单模态情绪识别模型的应用已经十分成熟,如: 语音情绪识别、文本情绪识别、面部表情情绪识别等。但单模态情绪识别自身具 有难以克服的问题,即由于仅依靠某一模态,当这一模态情绪表达模糊或数据不 准确时,单模态情绪识别模型难以判断数据中的情绪,而多模态情绪识别模态可 以弥补这一点。
3.多模态情绪识别考虑模态互补作用,当一个模态的信息出现问题时,其他模 态仍可以发挥作用,使得多模态模型做出判断。但到目前为止,几乎所有的多模 态融合方法都是直接将多个模态做简单拼接或相加处理,并没有对进行深层处 理,没有考虑在现实中人类可以通过注意力关注重要信息,即通过关注对情绪表 达更强烈的模态,忽略不强烈的模态,来更加准确的判断情绪。因此,对不同模 态置信度的分配可以使得那些数据信息不准确的模态对模型的影响降到最小,从 而提高模型的效率。
4.综上所述,研发一种基于文本和语音置信度的多模态情绪识别模型与方法, 仍是情绪识别技术领域中急需解决的关键问题。


技术实现要素:

5.针对现有技术所存在的上述缺点,本发明通过利用文本和语音混合的多模态 数据,可以实现对说话人情绪的识别,弥补了ai情绪识别无法有效识别的问题。
6.为实现上述目的,本发明提供了如下技术方案:
7.本发明提供了一种基于文本和语音置信度的多模态情绪识别模型与方法,包 括以下步骤:
8.(1)文本和语音数据采集:选择几位不同说话人,两两进行对话,使用录 音设备录取对话的音频,且记录对话的文本内容,使用音频剪辑软件将长对话的 音频文件按每句话剪切为句子的音频文件,为每一个句子的音频和文本数据标识 情绪标签,每一个句子的音频、文本数据组成一个多模态数据,每一类情绪采集n个多模态数据;
9.(2)文本和语音数据处理:对任一情绪标签的n个多模态数据中的音频部 分进行音频分割,记录分割个数,并将文本部分采用数据增强处理,每一个多模 态数据中的文本数据增强数量与音频分割个事一一对应。通过音频分割和文本数 据增强,获取该情绪的多模态数据库;
10.(3)训练基于文本和语音的多模态情绪级识别模型:对各种已知情绪的多 模态数据分别执行步骤(1)-步骤(2)的操作,获得相应情绪的多模态数据库, 将各样本情绪标签与对应的多模态数据库输入基于文本和语音置信度机制的多 模态卷积神经网络模型进行训练,根据文本和语音模态置信度,多模态卷积神经 网络模型会选择更加相信文本模态的
判断或语音部分的判断;
11.(4)基于文本和语音的多模态情绪识别:采集待识别句子的音频数据和文 本数据,组成多模态数据,输入至多模态情绪识别模型,获取该句子的识别结果;
12.本发明进一步的设置为:在步骤(1)中,采集多模态数据时,同一个句子 的文本和语音数据必须一一对应且情绪标签相同。
13.本发明进一步的设置为:在步骤(2)中,所述语音分割的方法为:
14.每个句子的音频数据被分割为若干个时长2秒的片段,相邻片段之间具有1 秒的重叠,每个片段具有与该句子相同的情绪标签,并记录该句子音频的片段数, 即分割个数;音频时长不足2秒的句子,对其进行零填充,使其时长达到2秒, 并记录分割个数为1。
15.本发明进一步的设置为:在步骤(2)中,所述文本数据增强是对文本进行 同义词替换、随机插入、随机替换、随机删除和回译中的一种或多种操作,并且 每一个句子文本的数据增强数量,必须保持和该句子语音分割个数相同。
16.本发明进一步的设置为:在步骤(2)中,所述的多模态数据库为分割的语 音数据和增强的文本数据组成,其中分割的语音片段和增强的文本数据从属于同 一个源句子,同一个句子的语音分割片段和文本增强数据可以采用随机对应的关 系,使之组成多模态数据。
17.本发明进一步的设置为:在步骤(3)中,所述的多模态卷积神经网络模型 结构包括用于处理文本模态特征的bert编码器,用于处理语音模态特征卷积神 经网络编码器,以及计算两者对于判断结果重要性(置信度),并将文本和语音 编码器处理结果相结合得出识别结果的多模态融合层。
18.本发明进一步的设置为:所述处理文本模态特征的bert编码器,其主体结 构由12个transformer模块组成,每个transformer模块都具有encoder层和 decoder层,具体bert编码器的处理流程如下:
19.1.1)文本输入:多模态数据中的文本数据作为bert编码器的输入,对于输 入的句子bert编码器先用专门的标记器(tokenizer)来标记(tokenize)序列, 标记器其实就是先对句子进行基于规则的标记化(tokenization),再进行子词 分割(subword segmentation)。对于不同长度的输入句子,bert编码器采用 固定输入序列(长则截断,短则填充)的方式来统一长度,然后在序列最开始添 加[cls]标记,以及在每句话末尾添加[sep]标记。分割完后,每一个空格分割的 子字符串(substring)都看成一个标记(token),标记器通过查表将这些标记 映射成整数编码,最后整个序列由四种类型的编码向量表示;
[0020]
1.2)嵌入层:该层使用word2vec将序列的离散编码表示转换成连续分布式 表示;
[0021]
1.3)编码器:编码器对嵌入层输出的隐状态进行非线性表示,提取出其中 的特征(feature),它是由n个结构相同(超参数相同)但参数不同(不共享 参数)的隐藏层串连构成的。隐藏层包括全连接层、激活函数、多头自注意力、 跳跃连接。bert编码器使用的激活函数为tanh、softmax和gelu。bert编码器 的每个隐藏层中有两个跳跃连接,作用是防止神经网络梯度消失或梯度爆炸,使 损失曲面更平滑,从而使模型更容易训练,使神经网络可以设置得更深;
[0022]
1.4)池化层:池化层是将[cls]标记对应的表示取出来,并做一定的变换, 作为整个序列的表示并返回,以及原封不动地返回所有的标记表示;
[0023]
1.5)全连接层:池化层的输出作为全连接层的输入中,全连接层的尺寸为 768*number,其中number为超参数,表示数据库中情绪的总类数;
[0024]
本发明进一步的设置为:所述的处理语音模态特征卷积神经网络编码器结构 由6个卷积层、2个池化层、一个注意力层组成。卷积神经网络编码器处理流程 如下:
[0025]
2.1)语音输入:对多模态数据中的语音数据进行mfcc特征提取,首先,我 们使用长度为2048、跃点长度为512的汉宁窗口对音频信号执行短期傅立叶变 换(stft),并获得音频信号的功率谱图。然后,我们使用mel滤波器将谱图映 射到melscale,并获取日志以获得对数mel谱图。最后,我们使用离散余弦变 换(dct)来获得mfcc。
[0026]
2.2)多重卷积:语音提取的mfcc特征,最先被输入到两个平行的卷积层 conv1a和conv1b中,其内核的大小为(10,2)和(2,8),以提取水平(交 叉时间)和垂直(交叉mfcc)纹理。随后,将水平和垂直纹理的张量沿第一维 度拼接形成一个新的张量流。这个新的张量流将被输入四个连续的卷积层中,其 中,前两个卷积层之后分别跟随一个尺寸为2*2的池化层,用来控制整个编码器 的过拟合现象。最终,连续卷积层生成一个80通道的表示输出。
[0027]
2.3)多头注意力层:多重卷积输出的80通道表示作为注意力层的输入,设 这个输入为x
cnn
,通过计算:
[0028]
k=wk*x
cnn
,q=wq*x
cnn
,v=wv*x
cnn
[0029]
x
attn
=soft max(kq
t
)v
[0030]
这里的x
attn
是x
cnn
的注意力图,wk、wq、wv是可训练参数。随后,我们设为第i个x
attn
,i∈(0,n
head
],其中n
head
为超参数,表示多头注意力的头数, 一般设置为8,我们将头部叠加以获得具有多个注意力点的注意力图x
mattn

[0031][0032]
2.4)全连接层:注意力层的输出x
mattn
作为全连接层的输入,将被输入一 个尺寸为attention_hidden*number的全连接层中,attention_hidden为超参 数,表示注意力层的输出宽度。
[0033]
本发明进一步的设置为:所述的多模态融合层具体的结构和方法如下:
[0034]
设文本和语音模态的编码器的输出为t和s,利用多元回归模型,可得预测 结果为:
[0035]
y=β0 β1*s β2*t ε
[0036]
其中,β0为随机常数值,作用是使得y的值总不为0。ε为误差项,表示除 语音或文本以外的任何内容对预测的情感结果的影响。β1是语音模态的置信度, 表示语音模态编码器的输出s对实际情绪标签的表现力;β2是文本模态的置信度, 表示文本模态编码器的输出t对实际情绪标签的表现力。
[0037]
本发明进一步的设置为:所述的文本模态和语音模态置信度计算过程如下:
[0038]
使用相关性重要分析来计算不同模态矩阵的置信度,它通常用于从数学上研 究多元回归问题中解释变量对被解释变量的贡献。具体来说,通过计算语音编码 器输出s和文本编码器输出t对线性回归中确定系数r2的贡献。
[0039]
[0040]
事实上,r2贡献程度也反映了y中所有决定因素(s、t、ε)对其的贡献。 通过在y中剔除变量s或t,可以得到其余决定因素对预测结果的影响:
[0041][0042]
其中是只考虑语音模态时预测结果上语音模态的置信度,是只考虑文本 模态时预测结果上文本模态的置信度,ε
*
依旧是误差项。通过计算r2(y1)和 r2(y2)得到剔除某一模态时,其余影响因子对预测结果的贡献程度。通过计算:
[0043][0044]
得到文本模态和语音模态对预测结果的实际贡献值,m1是语音模态对预测 的实际贡献值,m2是文本模态对预测的实际贡献值。最后,将m1和m2使用 softmax进行归一化处理,得到文本模态和语音模态的置信度β1和β2:
[0045]
β1,β2=soft max(m1,m2)
[0046]
有益效果
[0047]
采用本发明提供的技术方案,与已知的公有技术相比,具有如下有益效果:
[0048]
(1)本发明可以精确地识别说话人的情绪类别,识别的平均准确率在80% 以上,弥补了目前ai情绪识别领域识别方式单一的情况,并且识别的准确性较 好。
[0049]
(2)本发明识别方法操作简单,用户仅需收集说话人的语音信息和文本信 息,将文本信息和语音信息输入多模态模型中,无需苛刻的使用条件,也不需要 专门的录取设备,使用手机即可收集所需信息。
[0050]
(3)本发明识别速度较快,用户将多模态数据后,仅需等待10s左右,即 可获得说话人情绪的识别结果,不需要漫长的等待。
附图说明
[0051]
图1为本发明所提供的情绪识别方法的流程图;
[0052]
图2为本发明所提供的情绪识别方法的模型结构图;
[0053]
图3为本发明实施例中的模态置信度计算示意图;
[0054]
图4为本发明中多模态模型训练过程示意图。
具体实施方式
[0055]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述;显然,所描述的实施例仅仅是本发明一部分实施例,而不是全 部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳 动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056]
实施例:
[0057]
如图1所示,本发明提供一种基于文本和语音置信度的多模态情绪识别模型 与方法,该模型采用深度学习模型,处理语音模态特征卷积神经网络编码器各层 具体参数以表1为例,处理文本模态特征的bert编码器的具体参数以表2为例, 全连接层的具体参数以表3为例。
[0058]
名称参数设置卷积层1输入通道=1,输出通道=8,步长=1,卷积核=(10x2),填充=(4,0)卷积层2输入通道=1,输出通道=8,步长=1,卷积核=(2x8),填充=(0,3)卷积层3输入通道=16,输出通道=32,步长=1,卷积核=(3x3),填充=1卷积层4输入通道=32,输出通道=48,步长=1,卷积核=(3x3),填充=1卷积层5输入通道=48,输出通道=64,步长=1,卷积核=(3x3),填充=1卷积层6输入通道=64,输出通道=80,步长=1,卷积核=(3x3),填充=1池化层1窗口大小(kernel_size)=2*2池化层2窗口大小(kernel_size)=2*2注意力层注意力头数=8,输出通道=256
[0059]
表1
[0060][0061][0062]
表2
[0063]
名称参数设置全连接层1输入尺寸=768,输出尺寸=情绪种类数量全连接层2输入尺寸=256,输出尺寸=情绪种类数量
[0064]
表3
[0065]
请参照图1所示,本发明提供了一种基于文本和语音置信度的多模态情绪识 别模型与方法,包括以下步骤:
[0066]
(1)文本和语音数据采集:选择几位不同说话人,两两进行对话,使用录 音设备录取对话的音频,且记录对话的文本内容,使用音频剪辑软件将长对话的 音频文件按每句话剪切为句子的音频文件,为每一个句子的音频和文本数据标识 情绪标签,每一个句子的音频、文本数据组成一个多模态数据,每一类情绪采集 n个多模态数据。
[0067]
进一步的,采集多模态数据时,同一个句子的文本和语音数据必须一一对应 且情绪标签相同。
[0068]
在本步骤中,可以采用手机录取说话人的音频数据,采用excel记录说话人 的文本数据,并在excel中记录每句话对应的音频文件,记录音频时应该避免刻 意在嘈杂的环境中。
[0069]
(2)文本和语音数据处理:对任一情绪标签的n个多模态数据中的音频部 分进行音频分割,记录分割个数,并将文本部分采用数据增强处理,每一个多模 态数据中的文本数据增强数量与音频分割个事一一对应。通过音频分割和文本数 据增强,获取该情绪的多模态数据库。
[0070]
进一步的,语音分割的方法为:
[0071]
每个句子的音频数据被分割为若干个时长2秒的片段,相邻片段之间具有1 秒的重叠,每个片段具有与该句子相同的情绪标签,并记录该句子音频的片段数, 即分割个数;音频时长不足2秒的句子,对其进行零填充,使其时长达到2秒, 并记录分割个数为1。
[0072]
更进一步的,文本数据增强是对文本进行同义词替换、随机插入、随机删除 和回译中的一种或多种操作,并且每一个句子文本的数据增强数量,必须保持和 该句子语音分割个数相同。
[0073]
更进一步的,多模态数据库为分割的语音数据和增强的文本数据组成,其中 分割的语音片段和增强的文本数据从属于同一个源句子,同一个句子的语音分割 片段和文本增强数据可以采用随机对应的关系,使之组成多模态数据。
[0074]
在本步骤中,需要说明的是,同义词替换可以采用随机方法,随机选择一句 话中的几个单词进行同义词替换,随机插入和随机删除需要避免改动句子中对情 感表达有直接相关的单词(如:兴高采烈、happy等)进行操作,回译应选择一种 语言作为中间语言(如:中文

英文

中文)。
[0075]
(3)训练基于文本和语音的多模态情绪级识别模型:对各种已知情绪的多 模态数据分别执行步骤(1)-步骤(2)的操作,获得相应情绪的多模态数据库, 将各样本情绪标签与对应的多模态数据库输入基于文本和语音置信度机制的多 模态卷积神经网络模型进行训练,根据文本和语音模态置信度,多模态卷积神经 网络模型会选择更加相信文本模态的判断或语音部分的判断。
[0076]
进一步的,如图2所示,所述的多模态卷积神经网络模型结构包括用于处理文本模态特 征的bert编码器,用于处理语音模态特征卷积神经网络编码器,以及计算两者对于判断结果 重要性(置信度),并将文本和语音编码器处理结果相结合得出识别结果的多模态融合层。
[0077]
进一步,文本模态bert编码器其主体结构由12个transformer模块组成, 每个transformer模块都具有encoder层和decoder层,具体bert编码器的处 理流程如下:
[0078]
1.1)文本输入:多模态数据中的文本数据作为bert编码器的输入,对于输 入的句子bert编码器先用专门的标记器(tokenizer)来标记(tokenize)序列, 标记器其实就是先对句子进行基于规则的标记化(tokenization),再进行子词 分割(subword segmentation)。对于不同长度的输入句子,bert编码器采用 固定输入序列(长则截断,短则填充)的方式来统一长度,然后在序列最开始添 加[cls]标记,以及在每句话末尾添加[sep]标记。分割完后,每一个空格分割的 子字符串(substring)都看成一个标记(token),标记器通过查表将这些标记 映射成整数编码,最后整个序列由四种类型的编码向量表示。
[0079]
1.2)嵌入层:该层使用word2vec将序列的离散编码表示转换成连续分布式 表示。
[0080]
1.3)编码器:编码器对嵌入层输出的隐状态进行非线性表示,提取出其中 的特征(feature),它是由n个结构相同(超参数相同)但参数不同(不共享 参数)的隐藏层串连构成的。隐藏层包括全连接层、激活函数、多头自注意力、 跳跃连接。bert编码器使用的激活函数为tanh、softmax和gelu。bert编码器 的每个隐藏层中有两个跳跃连接,作用是防止神经网络梯度消失或梯度爆炸,使 损失曲面更平滑,从而使模型更容易训练,使神经网络可以设置得更深。
[0081]
1.4)池化层:池化层是将[cls]标记对应的表示取出来,并做一定的变换, 作为整
个序列的表示并返回,以及原封不动地返回所有的标记表示。
[0082]
1.5)全连接层:池化层的输出作为全连接层的输入中,全连接层的尺寸为 768*number,其中number为超参数,表示数据库中情绪的总类数。
[0083]
更进一步,语音模态特征卷积神经网络编码器结构由6个卷积层、2个池化 层、一个注意力层组成。卷积神经网络编码器处理流程如下:
[0084]
2.1)语音输入:对多模态数据中的语音数据进行mfcc特征提取,首先,我 们使用长度为2048、跃点长度为512的汉宁窗口对音频信号执行短期傅立叶变 换(stft),并获得音频信号的功率谱图。然后,我们使用mel滤波器将谱图映 射到melscale,并获取日志以获得对数mel谱图。最后,我们使用离散余弦变 换(dct)来获得mfcc。
[0085]
2.2)多重卷积:语音提取的mfcc特征,最先被输入到两个平行的卷积层 conv1a和conv1b中,其内核的大小为(10,2)和(2,8),以提取水平(交 叉时间)和垂直(交叉mfcc)纹理。随后,将水平和垂直纹理的张量沿第一维 度拼接形成一个新的张量流。这个新的张量流将被输入四个连续的卷积层中,其 中,前两个卷积层之后分别跟随一个尺寸为2*2的池化层,用来控制整个编码器 的过拟合现象。最终,连续卷积层生成一个80通道的表示输出。
[0086]
2.3)多头注意力层:多重卷积输出的80通道表示作为注意力层的输入,设 这个输入为x
cnn
,通过计算:
[0087]
k=wk*x
cnn
,q=wq*x
cnn
,v=wv*x
cnn
[0088]
x
attn
=soft max(kq
t
)v
[0089]
这里的x
attn
是x
cnn
的注意力图,wk、wq、wv是可训练参数。随后,我们设为第i个x
attn
,i∈(0,n
head
],其中n
head
为超参数,表示多头注意力的头数, 一般设置为8,我们将头部叠加以获得具有多个注意力点的注意力图x
mattn

[0090][0091]
2.4)全连接层:注意力层的输出x
mattn
作为全连接层的输入,将被输入一 个尺寸为batch_size*number的全连接层中,batch_size为超参数,表示每批 次训练的数据量。
[0092]
更进一步,多模态融合层具体的结构和方法如下:
[0093]
设文本和语音模态的编码器的输出为t和s,利用多元回归模型,可得预测 结果为:
[0094]
y=β0 β1*s β2*t ε
[0095]
其中,β0为随机常数值,作用是使得y的值总不为0。ε为误差项,表示除 语音或文本以外的任何内容对预测的情感结果的影响。β1是语音模态的置信度, 表示语音模态编码器的输出s对实际情绪标签的表现力;β2是文本模态的置信度, 表示文本模态编码器的输出t对实际情绪标签的表现力。
[0096]
更进一步,文本模态和语音模态置信度计算过程如下:
[0097]
使用相关性重要分析来计算不同模态矩阵的置信度,它通常用于从数学上研 究多元回归问题中解释变量对被解释变量的贡献。具体来说,通过计算语音编码 器输出s和文本编码器输出t对线性回归中确定系数r2的贡献。
[0098]
[0099]
事实上,r2贡献程度也反映了y中所有决定因素(s、t、ε)对其的贡献。 通过在y中剔除变量s或t,可以得到其余决定因素对预测结果的影响:
[0100][0101]
其中是只考虑语音模态时预测结果上语音模态的置信度,是只考虑文本 模态时预测结果上文本模态的置信度,ε
*
依旧是误差项。通过计算r2(y1)和 r2(y2)得到剔除某一模态时,其余影响因子对预测结果的贡献程度。通过计算:
[0102][0103]
得到文本模态和语音模态对预测结果的实际贡献值,m1是语音模态对预测 的实际贡献值,m2是文本模态对预测的实际贡献值。最后,将m1和m2使用 softmax进行归一化处理,得到文本模态和语音模态的置信度β1和β2:
[0104]
β1,β2=softmax(m1,m2)
[0105]
(4)基于文本和语音的多模态情绪识别:采集待识别句子的音频数据和文 本数据,组成多模态数据,输入至多模态情绪识别模型,获取该句子的识别结果;
[0106]
本发明本可以精确地识别说话人的情绪类别,在4种不同的语言情绪上进行 了测试,识别的平均准确率在80%以上,弥补了目前ai情绪识别领域识别方式 单一的情况,并且识别的准确性较好,用户将文本和语音数据上传后,仅需等待 10s左右,即可获得说话人情绪的识别结果,不需要漫长的等待。
[0107]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实 施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以 对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同 替换;而这些修改或者替换,并不会使相应技术方案的本质脱离本发明各实施例 技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献