陈小敏 许华虎 方迪恺 肖俊生
(上海大学计算机工程与科学学院 上海 200444)
随着互联网技术的不断发展,各种社交平台蓬勃兴起,越来越多的互联网用户在微博、Twitter、豆瓣等社交网站上分享生活经历并参与讨论社会热点事件,社交网络成为人们表达意见的重要平台,从而产生了海量数据。对这些海量媒体数据进行有效的情感分析不仅对政府部门监控舆情,企业机构改进产品服务、定制营销策略、预测市场趋势具有重要作用,还有助于自动问答系统的个性化定制[1]。如何精准地开展情感分析成为当前学术界和工业界的迫切需求。
传统的情感分析工作主要集中于文本,然而社交媒体用户越来越多地使用额外的图像来表达观点并分享经验,由于图像包含更加丰富和直观的内容,所以有时相比文本更能准确表达用户的情感倾向,因此可以考虑结合图像和文本进行跨模态情感分析来弥补单模态情感分析的不足。
文本情感分类方法主要分为两种:基于情感词典的方法和基于机器学习的方法[2]。基于情感词典的方法原理为将要分类的文本与情感词典中的内容进行匹配,找到与情感词典中文本内容一致的情感词,以确定文本的情感极性。陈国兰[3]基于在线开源情感词典和微博文本的语义规则,提出了微博文本的情感分类方法,对微博文本情感分类具有良好的适应性。李晨等[4]分析了新闻类文体的结构,并按段落划分新闻类文本,采用一种基于情感词典和语义规则特点相结合的情感关键句提取方法,对段落中句子进行情感分析并取得了良好的效果。基于情感词典的方案虽然操作简单,但由于语种繁多且语义多样,因此需要消耗大量人力物力来构建情感词典,同时基于情感词典的方法还依赖手工设计与先验知识,适用范围较窄。基于机器学习的方法首先采集一个一定规模的训练数据集,由人工或半人工方式对数据集中文本样本进行情感标注,然后提取文本特征并将其输入到机器学习模型中进行训练。Pang等[5]使用三种机器学习方法朴素贝叶斯、最大熵和支持向量机对IMDB影评进行情感分类,得到了不错的分类效果。Sharma等[6]将支持向量机作为基础弱分类器,利用集成技术整合多个“弱”分类器,研究结果表明集成分类器在准确率上明显优于单一的SVM分类器。唐晓波等[7]构建了基于AdaBoost集成技术和旋进原则的回归SVM情感分类模型,不仅提高了主观文本标注准确率,还实现了文本情感强度阈值的可视化。近年来,随着深度学习在众多领域中获得关注,越来越多的学者开始使用深度学习方法进行情感分类。Kim[8]第一次使用简单的单层卷积神经网络做文本情感分类,并与多个模型进行对比,取得了较好的实验结果。Dong等[9]基于循环神经网络解决了句子中评价对象的情感极性判别问题。
图像情感分析的研究起步较晚,其情感分类方法大致分为三种:基于情感检测,基于视觉情感本体和基于深度学习[2]。Amencherla等[10]通过心理学理论中色彩与情感的相关性对图像中的色彩进行检测,用于图像情感分析。Borth等[11]为了弥补图像的低级特征和图像所反映出的情感特征之间的差距,提出了基于视觉情感本体的图像中层特征表示法。You等[12]提出基于卷积神经网络的图像情感分类方法,并且指出传统的通过提取图像低层特征和构造中层属性的方法并不能高度抽象图像,因此情感分类效果不如深度学习方法。
跨模态情感分类研究近几年才受到大家的关注,相关研究较少,所以取得的成果相对较少。You等[12]提出了一种跨模态一致性回归模型用于图文融合情感分类。蔡国永等[13]则利用卷积神经网络分别对文本和图像进行情感预测,然后再将两者结果进行后期融合,取得了较好的分类效果。针对前人跨模态情感分类研究中图文特征表示忽略了重要特征的情感信息这一问题,本文提出一种基于注意力机制的TAI-CNN(Text And Image-Convolutional Neural Networks)跨模态情感分类方法,并在图文特征融合上采用最大值后期融合策略。
词嵌入即词向量,也就是将文本用向量来表示。本文采用谷歌开源工具Word2vec并运用基于CBOW模型的方法训练语料获得文本词向量,CBOW模型示意图如图1所示。词向量W可以将语料中的词语映射到实数维向量空间中,指定词向量空间为ψ,那么它的大小为|ψ|×m,其中ψ中的每一行表示一个词语的m维词向量,|ψ|表示词语数。对于语料库中的一条文本,可以表示为:
(t1,t2,…,tn)
(1)
式中:n是文本的词语数;ti是文本中第i个词语(1≤i≤n)。
图1 CBOW模型示意图
一条文本可以用词向量矩阵来表示,在ψ中搜索ti对应的词向量,若搜索到将之记为zi,否则记为零向量。在找到每个单词对应的词向量后,将这些向量堆叠为一个向量矩阵Z,其大小为m×n,Z中的每一行代表该文本中的一个词语,表示为:
(t1,t2,…,tn)→(z1,z2,…,zn)
(2)
卷积神经网络是一种前馈神经网络,最初为解决图像识别问题而设计,现在已广泛应用于人脸识别、语音识别、语音分类、字符识别等领域。图2是经典的卷积神经网络LeNet-5的模型示意图。可以看出卷积神经网络一般由输入层、卷积层、池化层、全连接层、输出层组成。
图2 LeNet-5结构示意图
输入层的作用是对原始数据进行预处理,包括去均值、归一化、PCA降维和白化等;卷积层是卷积神经网络的核心层,其目的是对输入数据进行特征提取,通常通过使用多个卷积核来执行卷积运算以获得多个特征映射;池化层又称为降采样层,池化是在卷积层特征提取的基础上,对每个卷积层提取的特征取平均值或最大值,取平均值时称为均值池化,取最大值时称为最大池化,通过池化操作可以大大减少卷积特征维数,降低过拟合;全连接层通常放在卷积神经网络的尾部,与前一层所有神经元进行连接,目的是将提取的局部特征汇合成全局特征作为最终分类器的输入。相对于传统神经网络来说,卷积神经网络有五个显著的优势[14]:(1) 局部感知, 由于局部区域中的信息联系往往比较紧密,而距离较远的区域相关性较弱,因而神经网络只需要对不同位置的局部区域进行感知,并将这些局部区域的信息汇合成全局信息即可;(2) 权值共享,也称为参数共享,即局部的特性可以扩展到全局,也就是各局部使用相同的学习特征进行学习,从而通过减少神经网络的参数个数来降低算法的复杂度;(3) 多卷积核, 可以通过添加多个卷积核来学习多种特征,保证了特征提取的充分性;(4) 特征分类,即只提取同一局部最有用的特征值,从而完成特征分类;(5) 多层卷积,单层卷积往往只能学到局部特征,通过增加卷积层可以获得全局特征。
根据对人类视觉的研究,专家学者提出了注意力机制(Attention Mechanism,AM),其核心目标是从众多信息中选择出对当前任务更重要的信息,其策略是对重要的信息分配更多的注意力,而对其他内容分配较少的注意力[15]。在图文跨模态情感分类中,除需要提取文本和图像的特征外,还要考虑到哪些部分对情感分类的贡献更大,对情感分类贡献更高的部分应当赋予更高的权重,因此本文引入了注意力机制。注意力机制模型如图3所示。通过式(3)可以生成注意力权重vt,然后通过softmax函数将生成的注意力权重概率化为概率向量 ,如式(4)所示,最后按式(5)配置注意力权重。
vt=tanh(ht)
(3)
(4)
(5)
式中:ht代表神经网络输出的初始权重;tanh是注意力学习函数。
图3 注意力机制模型图
本文提出的TAI-CNN情感分类方法框架如图4所示,模型主要包含4个阶段:数据预处理,特征提取,特征融合,情感分类。首先预处理文本和图像,将文本表示为统一维度的低维稠密词向量形式;然后分别通过TCNN(Text Convolutional Neural Networks)和ICNN(Image Convolutional Neural Networks)提取文本和图像特征;接着通过注意力机制优化特征权重分布,将优化后的文本和图像特征输入训练好的分类器得到各自的预分类结果;最后选择最大值的融合策略进行图文决策级融合得到最终的分类结果。
图4 情感分类框架
对于文本情感分类部分,本文采用基于CNN的TCNN模型,如图5所示,该模型由3个卷积层(conv1-conv3),2个最大池化层(pool1,pool2),2个全连接层(fc1,fc2)组成,为了防止过拟合,全连接层fc1加入了Dropout 技术,同时为了给重要特征分配更大的权重,在全连接后使用了注意力机制。
图5 文本情感分类模型
在进入文本情感分类模型TCNN之前,需要构建文本向量矩阵,本文使用2.1节介绍的词嵌入技术来构建文本矩阵作为TCNN的输入。TCNN用卷积层来提取文本特征,每个卷积层都包含多个卷积核,如式(6)所示。
ci=f(wc×xi+bc)
(6)
(7)
由于VGGNet具有较好的可移植性,并且能够有效地提取图像特征,因此本文基于对VGGNet的优化来构建ICNN模型,ICNN模型如图6所示。与VGGNet相比ICNN减少了两个全连接层,并在预分类前加入了注意力机制,这样能够大大降低模型复杂度,加快收敛速度。ICNN模型以维度为Rc×w×h的原始图片作为输入,其中:c代表图片的通道数;w代表图片宽度;h代表图片高度。与TCNN一样,ICNN同样通过卷积层提取图像特征并通过池化层降维,然后通过全连接层获得全局特征,最后使用注意力机制将结果传递至Softmax进行分类。
图6 图像情感分类模型
在跨模态情感分类中,特征融合策略的选择将直接影响最终的分类效果,合适的融合策略将使各模态的信息达到最大限度的互补,常见的多模态情感分类特征融合策略有两种:特征级融合和决策级融合。特征级融合将多个模态的特征按照一定的方法构建成一个组合特征向量,决策级融合对各个模态的预分类结果进行判决,从而得出最终的分类结果。相比特征级融合,决策级融合往往表现出更佳的性能[21],且最大值融合策略通过对比各预分类器的结果能够找到概率最大的分类类别,因此本文采用最大值决策级融合策略来实现图文特征融合,如式(8)所示。
(8)
式中:s代表分类器的个数;k代表类别数;pi,j(x)代表第i个分类器将x预测到类别j的概率。因为本文提出的模型属于二分类模型且只有两个分类器,所以s和k的值均为2。
本文采用的数据集是由You等[12]构建的图文情感数据集。You等使用正面和负面情绪的关键字列表来查询Getty图像,并使用这些关键字的情感标签标记所有返回的图像。通过这种方式,收集到超过50万幅弱标签图像及其相应的图像描述。为了得到更好的训练,本文去除数据集中图像描述太短(小于20字符)或太长(大于50字符)以及图像分辨率过低(小于256×256)的数据得到约为20万的新的数据集,并将数据集随机划分,其中80%用于训练,20%用于测试,数据分布情况如表1所示。
表1 数据集分布
本实验使用开源深度学习框架TensorFlow来构建整个模型,具体实验环境信息如表2所示。
表2 实验环境
实验分别采用第3节提出的TCNN和ICNN对文本和图像进行预分类。在文本分类之前,本实验采用分词工具jieba分词对文本做切分词处理,分词之后以哈工大停用词表为基准去除停用词,之后利用Word2vec训练词向量,本文将词向量维度设置为100,训练好词向量之后创建文本矩阵。为了获得更多的文本局部特征,本文采用大小为5×5步长为1的卷积核64个,并使用ReLU作为激活函数对卷积后的特征做非线性处理,同时采用大小为2×2步长为2的最大池化做降采样。为了防止过拟合,本文在第一个全连接层加入了Dropout正则,并将keep_prop比率设置为0.5。训练时损失函数采用交叉熵,优化器选用Adam,并将学习率设置为0.01,最后使用大小为50的mini-batch,共进行20 000次迭代。对于图像情感分类,本文采用VGGNet的超参数设置,即卷积核都使用3×3的大小,步长设置为1,池化都使用大小为2×2、步长为2的最大池化,同样使用ReLU激活函数,为防止过拟合对特征权重加上L2正则化,正则比率设置为0.000 5。这里使用的卷积核数量为128个,优化器选择梯度下降并初始化学习率为0.01,损失函数仍采用交叉熵,mini-batch设置为50,共进行20 000次迭代。本实验超参数设置均为调优之后的结果。
为了验证本文提出的图文跨模态情感分类模型的有效性,将其与另外5种情感分类模型进行了对比实验:TCNN,ICNN,未加注意力机制的TCNN,未加注意力机制的ICNN,未加注意力机制的TAI-CNN。
实验采用准确率、召回率和F值作为评价指标,通过随机划分训练集和测试集的方式,进行了10次实验,取10次实验的平均值作为最终的结果,如表3所示。
表3 对比实验结果
可以看出,TAI-CNN模型的准确率、召回率和F值都比TCNN和ICNN高,这说明图像和文本表达的情感信息具有互补性,通过图文跨模态融合可以有效地利用这种互补性,提高情感分类的准确率。加入注意力机制后模型的准确率、召回率和F值都有所提升,这说明注意力机制确实可以优化特征权重分布,从而优化模型性能。与此同时,可以明显地看出,ICNN要比TCNN具有更好的分类效果,这是因为ICNN比TCNN网络层数深,可以更有效地提取特征,这提示可以通过加深TCNN网络深度来优化TAI-CNN模型。
本文对情感分类相关工作进行了研究,针对图像和文本单独做情感分类时存在不足且在特征提取时忽略重要特征的情感信息等问题,提出一种基于注意力机制的TAI-CNN跨模态情感分类方法,采用最大决策级融合策略,在所构建的数据集上进行实验,验证了该模型的有效性。
情感分类是一个极具价值的研究方向,虽然本文提出的图文融合情感分类模型相对单模态情感分类模型来说提高了准确性,但还远远没有达到实际应用的要求,模型仍需要优化。同时跨模态融合不应只局限于图像和文本,与视频、音频等进行融合的情感分类是个值得研究的方向。