面向社交媒体的多模态属性级情感分析研究
每天给你送来NLP技术干货!
分享嘉宾:虞剑飞 南京理工大学 副教授
编辑整理:路人 复旦大学
出品平台:DataFunTalk
导读:随着社交网络的飞速发展,人们在以微博、Twitter为代表的社交平台上发表的内容逐渐趋于多模态化,比如用户常以图文并茂的方式来表达自己的态度和情感。因此,如何结合社交媒体上的图片、视频等富文本信息来分析用户的情感倾向给传统的单模态文本情感分析带来了新的挑战。一方面,不同于传统的文本情感分析,多模态情感分析需要利用不同网络结构对多种模态内容进行基于情感的表示学习。另一方面,相比于单一的文本数据,多模态数据包含了多种不同信息,这些信息之间往往一一对应、互为补充,如何对齐不同模态的内容并提出有效的多模态融合机制是一个十分棘手的问题。
本次分享题目为面向社交媒体的多模态属性级情感分析,将围绕多模态属性级情感分析中的这两个核心问题进行介绍,主要包括:
社交媒体分析的背景与发展趋势
多模态属性级情感分析任务划分与定义
相关研究工作
总结
将近10年前,社交媒体才刚刚兴起,社交媒体上的用户内容都是以纯文本为主。就以我们在Twitter上搜索 world cup 这个关键词为例,并把时间定在2006 年到 2007 年之间,检索出来的内容几乎都是以文本内容为主。但是把时间定在 2018 年到 2019 年之间,检索出来的用户发帖大多都是以图文并茂的方式呈现出来。
在2017年,对北美比较流行的社交媒体网站的月活跃用户数量进行了统计,图中横坐标是各大社交媒体网站,纵坐标是月活跃用户数量,单位是百万。我们可以看到前五位中有三个社交媒体网站(YouTube、Instagram、Snapchat)是图像或视频内容为主、文本内容为辅的多模态形式。而其中以纯文本的内容为主的传统社交媒体Facebook 和Twitter 也慢慢转变到了多模态形式上来。
一个研究团队对2015年的Twitter 用户推文进行了统计分析,发现约 42% 的用户推文包含至少一张图片。因此在日趋快速发展的网络时代,人们更加倾向于利用图文结合或视频的形式表达自己的观点和情绪,社交媒体内容的多模态性(文本、图片等)让传统的单模态情感分析方法面临许多局限,多模态情感分析技术对跨模态内容的理解与分析具有重大的理论价值。
情感分析是自然语言处理的一项核心任务,旨在识别对观点、情感和评价的情感极性。由于社交媒体信息具有多样性,为了提高针对社交媒体的情感分析的准确性,综合考虑文本和图像信息进行多模态情感分析具有重要意义,接下来看几个不同的多模态情感分析子任务。
首先来看第一个子任务,判断用户所表达情感倾向是正向、负向还是中立。如果只考虑纯文本内容“this is me after the Rihanna concert”,很难判断用户的真实情感。对于机器而言,大概率判断用户情感是中立。但是加入图片中的笑脸信息,我们可以轻松地判断用户表达了比较正面的情感。
第二个任务是虚假新闻检测。如果只看纯文本内容,意思是日本的富士山上有多层云,我们无法判断用户推文的真伪性。但当我们把图片信息加入,可以明显看出图片中的云是经过人为 PS 过的,从而轻松地判断出用户发帖内容是虚假的。
最后一个子任务叫做反讽识别,也称为讽刺检测。同样地,只以纯文本内容“what wonderful weather!”看,无法判断出用户对天气是否存在反讽的意思。但引入下雨的图片之后,文本内容和图片内容形成了鲜明的对比,因此用户其实在讽刺天气非常糟糕。
综上所述,社交媒体的不同多模态信息能够提供非常重要的线索,还会对提升子任务识别检测性能起到关键性的作用。因此与单模态相比,通过对社交媒体的数据进行多模态分析,有效地利用视觉信息和文本信息之间的关系及影响,不仅有利于学者准确地了解人们在现实世界中的生活态度与生活习惯,更能把握人们在医疗保健、政治话题、电视电影及线上购物等领域的选择。
02
多模态属性级情感分析任务划分与定义
针对上述背景,本节聚焦于多模态属性级情感分析任务,该任务主要包含三个子任务:多模态属性抽取/多模态命名实体识别、多模态属性情感分类任务、多模态属性情感联合抽取。
多模态属性抽取(MATE):给定一段多模态产品评论或者用户推文,抽取文本中提到的属性词。
多模态命名实体识别(MNER):进一步判断出抽取属性词的类别,利用图像来提高推文命名实体识别的准确性,类别是提前预定义的,如人名、地名等。
多模态属性情感分类任务(MASC):对每一个抽取的属性词进行情感分类。
多模态属性情感联合抽取(JMASA):旨在同时抽取属性词极其相对应的情感词(成对抽取),识别出所有的属性-情感词对。
多模态属性抽取这个子任务的目标是从多模态输入中抽取属性词。例如推文“The Yangtze is so amazing! ”加上一张配图,抽取出推文中的属性词是Yangtze。
接下来需进一步判断出属性词的类别是什么,比如人名类型、地名类型、机构名类型等,同样以长江这个例子来看,判断出Yangtze是一个地名类型的实体。
MASC子任务是对每一个抽取的属性词进行情感分类,以长江这个例子来判断用户表达的情感,单从文本内容“The Yangtze is so amazing!”,大概率会觉得用户表达了正面的情感,但是从配图中很多垃圾可以看出,用户其实在反讽长江的环境污染问题比较严重,对长江表达的是负面情感,也可以看出图像信息对于情感识别任务的重要性。
最后一个子任务是多模态属性情感联合抽取,旨在同时抽取多模态输入中的属性词和其所对应的情感。还是以长江这个例子来看,抽取结果是:[Yangtze, Negative]。
03
相关研究工作
接下来这部分主要介绍,近几年在多模态属性情感分析任务的代表性研究工作。
首先是社交媒体帖子的多模态命名实体识别(MNER),在 ACL 2020 上提出了一个 Unified Multimodal Transformer 的模型。
为什么提出这个模型?我们可以看一个例子,给定多模态用户推文“Kevin Durant enters Oracle Arena wearing off- White x Jordan”和配图,识别出Kevin Durant是一个人名类型的实体,Oracle Arena是一个地名类型的实体,Jordan是一个杂类类型的实体。实际上,在大多数社交媒体帖子中,相关图像往往只突出句子中的一两个实体,而没有提到其他实体。Kevin Durant可以从这个图片当中判断出是一个人名,但是Oracle Arena 在这个图片中没有得到任何体现,如果过分强调这个图片信息,会导致给图片当中没有出现的那部分实体带来一定的噪音,可能会导致实识别性能变差。这就是提出Unified Multimodal Transformer模型的一个重要动机。
图a是提出Unified Multimodal Transformer模型的总览的框架图,UMT的总体架构包含三个主要组件:
(1)单模态输入的表示学习
(2)用于MNER的多模态 Transformer
(3)具有辅助实体跨度检测(ESD)模块的统一结构
单模态输入的表示学习包含文本输入和图像输入。左下角表示文本输入,选取BERT作为句子编码器,每个输入句子插入两个特殊标记,[CLS]在开始,[SEP]在结尾。右下角表示图像输入端,选取CNN图像识别模型之一的ResNet作为图像编码器,提取输入图像在其深层中有意义的特征表示。右上方是用于MNER的多模态 Transformer,首先BERT编码器得到的C上添加一个标准Transformer层,以获得每个词的文本隐藏表示 R = (r0 , r1 , ... , rn+1),为捕获文本到图像以及图像到文本之间的双向交互,提出了一个多模态交互(MMI)模块来学习图像感知的词表示和每个词的词感知的视觉表示。
除此之外,为了缓解学习模型过分强调图像突出显示的实体而忽略剩余实体的偏差,附加了一个实体范围识别的任务作为auxiliary任务,即具有辅助实体跨度检测(ESD)模块的统一结构,使用纯文本的ESD来指导我们的主要任务MNER的最终预测。BERT编码器得到的C使用另一个Transformer层来获得其特定的隐藏表示T,然后将其送到CRF层,因为ESD与MNER这两个任务是高度相关的,每个ESD标签应该对应于MNER中的标签子集,引入一个转移矩阵来约束两边预测出来的实体位置保持一致。具体说,就是修改了MNER的CRF层,将实体跨度信息从ESD纳入MNER任务的预测中。
多模态交互(MMI)模块,使用统一的Transformer结构来进行多模态信息的交互。使用三个cross transformer分别获得图像指导的文本表示、文本指导的图像表示以及文本模态内部的交互表示,在两个模态信息交互的过程中通过一个Visual Gate动态控制两个模态之间的交互,为了合并词表示和视觉表示,将A和B连接起来,以获得最终的隐藏表示H;然后,将H送到标准CRF层,进行最终的序列标注任务。
在两个标准的 Twitter 数据集(Twitter15、Twitter17)进行了实验,其中倒数第二行是把Unified Multimodal Transformer模型左上角辅助任务去掉的结果,相较于之前的一些研究模型都有非常明显地提升,最后一行是Unified Multimodal Transformer模型的结果相较于没有辅助任务的结果大概有一个点的性能提升。
小结:
第一个提出使用统一的Transformer结构来进行多模态信息的交互。
提出基于文本的具有辅助实体跨度检测(ESD)模块。
在两个标准的 Twitter 数据集上都获得了较先进的结果。
为其他团队后来工作奠定了基础。
接下来,第二个是今年提出的一个从粗粒度到细粒度的图像和评价对象匹配的网络,在这篇文章中的多模态属性级情感分析任务具体是在给定评价对象的前提下,识别出用户对这个评价对象表达了什么样的情感,正面、负面还是中立?例如,在这个多模态推文中,提前给定了两个评价对象 Nancy 和 Salalah Tourism Festival,根据图文信息可以判断出用户对于 Nancy是正面的情感,而对于Salalah Tourism Festival表达了中立的情感。
为什么要做这个工作?对于这个多模态属性级情感分类而言,目前大部分的研究工作都没有对评价对象和图像的匹配关系进行显示的建模。根据对benchmark数据集的观察,发现其实大部分评价对象和图片之间是完全不相关的。例如,Nancy 作为输入的评价对象时,是和图片是相关的,同时图中笑脸在判断用户正向情感提供了重要的支撑。但对于Salalah Tourism Festival来说,图片中没有任何体现,因此这个评价对象和图片其实是不相关的。基于此发现,就对benchmark数据集进行了人工标注,从而发现约 58% 的评价对象和相应图片都是不相关的。
由于每张图片包含很多的对象,可以标注出不同区域框,例如之前图片当中,可以标注出 5 个比较明显的对象,用数字去标识。只有第一个框和评价对象 Nancy 是相关的,而其他的框都是完全无关的,第一个框中的笑脸信息可以帮助快速判断正向情感。因此对于那些和图片相关的评价对象,需要进一步判断图中哪个对象或区域和评价对象是相关的,否则会引入一些无关对象,给情感识别带来一定的噪音。
基于两个问题,对benchmark数据集进行了人工标注,它是一个小规模的Twitter数据集。具体流程是标注给定评价对象是否和对应图像相关,并进一步标注评价对象与图像中的哪一个区域相关,也把框标注出来。
根据统计,大概标注了1200个,从中发现用户对大部分和图片相关的评价对象表达的情感不是正向就是负向,很少表达中立的情感,而对那些和图像不相关的评价对象,都倾向于表达中立的情感。这也符合我们的直观感觉,图像一般都反映用户比较感兴趣的对象,而用户不感兴趣的对象一般都不会放到图像上。
基于这个数据集,设计了一个从粗粒度到细粒度的图像和评价对象的匹配网络。这是整个网络的架构图。
首先,分别使用文本编码器和图像编码器来对输入文本和图像进行编码。值得注意的是,给定了评价对象如Emily,需对文本输入进行一个特殊处理,把Emily作为第二个句子放最后,然后把原句中的Emily用一个特殊指令$T$来代替,就得到一个带有上下文和评价对象的文本输入。左边是图像输入,由于要判断图像中哪块区域与评价对象是相关的,使用了一个广泛使用的目标检测模型Faster R-CNN。
经过编码后,得到图像和文本的表示Hv与HT,送到左上角的 Cross-Model Transformer 进行交互,使用简单的二分类来判断粗粒度的图像和评价对象是否相关,再把概率乘回融合之后的图像表示上,如果不相关的话概率比较小,基本上会把图像信息过滤掉。
上一步得到的结果进一步送到中间模块进行细粒度的匹配,也就是评价对象和相关object 进行对齐模块。评价对象的表示和过滤后的图像表示送到另外一个Cross-Model Transformer进行多模态信息的交互,这时候利用人工标注的图片里对应的区域与Faster R-CNN提取出来的区域进行交并比计算,得到IOU Score,如果IOU Score 大于0.5,认为是一个有效的检测,否则属于无效的匹配,从而得到一个Ground Truth分布,作为监督信号。最后使用Cross-Model Transformer中的Cross-Model Attention的分布来逼近Ground Truth 分布,这样会使得与评价对象相关的区域Attention位置会比较大,而与评价对象不相关的区域Attention位置就会比较小。
最后可以得到经过多模态融合之后的表示,把它和原始的纯文本表示拼起来送到一个 Multimodal Transformer进行情感分类。
在Twitter 15 和 Twitter 17 的这两个标准数据集上进行了实验,可以发现此方法有非常显著地提升。还对TomBERT和CapBERT做了一些变形,并把辅助任务加到里面,做了一些探索实验,可以看到此方法相比于这些变形系统也有一个明显的提升。
下面是使用两个辅助任务的性能,一个是图文粗粒度匹配,另一个是细粒度的图像区域和评价对象的对齐。这两个任务我们提出的模型相比于基础方法都有较明显的性能提升。
小结:
人工标注了一个图像和评价对象匹配的数据集。
提出了一个新的图像和评价对象匹配模型,主要是一个从粗粒度到细粒度进行匹配的网络结构。
实验结果也表明这个模型取得了较先进的效果。
近些年,多模态情感分析任务(MABSA任务又叫做Target-Oriented Multimodal Sentiment Analysis 或 Entity-Based Multimodal Sentiment Analysis)发展迅猛。之前大多数MABSA研究存在以下不足:
采用单模态预训练模型来获得文本的表示和图像的表示,忽略两个模态之间的对齐和交互。
使用通用的预训练任务,和下游任务无相关性,不足以识别细粒度的属性、情感及其跨模态的对齐。
未能充分利用生成型模型。
为了解决这些不足,针对MABSA任务,我们在今年的 ACL 上提出了一个特定任务的视觉-文本(vision-language)预训练框架,这是一个通用的基于预训练的 BERT 模型的编码、解码框架,适用于所有的预训练和下游任务。此外,针对文本、视觉和多模态,分别设计了5个预训练任务:
MLM:类似BERT的做法,以15%的概率随机遮蔽输入文本的tokens,目标是基于图像和文本上下文预测出遮蔽的文本内容。
AOE:目标是根据文本生成出其中包含的所有aspect和opinion。模型需要输出一个序列,包含分隔符和终止符的token,以及每条aspect和每条opinion在原文本token序列中的位置编号。aspect的ground-truth采用的是NER工具对原文本提取出的所有实体,opinion的ground-truth采用的是SentiWordNet情感词典[4]对原文本提取出的所有情感词。
MRM:类似UNITER中的MRM-kl的做法,以15%的概率随机遮蔽image regions并替换为零向量,预测每个遮蔽掉的region的语义类别分布,将模型预测的分布与Faster R-CNN对该region预测的类别分布两者的KL散度作为该任务的损失值。
AOG:目标是从输入图像中生成所有的aspect-opinion pair。将DeepSentiBank对输入图像提取出的置信度最高的ANP(形容词-名词对)作为ground-truth。模型需要预测出一个序列,包含一个这样的ANP以及终止符token。
MSP:将MVSA-Multi提供的粗粒度情感标签作为监督信号。根据两个模态的信息,预测出图文对的情感类别。
对于下游任务来讲,建模和预训练的框架是一样的,使用了一个BART-based的生成框架,为了区分不同的输入,我们使用<img>表示图片特征的开始,使用</img>表示图片特征的结束,使用<bos>和<eos>分别表示文本特征的开始和结束。视觉模态采用Faster R-CNN对检测出的置信度最高的36个目标区域提取出的mean-pooled卷积特征作为特征输入,文本模态采用tokens的embeddings作为特征输入。
利用带有粗粒度情感标注的MVSA-Multi数据集进行预训练,这个数据集提供了文本-图片成对输入,以及关于其的粗粒度情感。在TWITTER-2015和TWITTER-2017两个细粒度视觉语言情感数据集上进行了实验,在各下游任务上基本都能胜过其它SOTA方法的表现。
进一步的实验和分析表明在所有的方法中,VLP-MABSA在两个数据集中,性能都最优。
以下分别是MATE和MAS任务的结果,与JMASA子任务的趋势相似,我们可以清楚地观察到,VLP-MABSA方法通常在两个数据集上取得最好的性能,除了twitter-2015的准确性度量,进一步证明了我们提出的预训练方法的一般有效性。
为了探究每个预训练任务的影响,使用完整训练数据集和弱监督设置下仅随机选择200个训练样本的全监督设置上进行了训练。可以看到两个比较通用的预训练任务 MLM 和 MRM,它们的提升都非常有限,说明这种比较通用的预训练任务对于下游任务的帮助并不大。但是反观与下游息息相关的预训练任务,都对提升模型的表现有所帮助,提升的效果很显著。
在采用不同数量的样本进行下游训练时,比较了有和没有预训练的结果,使用JMASA任务作为例子来观察其影响。如图所示,当样本量较小时,预训练可以带来巨大的改进。相比之下,当样本量增大时,预训练带来的改进相对较小。这进一步说明了预训练方法的鲁棒性和有效性,特别是在小样本的场景中。
小结:
提出了一个特定任务的视觉-文本(vision-language)预训练框架,生成一个基于BART的生成式框架多模态模型。
针对文本、视觉、和多模态,分别设计了三种特定任务的预训练任务。
实验证明了预训练方法在三个不同的子任务上都取得到非常好的性能。
以上主要介绍了针对多模态属性级情感分析三个不同的子任务,并介绍了这几年在每个子任务上的一个代表性工作。第一个聚焦于多模态交互和视觉偏差,第二个聚焦于图像和文本之间的细粒度和粗粒度的对齐,第三个聚焦于任务特定的视觉语言的预训练。
展望未来工作,第一个点是多模态属性级情感分析模型的可解释性,一个方面可以通过可视化的方式来分析模型学到的知识正确性,另一方面是进行对抗攻击,把测试集中图像和文本进行随机替换和变化,看模型预测的变化。第二个点是相关多模态任务的扩展,比如说多模态的信息抽取、多模态的实体链接、多模态的实体消歧、多模态的关系或者事件抽取以及多模态的知识图谱的构建和补全。
05
问答环节
Q:您介绍的第二个任务的模型用了一个粗粒度的分类和细粒度的对齐,这个地方分成两阶段的原因是什么?粗粒度的分类和细粒度的分类这二者在实验效果比如对齐效果上会有什么差异吗?
A:在观察数据的过程中,我们发现约有 58% 的评价对象和相应图片都是完全无关的,跟图片是完全无关的时候,完全找不到一个对象进行对齐,从而在图片中无法进行细粒度对齐,这就是进行粗粒度和细粒度的两个阶段对齐的原因。当跟图片是完全无关的,粗粒度的对齐相当于将把图像信息过滤掉。如果和图像相关的话,就需要进一步找出哪一个区域跟评价对象是相关的。其实在建模的时候也可以做成一个阶段,只做右边,但这时候我们会发现attention位置的学习会有一些问题,评价对象和图片完全无关,其本质上就应该所有的区域为0。由于上面有个softmax ,最后是肯定会归一化的,因为loss是作用在attention位置上的,所以就只能把它拆成两个阶段做。
分享嘉宾
虞剑飞
南京理工大学
副教授
虞剑飞,南京理工大学计算机学院副教授,硕士生导师。博士毕业于新加坡管理大学。研究方向包括情感分析、信息抽取、自动问答、社交媒体分析。在ACL、AAAI、IJCAI、IEEE/ACM TASLP等国际会议或国际期刊发表论文30余篇。曾担任ACL Rolling Review的领域主席、ACL 2021的Virtual Infrastructure Co-chair,受邀在IJCAI 2019上进行讲习班报告,并多次担任领域内多个国际会议的程序委员会委员和期刊审稿人。
COLING'22 | SelfMix:针对带噪数据集的半监督学习方法
ACMMM 2022 | 首个针对跨语言跨模态检索的噪声鲁棒研究工作
微信扫码关注该文公众号作者