基于标签嵌入的多模态多标签情感识别算法*

2022-08-23 06:49张信明
网络安全与数据管理 2022年7期
关键词:模态语义向量

张 超,张信明

(中国科学技术大学 大数据学院,安徽 合肥 230026)

0 引言

随着互联网与社交媒体的不断发展,越来越多的人使用包含文本、语音、图像在内的多模态数据在社交媒体上表达自己的看法或观点。海量的多模态数据中蕴含着丰富的情感信息,对多模态数据进行情感分析有利于了解人们对某些事件的态度和看法,在舆论监控、商品推荐、股市预测等方面具有很大的应用价值。此外,近年来的研究表明,与单模态情感识别模型相比,多模态模型在处理社交媒体数据时具有更强的鲁棒性,并在识别准确率方面取得了显著的改进[1]。不同的模态信息可能暗含着不同的情绪,如图1所示,可能从文本信息中只能推断出厌恶的情绪,而从视觉和语音的组合信息中推断出悲伤和生气的情绪,因此必须充分融合来自不同模态的信息才能准确识别出多模态数据中的情感信息。

图1 多模态多标签情感识别样本实例

尽管目前多模态情感分析在模型性能方面已经取得了较好的效果,但是仍然存在两个问题需要解决。第一个问题是情感识别在现实场景中通常是一个多标签分类问题,如何对标签依赖关系建模并使用标签信息是一项具有挑战性的任务。目前大多数工作将多标签分类问题转换为多个二分类问题,而忽视了标签之间的依赖性。另一个问题是异构模态信号之间的巨大语义差异,使得模态特征难以直接融合。

目前关于多模态情感分析的研究主要集中在设计高效的模态融合机制。Zadeh等[2]利用张量的外积来对不同模态之间的相互作用进行建模,Tsai等[3]提出了基于注意力的模型,使用跨模态注意力融合来自不同模态的信息。尽管这些模型在多模态情感识别任务中取得了良好的效果,但是忽略了模态特征之间的语义差异,影响了多模态特征融合的效果。Ju等[4]提出了基于序列生成的模型来解决多模态多标签情感识别问题,利用序列生成的方式对标签之间依赖关系建模,但是这种方法依赖于预先定义的标签顺序并且计算效率低。

本文提出了一种基于标签嵌入的多模态多标签情感识别算法,即使用标签嵌入向量对标签依赖性建模,使用模态不变表示来减少模态语义差异。首先,鉴于情感标签包含着丰富的信息,本文使用标签之间的共现信息来学习多模态情感标签嵌入。然后,使用CMD分布度量[5]限制不同模态特征的分布差距,获得模态不变表示,这种限制有助于缩小不同模态之间的语义差距,从而使用更简单的融合方法融合不同模态特征。最后,将所有的模态特征连接起来,利用学习到的标签嵌入和融合特征完成情感识别任务。

本文在一个公开的多模态多标签情感数据集CMU-MOSEI上进行了广泛的实验,以评估方法性能。实验结果表明,该方法能够有效地融合模态特征并且对标签依赖进行建模。本文主要贡献有:

(1)使用标签的共现信息来学习标签嵌入,用标签嵌入来表示标签依赖关系。

(2)考虑了模态特征之间的语义差距,通过在损失函数中添加对模态特征的约束来减小模态特征语义差距。

(3)MOSEI数据集的实验结果表明,该方法在多模态多标签情感识别任务上相较于现有方法,性能有明显提升。

1 相关工作

不同模态的情感信息之间往往具有互补性,有助于更全面、更准确识别出情感信息。多模态情感识别作为一个跨学科的研究领域,在自然语言处理和多模态领域都受到越来越多的关注。目前NLP领域里几乎所有关于多标签情感识别的研究都依赖于情感的特殊知识,例如跨域转移[6]和外部资源[7]。多模态领域里的相关研究通常集中在单标签多模态情感识别任务,而对多标签情感识别任务研究较少。下面分别介绍多模态情感识别与多标签情感识别相关工作。

1.1 多模态情感识别

近年来,多模态情感识别研究主要依赖于通过多模态融合框架对情感类别进行分类的方式。Zadeh等[2]提出了一种张量融合网络,通过张量的笛卡尔积将每个模态的特征表示结合起来,表现出显著的性能改进。然而,它受到张量笛卡尔积带来的计算复杂性指数增长的限制。为了提高多模态融合效率,Liu等[8]提出了低秩多模态融合方案,利用低阶张量进行多模态融合,减小了模态融合的计算量。随着注意力机制在NLP社区中取得显著的成功,许多研究试图将其用于多模态机器学习任务中。Tsai等[3]提出了多模态Transformer(MulT)结构,使用交叉模态注意力融合不同模态特征,关注不同时间步的多模态序列之间的相互作用,并潜在地将特征实现模态自适应迁移,在模态数据不对齐的条件下仍然可以高效融合模态特征。Hazarika等[9]提出了一种灵活的多模态学习框架,强调多模态表示学习是多模态融合的前导,为每种模态信号学习不同的表示,并使用注意力机制将不同表示融合到一个联合向量中。Mai等[10]提出了一种新的对抗式编解码分类器框架来学习模态不变的嵌入空间,通过使用对抗性训练将源模态的分布转换为目标模态的分布,以此来减小模态分布之间的差异,此外,通过引入重建损失和分类损失对嵌入空间施加了额外的约束。这种方法在多个数据集上实现了优异的性能。最近,基于Transformer的上下文词表示(包括BERT和XLNet)已经在NLP的多个领域中崭露头角,有学者尝试将预训练模型用于多模态情感分析任务中。Rahman等[11]提出了一个附加到BERT等预训练模型的多模态自适应门(MAG),允许BERT在微调期间接受多模态非语言数据,这种自适应门通过注意力机制将非文本模态信息注入到文本向量表示中,在多个数据集上表现出与人类水平相当的性能。

1.2 多标签情感识别

最近的研究通常将多标签情感识别任务视为一个分类问题,并利用特定知识作为辅助信息。Ando等[12]提出了一种主导情绪识别方法,该方法引入了判断情绪存在与否的新任务,称为多标签情绪存在(MLEE)任务,提出的方法采用两步训练策略。首先,训练MLEE任务来估计每个情绪是否存在。然后,利用MLEE任务的中间输出训练具有硬/软目标标签的主导情绪识别模型。Yang等[13]利用强化学习进行训练,其中奖励反馈的设计独立于标签顺序,可以减少模型对标签顺序的依赖,并捕获标签之间的高阶相关性,但其仍然依赖于预先训练的seq2seq模型,而这种模型的训练依赖标签顺序。Zhang等[14]提出一种多模态seq2set(MMS2S)方法来同时建模模态和标签依赖性,首先使用单模态编码器提取特征,然后用给定的情感表示控制不同模态特征对每个潜在情感标签预测的贡献,最后通过最大化top K序列预测所有潜在的情感标签。Ju等[4]提出了多模态情感集合生成网络,设计了一个基于变换器的区分解码模块,通过配备注意力来处理模态与标签的依赖,同时采用了一种带自评学习的增强解码算法来处理标签之间的依赖关系。文献[15]提出了一种异构层次消息传递网络,实现了对标签之间以及标签与模态之间依赖关系的有效建模。

2 多模态多标签情感识别模型

多模态多标签情感识别任务的模型——基于标签嵌入与模态不变表示的网络(Label Embedding and Modality-invariant Representations based Network,LEMRN)由两个阶段组成:标签嵌入训练阶段和模态特征融合训练阶段。前一阶段使用标签编码器网络训练所有标签的嵌入向量,后一阶段使用标签嵌入辅助进行模态融合。图2展示了提出的模型LEMRN的网络结构,下面从任务定义、标签嵌入表示和多模态特征融合三个部分来描述提出的方法。

图2 LEMRN网络模型结构

2.1 任务定义

首先,使用符号来定义多模态多标签情感识别任务。一条包含文本、语音、视频三种模态的数据可能同时和多个情感标签关联。记为多模态数据样本为情感标签,N表示样本数量。每个数据样本包括来自语言、视觉和语音3个模态的低级特征序列,然后定义具有L个情感标签的标签集合空间为L={emo1,emo1,…,emoL},每一个标签yi∈[0,1]L是L的一个子集,旨在为每一个数据样本分配一个合适的标签空间L的子集。多模态多标签情感识别任务可以形式化定义为最大化下述似然函数:

2.2 标签嵌入表示

不同标签之间的相关性在多标签任务中起着至关重要的作用。目前关于标签相关性的计算并没有统一的衡量标准,标签之间的共现信息可以用来模拟不同标签之间的相关性。标签之间的共现特性可以被抽象描述为联合概率,这适用于建模标签之间的关联关系。然而,联合概率容易受到类别不平衡的影响,可以利用标签之间的条件概率来解决这个问题,条件概率是通过将联合概率除以边际概率来规范化得到的。本文使用标签图来学习标签嵌入,并将学习到的标签嵌入作为附加信息输入到模态融合网络中。其中标签表示节点,标签之间的条件概率表示边权重,标签之间的条件概率越大,说明标签之间的关联性越强。

定义标签图为g=(V,C),其中顶点集合V={v1,v2,…,vn}代表标签集合,标签图中的边集合C定义标签之间的关联,标签图的邻接矩阵Ai,j设置为条件概率矩阵,其中Ai,j=P(vi|vj),标签之间的关联应该具有对称性,由于P(vi|vj)≠P(vj|vi),对邻接矩阵进一步处理使其成为对称矩阵:

为了学习标签嵌入,使用神经网络构建了学习器,利用标签的文本语义ei,使用Glove文本词向量初始化在多模态语义下的标签嵌入表示,然后将其通过学习器映射到一个多模态语义嵌入空间并产生目标嵌入词向量oi:

式中函数Φ()表示一个由两层全连接网络组成的神经网络,网络的目标是优化输出的标签嵌入向量oi,使得|cos(oi,oj)|接近损失函数定义为:

其中wi,j是松弛因子。在不添加松弛因子的情况下,损失函数要求所有的|cos(oi,oj)|必须充分接近

2.3 多模态特征融合

首先,对于每个模态信号的原始序列输入数据,使用Transformer网络的编码器来处理并获得向量表示。与传统的RNN网络、LSTM网络相比,Transformer网络更容易学习到句子之间的长距离依赖,因为其采用了多头自注意力机制,用序列中所有位置向量的加权和来代表每一个位置的向量。具体来说,对于每一种模态序列um∈RTm×dm,其中m∈{t,a,v},将其映射到潜在空间的模态向量:

然后,使用模态编码器将不同模态向量ht,ha和hv投影到公共子空间中。使用Trandformer网络编码器提取到的不同模态特征之间语义差距很大,难以直接融合,投影到公共子空间中有利于在相同的语义空间中进一步处理。模态编码器由多层感知器(MLP)和模态自适应门组成,首先使用MLP将模态向量映射到公共子空间:

将不同的模态向量投影到一个特殊的公共子空间之后,使用CMD函数[5]限制不同模态特征的分布差距,获得模态不变的特征表示。CMD函数度量两个分布之间的距离,相比于KL散度包含了高阶矩信息。CMD函数具体形式如下:

其中X,Y代表两个不同分布,[a,b]表示的是X,Y的 取 值 范 围,E(·)表 示 数 学 期 望,Ck(X)=E((X-E(X)k)表示分布X的k阶中心矩。计算每对模态向量的CMD度量,并将其添加到损失函数中,通过梯度训练减少模态间CMD度量,达到减小不同模态特征之间语义差距的效果,其计算公式为:

3 实验

3.1 实验设置

3.1.1 实验数据集

在本文实验中使用了现有最大的多模态多标签情感识别基准数据集CMU-MOSEI来评估提出的方法。该数据集由从YouTube视频中提取的22 856条带注释的话语组成,来自5 000个视频,1 000位不同的发言人和250个不同的主题。每个数据点包含有文本、视频和语音3种模态数据。对于原始的音频信号,使用声学分析框架COVAREP提取声学特征,包括梅尔倒谱系数特征(MFCC)、基频轨迹、浊音/清音分段特征、声门源参数、峰值斜率参数和最大色散商,提取到的声学特征维度是74。对于原始的视觉信号,使用Facet库提取特征,包括面部表情动作单元(FAU)、面部特征点、头部姿势、视线轨迹以及HOG特征,视觉特征的维度是35。情感标签共有6种,分别是快乐、悲伤、愤怒、恐惧、厌恶和惊讶。训练集包含16 326个样本,验证集包含1 871个样本,测试集包含4 659个样本。

3.1.2 评价指标

本文采用了3个评估指标来评价不同方法在多模态多标签情感识别任务上的性能,分别是多标签准确率、汉明损失(HL)、Micro-F1分数,三个评价指标的计算公式如下:

3.1.3 参数设置

本文在操作系统为Ubuntu18.04.5环境中进行实验,使用开源深度学习框架PyTorch。对于原始模态数据输入,文本数据维度dT是300,视觉数据维度dV与语音数据维度dA维度分别是35和74,模态特征隐藏层单元维度是50。本文使用3层Transformer网络的encoder来提取序列特征,在标签嵌入向量的训练过程中,使用预训练的Glove词向量初始化输入向量,使用Adam作为优化器,并使用5e-4作为初始学习率。此外,本文还使用了dropout正则化来避免过拟合,并使用LayerNorm和梯度裁剪来克服梯度消失和梯度爆炸。

3.1.4 对比模型

为了综合评估本文提出的方法的性能,本文在CMU-MOSEI数据集将本文模型与各种基线模型做比较。分别是:

(1)BR[16]:采用交叉训练的方法,将多标签任务转化为多个单标签二值分类问题。

(2)CC[17]:该算法将多标签任务转化为链式二元分类问题,沿着分类器链传递标签相关信息,该方法可以保持在可接受的计算复杂度内对标签相关性进行建模。

(3)LSAN[18]:利用标签语义信息来确定标签和文档之间的语义联系,从而构建特定于标签的文档表示。

(4)RAVEN[19]:对非语言子词序列的细粒度结构进行建模,并根据非语言线索动态转换单词表示。

(5)MulT[3]:使用基于Transformer的结构提取序列特征,使用交叉模态注意力融合不同模态特征。

(6)HHMPN[15]:使用异构的分层消息传递网络来有效地建模标签-标签依赖、特征-标签依赖和模态-标签依赖。

以上基线模型可以分为3组,前3种方法只考虑了标签依赖性,没有考虑模态依赖性,使用早期融合的方法融合不同模态特征;第4种与第5种方法只考虑了模态依赖性,融合了不同模态特征,但没有考虑标签依赖性;最后一种方法考虑了标签依赖性与模态依赖性。

3.2 实验结果与分析

根据CMU-MOSEI数据集上不同多模态多标签情感识别方法的结果显示(如表1所示),仅考虑标签依赖性的方法LSAN的准确率为0.393,仅考虑模态依赖性的方法MulT的准确率为0.445。与使用早期融合模态特征的多标签方法相比,本文提出的方法准确率可以达到0.465,多模态方法获得了更好的结果,分别比LSAN与MulT高7.2%与2%。与同时考虑模态依赖与标签依赖的方法HHMPN相比,本文提出的方法在准确率与汉明损失指标上取得了更好的效果。

在验证模型中标签嵌入和模态约束必要性的消融实验中,变体一LEMRN w/o M不添加模态约束,直接连接所有模态特征,变体二LEMRN w/o LE删除了标签嵌入,忽略标签的依赖关系。如表1所示,如果去除标签嵌入或模态约束,模型性能会明显降低,表明标签嵌入与模态约束是必要的。此外,移除标签嵌入导致模型性能下降得更加剧烈,说明了标签嵌入在模型中起到更关键的作用。

表1 模型在多模态多标签情感识别任务结果

为验证通过CMD函数添加的模态约束对模态特征的影响,分析了经过模态编码器编码的模态特征的分布,模态特征分布如图3所示。可以看到,在不添加模态约束的条件下,3种模态特征分布差异较大,添加模态约束之后模态特征分布趋于一致,证明提出的方法能够减小模态特征分布之间的差异,从而有利于更好地融合模态特征。

图3 模态特征分布箱线图

为进一步比较不同方法在多标签多模态情感识别任务上性能的差别,选取了两个样本来观察不同基准模型与LEMRN的预测结果,图4展示了3种模型在样本上的预测结果。从预测结果可以观察到,在两个样本中LSAN模型都无法预测出所有的标签,主要是因为模型没有充分融合模态特征,只采用了简单的早期融合策略;MulT模型能够准确预测出左边样本的所有标签,无法完整预测出右边样本标签,主要是因为模型没有考虑标签之间的依赖关系,只将多标签分类任务简单转化为多个二分类任务;本文提出的LEMRN模型能够准确预测出两个样本的所有标签,能够高效完成模态特征融合以及标签依赖性关系的建模。

图4 LSAN、MulT、LEMRN预测标签结果对比

4 结论

在多模态情感识别中,存在多标签场景下标签间依赖性表示不充分、模态特征之间语义差距过大等问题。本文提出了一种基于标签嵌入的多模态多标签情感识别算法,为了充分对标签之间依赖关系建模,利用标签条件概率训练标签嵌入向量,利用标签嵌入向量辅助多标签情感识别任务;为了减小模态特征之间的语义差距,引入CMD分布损失函数来约束模态特征分布。在CMU-MOSEI数据集上的详细实验结果表明,该方法能够对标签之间依赖关系有效建模,能够缓解模态特征之间语义差异大的问题,也因此能够在多标签多模态情感识别任务中取得更好的结果。

猜你喜欢
模态语义向量
真实场景水下语义分割方法及数据集
联合仿真在某车型LGF/PP尾门模态仿真上的应用
向量的分解
多模态超声监测DBD移植肾的临床应用
跨模态通信理论及关键技术初探
聚焦“向量与三角”创新题
向量垂直在解析几何中的应用
“吃+NP”的语义生成机制研究
向量五种“变身” 玩转圆锥曲线
汉语依凭介词的语义范畴