一种基于增强注意力机制的多模态情感识别方法与流程

    专利2022-07-08  109


    本发明属于情感计算的技术领域,特别是涉及一种基于增强注意力机制的多模态情感识别方法。



    背景技术:

    早在1995年,情感计算概念就已经被提出,情感计算旨在赋予机器类人的观察、理解和表达各种情感的能力。近年来,我们虽然在图像处理、语音识别、自然语音理解上取得了极大的进展,但是距离建立一个高度和谐的人机交互环境还有着不可逾越的鸿沟。对人类复杂的情感表达进行建模非常具有挑战性,但这也是人机交互最基本问题亟待解决。

    随着社交网络的持续发展,人们表达情感的形式也愈发多元,传统单一的情感识别模型,如仅仅使用语音信号的时域、频域以及相关联特性,已经不足以鉴别复杂的情感信息。而多模态情感识别,如在语音信号中,加入文本信息、面部表情后,可以传达出更加丰富的情感,捕获更多可能蕴含在语音之中的信息。因此,构建一种可融合多种模态信息的情感识别系统对改善和提升信息时代的人机交互环境具有巨大的意义。

    在多模态的情感识别上已经有了一定的研究,但是绝大多数的多模态情感识别都遵循统一的框架,他们通过构建不同的子模型来捕获不同模态的数据的情感特性,再通过融合该特性对应到最终的情感类别上去。这样的做法保留了不同模态间的独立性,在实验阶段可以互不影响的对多个模态同步进行研究,但是却忽略了不同模态之间的关联性。比如语音和文本信号,就具有天然的对齐特性。本发明,通过利用局部对齐与全局连接的建模思想来捕获不同模态间的依赖性,融合模态间的互补信息,有效的提升了情感识别的效果,解决了模态间交互的问题。



    技术实现要素:

    为了解决多模态情感识别中模态间交互的问题,本发明提出了一种基于增强注意力机制的多模态情感识别方法,其具体技术方案如下。

    一种基于增强注意力机制的多模态情感识别方法,设有语音编码层、文本编码层、局部对齐层、全局连接层和预测识别层,具体包括如下步骤:

    步骤一:在语音编码层,对语音信息提取fbank声学特征,再通过多头注意力机制对其fbank声学特征进行编码,得到语音信号的编码矩阵;在文本编码层,对文本信息通过预训练的bert模型将文本中的每个字符转化为对应的向量表示,从而得到整个文本信息的编码矩阵;

    步骤二:在局部对齐层,将语音与文本的编码矩阵分别进行点乘,得到语音与文本、文本与语音的对齐矩阵,再将此对齐矩阵通过与原有模态编码信息进行校准,得到更多的局部交互信息,最后将各模态的编码信息、语义对齐矩阵、交互信息作为特征进行拼接得到各模态的特征矩阵;

    步骤三:在全局连接层,使用多头注意力机制对语音特征矩阵、文本特征矩阵进行聚合;

    步骤四:在预测识别层,通过注意力机制将聚合后的特征矩阵转化为向量表示;将语音与文本的向量表示进行拼接,组合成一个融合语音信息与文本信息的特征向量,使用全连接网络得到最终的情感分类结果。

    进一步的,所述步骤一对语音信息提取fbank声学特征具体包括:

    将语音信号进行通过一个高通滤波器进行预加重处理;

    将预加重处理后的信号,进行分帧处理,再将每一帧乘以汉明窗,提升每一帧的起始位置和结束位置的连续性;

    使用快速傅立叶变换将时域上的时序信号转化到频域上的能力分布;

    频域上的能量分布在每个频带范围都有所不同,通过对频谱信号取模再平方得到语音信号的谱线能量;

    将能量谱通过一组mel刻度的三角形滤波器,以平滑频谱、消除部分谐波并突出共振峰;

    对mel滤波得到的特征矩阵取对数,对纵轴进行放缩,得到更具能量差异性的特征表示。

    进一步的,所述语音信号设置固定分帧为100帧,以帧长20ms,帧移10ms为间隔,在mel滤波上设置为200维度,通过对多余部分截断、不足补零填充,对每个音频信号提取转化为(100,200)的fbank声学特征表示矩阵,具体为:

    使用多头注意力机制来对语音信号的序列结构进行建模,其公式表示如下:

    其中,表示语音数据fbank特征,通过多头注意力函数,语音信号的每个fbank特征都会与其余特征进行selfattention计算,首先,对于给定特征进行线性变换:

    其中,wiq,wik,wiv都是可以训练的参数,i∈[1,...8]表示其所属的注意力头,每个多头注意力的计算都会将线性变换后的矩阵分割为8个相同维度大小的矩阵;

    然后,使用缩放点积对每个注意力头进行相似度计算,该计算得到的每个fbank声学特征与其余特征之间的概率分布:

    其中,dk表示矩阵ki的维度,对qi与ki的点击,使用ki维度的根号值进行缩放,将多个注意力头的输出矩阵进行拼接可以得到语音信号的全局特征:

    head=concat(head1,...head8)

    最后通过层次标准化的方式,对全局特征进行横行规范,加快收敛的速度,同时一定程度的缓解过拟合。

    进一步的,所述步骤一对于文本信息编码的流程具体包括:

    将每条文本信息数据的起始位置添加上“cls”标签、结尾位置加上“sep”标签,并通过预训练的bert词汇表将此文本信息转化为数值索引序列;

    将数值化的索引序列按最大文本长度为100进行分割,对于不足最大文本长度的文本信息的使用零进行填充,对于超出最大文本长度的文本信息按最大文本长度进行截断,得到固定长度的序列向量;

    对100个数值化索引向量进行遮盖处理,并记录非零部分信息;具体的,对每个文本信息的数值化序列以是否为零进行区分,得到遮盖信息,将为数值化为零的序列遮盖住,保留非零的信息;

    每条文本信息被转化为了固定长度为100的数值化索引以及遮盖信息,再通过预训练bert模型的词嵌入矩阵将数值化的索引信息转化为文本表征矩阵;

    所述预训练的bert模型对每个单词的词向量表示维度为768,对于每个文本信息,文本表征矩阵通过预训练bert的编码单元进行编码得到(100,768)形状大小的文本信息的编码矩阵。

    进一步的,所述bert模型为roberta-base,通过将预处理后的文本信息数值化表示序列通过roberta的词嵌入矩阵转化为(100,768)大小的词表征矩阵,该矩阵的参数由roberta-base预训练任务训练而来,再通过12层的带预训练参数的transformerencoder组成的网络结构得到对每个文本信息的编码矩阵,预训练的词嵌入矩阵是静态的词向量模型,通过上游带参数的网络动态识别文本信息中的语义、语境,进一步提升对每个字符的表示能力。

    进一步的,所述步骤二实现了对语音信号和文本信息的局部语义对齐,具体包括:

    将语言信号的fbank声学特征,使用全局连接层映射到与bert词向量相同维度,即:使用768维度的向量来表示每一个fbank声学特征,其公式如下:

    s=relu(ws b)

    其中,w和b为网络训练的参数,s为语音信号的fbank特征,relu为线性整流激活函数;

    通过全局连接层映射得到声学特征编码矩阵[s1,s2...s100],接着将其与bert模型得到的文本编码矩阵[t1,t2...t100]进行局部的语义对齐,使用注意力机制来表示每个语音特征与文本单词的关联性,其公式表示如下:

    其中,si表示一个声学特征编码向量,tj表示一个文本字符的编码向量,αij表示声学特征si和文本tj之间的相关语义,使用软注意力系数来计算每个声学特征中与之相关的文本单词,并通过注意力系数加权求和,来得到文本编码矩阵对声学特征的语义对齐矩阵,其公式表示如下:

    其中,注意力系数由关联性矩阵通过softmax计算得到,s’i是每个文本单词的与注意力系数的加权求和,对于文本单词,也从声学特征矩阵找到与之相关的特征,并通过注意力系数加权求和来进行表示,其公式表示如下:

    进一步增加模态间的交互信息,计算s与s’、t与t’的对位元素积和对位差值,并将其与原本模态编码信息、对齐信息进行拼接,得到最终的特征矩阵,其公式表示如下:

    其中,表示的是元素对位相乘,“-”表示的是简单的向量差值。

    进一步的,所述步骤三具体为使用基于多头注意力机制的全局连接层对语音特征矩阵、文本特征矩阵进行聚合,其中,所述的多头注意力机制为:

    multihead(q,k,v)=concat(head1,head2,...headh)·w0

    其中,q,k,v值为语音信号的fbank声学特征表示经过全连接映射到768维度的编码矩阵;

    对语音进行特征提取的多头注意力输入矩阵q,k,v为aligns,对文本进行特征提取的多头注意力输入矩阵q,k,v为alignt,h表示注意力的头数,headi表示selfattention计算,其公式表示为:

    其中,query,key,value是selfattention的三个输入矩阵,由所述q、k、v矩阵通过线性变化得来,dk表示矩阵query的列数;

    所述多头注意力最终得到的语音、文本聚合信息,其公式表示为:

    aggs=multihead(aligns,aligns,aligns)

    aggt=multihead(alignt,alignt,alignt)

    则经过局部语义对齐增强后的语音、文本特征矩阵:

    aggres=multiheadattention(aligns,aligns,aligns),i∈[1,...100]

    aggret=multihradattention(alignt,alignt,alignt),i∈[1,...100]。

    进一步的,所述步骤四具体包括:

    所述的注意力机制为:

    其中s表示语音信号,首先通过一个线性层对多头注意力的输出进行变换,然后使用softmax计算出每个语音信号特征的重要性,最后通过对多头注意力的输出按注意力系数进行加权求和得到整个语音信号的向量表示,同理得到文本数据的向量表示vt,将语音信号的向量与文本数据的向量进行拼接,组合成一个融合语音信息与文本信息的特征向量,然后使用全连接网络将其对应到最终的情感类别上来,所述融合语音信息与文本信息的特征向量的表达式为:

    v=[vs,vt]

    prob=softmax(wv b)

    本发明,通过利用局部对齐与全局连接的建模思想来捕获不同模态间的依赖性,融合模态间的互补信息,有效的提升了情感识别的效果,解决了模态间交互的问题,具体的具有以下有益效果:

    1、本发明是一种多模态的情感识别方法,相较于传统单一模态的情感识别,可以捕获更多模态内隐藏的情感信息和模态间的相互影响,有效的提升的情感识别的准确率。

    2、本发明在文本信息编码中使用到预训练语言模型bert,解决了小样本训练过程中容易过拟合的问题,同时bert在提供静态词向量的基础上还提供了上游的基于多头注意力机制的网络架构和参数来进行微调,这个过程解决了文本数据中一词多意的问题。

    3、本发明不同于传统决策级的融合,使用的是特征级的融合策略,将通对多头注意力编码过的语音信号和bert编码过后的文本信息局部对齐,捕获到不同模态间交互信息以及不同模态间的相互影响。

    附图说明

    图1是本发明实施例中所描述的基于增强注意力机制的多模态情感识别方法流程示意图;

    图2是本发明实施例中所描述的语音数据fbank特征提取示意图;

    图3是本发明实施例中所描述的基于增强注意力机制的多模态情感识别方法框架示意图;

    图4是本发明实施例中所描述的多头注意力机制信息的流动方式示意图;

    图5是本发明实施例中所描述的模态间对齐部分信息的流动方式示意图。

    具体实施方式

    为了使本发明的目的、技术方案和技术效果更加清楚明白,以下结合实施例和说明书附图,对本发明作进一步详细说明。

    如图1所示,本发明的基于增强注意力机制的多模态情感识别方法,包括如下步骤:

    步骤一:对语音信息提取fbank声学特征,再通过多头注意力机制对其fbank声学特征进行编码,得到语音信号的编码矩阵;对文本信息通过预训练的bert模型将文本中的每个字符转化为对应的向量表示,从而得到整个文本信息的编码矩阵;

    步骤二:将语音与文本的编码矩阵分别进行点乘,得到语音与文本、文本与语音的对齐矩阵,再将此对齐矩阵通过与原有模态编码信息进行校准,得到更多的局部交互信息,最后将各模态的编码信息、语义对齐矩阵、交互信息作为特征进行拼接得到各模态的特征矩阵;

    步骤三:使用多头注意力机制对语音特征矩阵、文本特征矩阵进行聚合;

    步骤四:再通过注意力机制将聚合后的特征矩阵转化为向量表示;将语音与文本的向量表示进行拼接,组合成一个融合语音信息与文本信息的特征向量,使用全连接网络得到最终的情感分类结果。

    其中,对语音信息提取fbank声学特征,包含对语音使用高通滤波器进行预加重,以帧长20ms,帧移10ms为间隔进行分帧,再使用汉明窗进行加窗处理,即:将每一帧乘以汉明窗,提升每一帧的起始位置和结束位置的连续性;使用快速傅立叶变换将时域上的时序信号转化到频域上的能力分布;频域上的能量分布再每个频带范围都有所不同,通过对频谱信号取模再平方得到语音信号的谱线能量;将能量谱通过一组mel刻度为200维度的三角形滤波器,以平滑频谱、消除部分谐波并突出共振峰;对mel滤波得到的特征矩阵取对数,对纵轴进行放缩,得到更具能量差异性的特征表示。本发明对语音信号设置固定分帧为100帧,通过对多余部分截断、不足补零填充,最后每个音频信号都可以提取转化为(100,200)的固定特征表示矩阵。

    对于文本信息,预处理的流程包含:将每条文本数据的起始位置添加上“cls”标签、结尾位置加上“sep”标签,并通过预训练的bert词汇表将此文本信息转化为数值索引序列;将数值化的索引序列按最大文本长度进行分割,对于不足最大文本长度的文本信息的使用零进行填充,对于超出最大文本长度的文本信息按最大文本长度进行截断,得到固定长度的序列向量;其中本发明设置的最大文本长度为100,对100个数值化索引向量进行遮盖处理,并记录非零部分信息,具体来说,我们对每个文本信息的数值化序列以是否为零进行区分,以此得到遮盖信息,将为数值化为零的序列遮盖住,保留非零的信息,这样在计算过程中可以避免无关字符对最终情感分类的影响;每条文本信息被转化为了固定长度为100的数值化索引以及遮盖信息,再通过预训练bert模型的词嵌入矩阵将数值化的索引信息转化为文本表征矩阵,由于预训练的bert模型对每个单词的词向量表示维度为768,对于每个文本信息,文本表征矩阵通过预训练bert的编码单元进行编码得到(100,768)形状大小的文本信息的编码矩阵。

    如图3所示,本发明的一种基于增强注意力机制的多模态情感识别方法的框架由以下几个部分组成:语音编码层、文本编码层、局部对齐层、全局连接层、预测识别层,下面将对本发明的各个组成部分进行详细的描述:

    (1)语音编码层

    语音数据通过预处理得到(100,200)的fbank特征矩阵,本发明使用多头注意力机制来对语音信号的序列结构进行建模,其公式表示如下:

    其中,表示语音数据fbank特征,通过多头注意力函数,语音信号的每个fbank特征都会与其余特征进行selfattention计算,其具体数据的流动方式如图4所示。

    首先,对于给定特征进行线性变换:

    其中,wiq,wik,wiv都是可以训练的参数,i∈[1,...8]表示其所属的注意力头,本发明设置注意力头数为8,即每个多头注意力的计算都会将线性变换后的矩阵分割为8个相同维度大小的矩阵。

    然后,使用缩放点积对每个注意力头进行相似度计算,该计算得到的每个fbank声学特征与其余特征之间的概率分布:

    其中,dk表示矩阵ki的维度,对qi与ki的点击,使用ki维度的根号值进行缩放。将多个注意力头的输出矩阵进行拼接可以得到语音信号的全局特征:

    head=concat(head1,...head8)

    最后通过层次标准化的方式,对全局特征进行横行规范,加快收敛的速度,同时一定程度的缓解过拟合。

    (2)文本编码层

    本发明使用预训练的bert模型对预处理后的文本信息进行编码,具体来说,本发明使用的bert模型为roberta-base。通过将预处理后的文本信息数值化表示序列通过roberta的词嵌入矩阵转化为(100,768)大小的词表征矩阵,该矩阵的参数由roberta-base预训练任务训练而来。接着,通过12层的带预训练参数的transformerencoder组成的网络结构得到对每个文本信息的编码矩阵。预训练的词嵌入矩阵是静态的词向量模型,通过上游带参数的网络可以动态识别文本信息中的语义、语境,进一步提升对每个字符的表示能力。

    (3)局部对齐层

    本发明使用局部对齐网络,来研究不同模态间的相互影响,局部对齐网络的如图5所示。对于多模态的情感识别任务,不同模态间往往具有天然的对齐特性,比如语音和文本信息。

    将语言信号的fbank声学特征,使用全局连接层映射到与bert词向量相同维度,即:使用768维度的向量来表示每一个fbank声学特征,其公式如下:

    s=relu(ws b)

    其中,w和b为网络训练的参数,s为语音信号的fbank特征,relu为线性整流激活函数;

    通过全局连接层映射得到声学特征编码矩阵[s1,s2...s100],接着将其与bert模型得到的文本编码矩阵[t1,t2...t100]进行局部的语义对齐,使用注意力机制来表示每个语音特征与文本单词的关联性,其公式表示如下:

    其中,si表示一个声学特征编码向量,tj表示一个文本字符的编码向量,αij表示声学特征si在文本tj的相关联语义,βji为文本tj在声学特征si中的相关联语义。我们使用软注意力系数来计算每个声学特征中与之相关的文本单词,并通过注意力系数加权求和,来得到文本编码矩阵对声学特征的语义对齐矩阵,其公式表示如下:

    其中,注意力系数由关联性矩阵通过softmax计算得到,s′i是每个文本单词的与注意力系数的加权求和。同样对于文本单词我们也从声学特征矩阵找到与之相关的特征,并通过注意力系数加权求和来进行表示。其公式表示如下:

    为了进一步增加模态间的交互信息,我们计算了s与s’、t与t’的对位元素积和对位差值,并将其与原本模态编码信息、对齐信息进行拼接,得到最终的特征矩阵,其公式表示如下:

    其中,表示的是元素对位相乘,“-”表示的是简单的向量差值。

    (4)全局连接层

    为了得到文本与语音的全局语义对齐关系,本发明使用基于多头注意力机制的全局连接层对局部对齐特性进行聚合。全局连接层的多头注意力计算公式如步骤一中对语音信号进行编码的多头注意力机制一致,所述的多头注意力机制为:

    multihead(q,k,v)=concat(head1,head2,...headh)·w0

    其中,步骤一所述多头注意力的输入矩阵q,k,v值为语音信号的fbank声学特征表示经过全连接映射到768维度的编码矩阵,步骤三对语音进行特征提取的多头注意力输入矩阵q,k,v为aligns,同样,步骤三对文本进行特征提取的多头注意力输入矩阵q,k,v为alignt,h表示注意力的头数,headi表示selfattention计算,其公式表示为:

    其中,query,key,value是selfattention的三个输入矩阵,由前面提到的q、k、v矩阵通过线性变化得来,dk表示矩阵query的列数。

    步骤三所述多头注意力最终得到得到的语音、文本聚合信息,其公式表示为:

    aggs=multihead(aligns,aligns,aligns)

    aggt=multihead(alignt,alignt,alignt)

    与之不同的是,在这里使用多头注意力机制计算的是经过局部语义对齐增强后的语音、文本特征矩阵:

    aggres=multiheadattention(aligns,aligns,aligns),i∈[1,...l00]

    aggret=multiheadattention(alignt,alignt,alignt),i∈[1,...l00]

    增强的局部对齐特征align因为考虑了模态自身、模态语义对齐特征以及元素对位乘法与元素差值等特征,横向增加了4倍的编码矩阵维度,为了控制全局连接层的复杂度,使用一个全连接网络和relu激活函数将align对应到模态自身的维度上来-768维度。

    (5)预测识别层

    对于多头注意力聚合后的特征网络,本发明使用注意力机制得到单个模态的全局表征向量,对于语音信号的注意力计算公式如下:

    其中s表示语音信号,首先通过一个线性层对多头注意力的输出进行变换,然后使用softmax计算出每个语音信号特征的重要性,最后通过对多头注意力的输出按注意力系数进行加权求和得到整个语音信号的向量表示;

    同理,可以得到文本信息的向量表示vt,将语音信号的向量与文本数据的向量进行拼接,组合成一个融合语音信息与文本信息的特征向量,然后使用全连接网络将其对应到最终的情感类别上来,所述融合语音信息与文本信息的特征向量的表达式为:

    v=[vs,vt]

    prob=softmax(wv b)

    本发明在iemocap多模态开源数据集上进行了验证,实现结果如下表所示:

    从表中的数据可以看出,本发明提出的多模态情感识别相较于单模态的情感识别模型在加权准确率和非加权准确率上都有了很大程度的提升。另外,在对比传统决策级融合的多模态情感识别模型,本发明提出的基于局部特征对齐与全局连接的增强注意力网络得到的指标皆优于对比模型。

    最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。


    技术特征:

    1.一种基于增强注意力机制的多模态情感识别方法,设有语音编码层、文本编码层、局部对齐层、全局连接层和预测识别层,其特征在于,具体包括如下步骤:

    步骤一:在语音编码层,对语音信息提取fbank声学特征,再通过多头注意力机制对其fbank声学特征进行编码,得到语音信号的编码矩阵;在文本编码层,对文本信息通过预训练的bert模型将文本中的每个字符转化为对应的向量表示,从而得到整个文本信息的编码矩阵;

    步骤二:在局部对齐层,将语音与文本的编码矩阵分别进行点乘,得到语音与文本、文本与语音的对齐矩阵,再将此对齐矩阵通过与原有模态编码信息进行校准,得到更多的局部交互信息,最后将各模态的编码信息、语义对齐矩阵、交互信息作为特征进行拼接得到各模态的特征矩阵;

    步骤三:在全局连接层,使用多头注意力机制对语音特征矩阵、文本特征矩阵进行聚合;

    步骤四:在预测识别层,通过注意力机制将聚合后的特征矩阵转化为向量表示;将语音与文本的向量表示进行拼接,组合成一个融合语音信息与文本信息的特征向量,使用全连接网络得到最终的情感分类结果。

    2.如权利要求1所述的一种基于增强注意力机制的多模态情感识别方法,其特征在于,所述步骤一对语音信息提取fbank声学特征具体包括:

    将语音信号进行通过一个高通滤波器进行预加重处理;

    将预加重处理后的信号,进行分帧处理,再将每一帧乘以汉明窗,提升每一帧的起始位置和结束位置的连续性;

    使用快速傅立叶变换将时域上的时序信号转化到频域上的能力分布;

    频域上的能量分布在每个频带范围都有所不同,通过对频谱信号取模再平方得到语音信号的谱线能量;

    将能量谱通过一组mel刻度的三角形滤波器,以平滑频谱、消除部分谐波并突出共振峰;

    对mel滤波得到的特征矩阵取对数,对纵轴进行放缩,得到更具能量差异性的特征表示。

    3.如权利要求2所述的一种基于增强注意力机制的多模态情感识别方法,其特征在于,所述语音信号设置固定分帧为100帧,以帧长20ms,帧移10ms为间隔,在mel滤波上设置为200维度,通过对多余部分截断、不足补零填充,对每个音频信号提取转化为(100,200)的fbank声学特征表示矩阵,具体为:

    使用多头注意力机制来对语音信号的序列结构进行建模,其公式表示如下:

    其中,表示语音数据fbank特征,通过多头注意力函数,语音信号的每个fbank特征都会与其余特征进行selfattention计算,首先,对于给定特征进行线性变换:

    其中,wiq,wik,wiv都是可以训练的参数,i∈[1,...8]表示其所属的注意力头,每个多头注意力的计算都会将线性变换后的矩阵分割为8个相同维度大小的矩阵;

    然后,使用缩放点积对每个注意力头进行相似度计算,该计算得到的每个fbank声学特征与其余特征之间的概率分布:

    其中,dk表示矩阵ki的维度,对qi与ki的点击,使用ki维度的根号值进行缩放,将多个注意力头的输出矩阵进行拼接可以得到语音信号的全局特征:

    head=concat(head1,...head8)

    最后通过层次标准化的方式,对全局特征进行横行规范,加快收敛的速度,同时一定程度的缓解过拟合。

    4.如权利要求1所述的一种基于增强注意力机制的多模态情感识别方法,其特征在于,所述步骤一对于文本信息编码的流程具体包括:

    将每条文本信息数据的起始位置添加上“cls”标签、结尾位置加上“sep”标签,并通过预训练的bert词汇表将此文本信息转化为数值索引序列;

    将数值化的索引序列按最大文本长度为100进行分割,对于不足最大文本长度的文本信息的使用零进行填充,对于超出最大文本长度的文本信息按最大文本长度进行截断,得到固定长度的序列向量;

    对100个数值化索引向量进行遮盖处理,并记录非零部分信息;具体的,对每个文本信息的数值化序列以是否为零进行区分,得到遮盖信息,将为数值化为零的序列遮盖住,保留非零的信息;

    每条文本信息被转化为了固定长度为100的数值化索引以及遮盖信息,再通过预训练bert模型的词嵌入矩阵将数值化的索引信息转化为文本表征矩阵;

    所述预训练的bert模型对每个单词的词向量表示维度为768,对于每个文本信息,文本表征矩阵通过预训练bert的编码单元进行编码得到(100,768)形状大小的文本信息的编码矩阵。

    5.如权利要求4所述的一种基于增强注意力机制的多模态情感识别方法,其特征在于,所述bert模型为roberta-base,通过将预处理后的文本信息数值化表示序列通过roberta的词嵌入矩阵转化为(100,768)大小的词表征矩阵,该矩阵的参数由roberta-base预训练任务训练而来,再通过12层的带预训练参数的transformerencoder组成的网络结构得到对每个文本信息的编码矩阵,预训练的词嵌入矩阵是静态的词向量模型,通过上游带参数的网络动态识别文本信息中的语义、语境,进一步提升对每个字符的表示能力。

    6.如权利要求4所述的一种基于增强注意力机制的多模态情感识别方法,其特征在于,所述步骤二实现了对语音信号和文本信息的局部语义对齐,具体包括:

    将语言信号的fbank声学特征,使用全局连接层映射到与bert词向量相同维度,即:使用768维度的向量来表示每一个fbank声学特征,其公式如下:

    s=relu(ws b)

    其中,w和b为网络训练的参数,s为语音信号的fbank特征,relu为线性整流激活函数;

    通过全局连接层映射得到声学特征编码矩阵[s1,s2...s100],接着将其与bert模型得到的文本编码矩阵[t1,t2...t100]进行局部的语义对齐,使用注意力机制来表示每个语音特征与文本单词的关联性,其公式表示如下:

    其中,si表示一个声学特征编码向量,tj表示一个文本字符的编码向量,αij表示声学特征si和文本tj之间的相关语义,使用软注意力系数来计算每个声学特征中与之相关的文本单词,并通过注意力系数加权求和,来得到文本编码矩阵对声学特征的语义对齐矩阵,其公式表示如下:

    其中,注意力系数由关联性矩阵通过softmax计算得到,si’是每个文本单词的与注意力系数的加权求和,对于文本单词,也从声学特征矩阵找到与之相关的特征,并通过注意力系数加权求和来进行表示,其公式表示如下:

    进一步增加模态间的交互信息,计算s与s’、t与t’的对位元素积和对位差值,并将其与原本模态编码信息、对齐信息进行拼接,得到最终的特征矩阵,其公式表示如下:

    其中,表示的是元素对位相乘,“-”表示的是简单的向量差值。

    7.如权利要求6所述的一种基于增强注意力机制的多模态情感识别方法,其特征在于,所述步骤三具体为使用基于多头注意力机制的全局连接层对语音特征矩阵、文本特征矩阵进行聚合,其中,所述多头注意力机制为:

    multihead(q,k,v)=concat(head1,head2,...headh)·w0

    其中,q,k,v值为语音信号的fbank声学特征表示经过全连接映射到768维度的编码矩阵;

    对语音进行特征提取的多头注意力输入矩阵q,k,v为aligns,对文本进行特征提取的多头注意力输入矩阵q,k,v为alignt,h表示注意力的头数,headi表示selfattention计算,其公式表示为:

    headi=attention(qwiq,kwik,vwiv)

    其中,query,key,value是selfattention的三个输入矩阵,由所述q、k、v矩阵通过线性变化得来,dk表示矩阵query的列数;

    所述多头注意力最终得到的语音、文本聚合信息,其公式表示为:

    aggs=multihead(aligns,aligns,aligns)

    aggt=multihead(alignt,alignt,alignt)

    则经过局部语义对齐增强后的语音、文本特征矩阵:

    aggres=multiheadattention(aligns,aligns,aligns),i∈[1,...100]

    aggret=multiheadattention(alignt,alignt,alignt),i∈[1,...100]。

    8.如权利要求7所述的一种基于增强注意力机制的多模态情感识别方法,其特征在于,所述步骤四具体包括:

    所述的注意力机制为:

    其中s表示语音信号,首先通过一个线性层对多头注意力的输出进行变换,然后使用softmax计算出每个语音信号特征的重要性,最后通过对多头注意力的输出按注意力系数进行加权求和得到整个语音信号的向量表示,同理得到文本数据的向量表示vt,将语音信号的向量与文本数据的向量进行拼接,组合成一个融合语音信息与文本信息的特征向量,然后使用全连接网络将其对应到最终的情感类别上来,所述融合语音信息与文本信息的特征向量的表达式为:

    v=[vs,vt]

    prob=softmax(wv b)。

    技术总结
    本发明属于情感计算的技术领域,涉及一种基于增强注意力机制的多模态情感识别方法,通过多头注意力机制得到语音编码矩阵和预训练的BERT模型得到文本编码矩阵;将语音与文本的编码矩阵分别进行点乘,得到语音与文本相互的对齐矩阵,再将此对齐矩阵通过与原有模态编码信息进行校准,得到更多的局部交互信息,最后将各模态的编码信息、语义对齐矩阵、交互信息作为特征进行拼接得到各模态的特征矩阵;使用多头注意力机制对语音特征矩阵、文本特征矩阵进行聚合;经注意力机制将聚合后的特征矩阵转化为向量表示;将语音与文本的向量表示进行拼接,使用全连接网络得到最终的情感分类结果。本发明解决了多模态间交互的问题,提升了多模态情感识别的准确率。

    技术研发人员:林菲;刘盛强
    受保护的技术使用者:杭州电子科技大学
    技术研发日:2020.12.03
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-14619.html

    最新回复(0)