Towards Multi-Modal Sarcasm Detection via Hierarchical Congruity Modeling with Knowledge Enhancement 论文阅读笔记
个人阅读笔记,非逐字逐句翻译
摘要:讽刺是一种语言现象,其字面意义和隐含意图之间是存在差异的。由于其复杂的性质,通常很难从文本本身进行检测。因此,多模态讽刺检测在学术界和业界都受到了越来越多的关注。然而,大多数现有的技术只模拟了文本输入和伴随图像之间原子级的不一致,忽略了两种模态的更复杂成分。此外,他们忽视了外部知识所包含的丰富信息,如图像描述。本文通过对基于多头交叉注意机制的原子级一致性和基于图神经网络的组合级一致性进行研究,「提出了一种新的基于层次结构的讽刺语检测框架,将一致性较低的帖子识别为讽刺语」。此外,我们利用各种知识资源的作用进行讽刺检测。在基于Twitter的公共多模态讽刺检测数据集上的评价结果表明了该模型的优越性。
目录
一、相关介绍
二、模型
1.特征提取
2.原子级交叉模态一致性
3.组合级交叉模态一致性
4.知识增强
5.预测
三、实验
1.数据集
2.实施
3.模型比较
4.消融分析
5.案例研究
四、结论
段落结构:讽刺的含义、特征——相关工作及不足——本文工作——主要贡献
讽刺难于检测的原因:高比喻性、复杂的语言同义词
本文改进:提出了一个新颖的讽刺检测分层框架,同时考虑独立的图像实体和token之间的原子级一致性、实体关系和语义依赖性的组合级一致性以促进多模态讽刺识别。
1.为了获取原子级一致性,先采用多头交叉注意力机制,将不同模态的特征投射到同一空间中,然后通过内积计算每一对token-object的相似性分数。
2.基于从上一步获得的文本和视觉模态的输出特征获取组合级一致性。具体地,分别使用词之间的语义依赖以及实体区域间的空间相关性构造文本图和视觉图,然后使用图神经网络捕获每个模态的组合级一致性。
本文模型串联了两种级别的一致性,联合考虑不同级别中的文本和图像间的语义不匹配。
专业术语阐述:
congruity:图像和文本间的语义一致性
atomic:token跟image patch之间
compositional:一组tokens (phrase)和一组patches (visual object)之间
其它:
采用预训练模型CLIP从视觉模态中提取文本信息当作外部知识辅助讽刺检测,提取出的文本包含充足的图像信息用来构造格外的辨别特征,生成的外部信息同样包含层次信息可以并入本文框架中,根据原始文本输入计算多粒度一致性。
主要贡献:
1.第一个利用多模态间的分层语义交互联合建模原子级和组合级的一致性,用于讽刺检测
2.提出了一种新颖的用于讽刺检测的外部知识,通过预训练模型生成图像描述,并将之作为我们框架的输入
3.进行了大量的实验,展示了本模型方法的的优越性,本文方法由于使用外部知识,效果得到了额外的提升,优于当前最先进的方法
问题定义及动机:
给定text-image对,目标是产生输出标签,1代表是具有讽刺意味的推特。本文的目的是基于输入的text-image以及外部知识(如果需要的话)学习一个分层多模态讽刺检测模型。
使用组合级建模的原因:
为了应对这两种模态固有的复杂结构,如图,下面这句话的语义可以通过依赖关系图体现出来,文本的组合表示跟图像模态比较,可以提升检测的准确性
本文框架,主要包括4个模块:
此模块通过预训练文本和图像编码分别生成文本和图像特征。
文本,由n个token组成,利用带有额外多层感知机(MLP)的预训练BERT模型生成每个token的特征表示:,
对于图片,图片,尺寸为,首先调整图片尺寸为224*224,然后将每个图片分为r小块,并且将这些块重塑为序列:,就像token在文本域中一样。然后把这个序列输入到图像encoder中,获得每一块的视觉表示。特别地,在本文中,选择两种图像encoder(预训练ViT和ResNet模型),这两个模型都在ImageNet上进行了图像分类训练,因此,通过这两个模型得到的图像嵌入包含了大量的图像标签信息。本文采用最终分类层之前的特征来初始化视觉模态的嵌入,进一步地,使用两层MLP来获取序列的特征表示:,
将上一步得到的特征作为输入输入到原子级交叉模态一致性模块中通过MCA(multi-head cross attention mode)获取一致性分数
由于两种模态中的巨大差距,首先使用头的交叉注意力机制先将两种模态在同一空间中对齐,计算方式:
参数说明:
特别说明:在上述等式中,也考虑过将图像作为query,文本作为key和value,但是效果不佳,猜测原因是图像包含的信息不如文本多,提供注意力指导的能力较弱。
然后,串联所有头,后接一个双层的MLP以及一个残差连接,获得更新与视觉模态对齐后的的文本表示:
参数说明:
下一步,采用内积作为,其中,是由组成的矩阵,代表第i个文本token和第j个图像块之间的相似性得分
由于不同词对检测结果能够造成不同的影响,词特征输入到带有softmax激活函数的全连接层,建模token对讽刺检测的重要性,最终通过下式计算出原子级一致性:
参数说明:
构造文本图和视觉图,通过GAT,利用不同token和image object的复杂组合,上一步的输出作为这一步的输入
在文本图中,将token看作图节点,将词之间的用spaCy提取出的依赖关系看作边。在视觉图中,将每个图像块看作图节点,根据几何邻近关系来连接相邻节点。这两个图都为无向图,并包含用于表示的自我循环。
通过使用GAT,原子级语义信息沿着图形边缘传播,学习组合级表示
参数说明:
有时候因为文本词汇的缺失或语法错误,可能不能构造出可靠的文本图。因此,进一步提出了串联和句嵌入:
参数说明:
仅靠text-image对进行检测依然充满挑战,所以考虑融合从图像中提取的各种外部知识,但现有工作提取的图片属性、图像传递的关键概念,缺乏相关性和语义完整性,还会引入一些噪声。所以本文提出生成图片描述作为外部知识。
将外部知识作为视觉模态结合起来,用于生成与图像模态类似的互补特征,用于一致性分数计算。
增强输入为。外部知识以文本形式给定,然后生成文本表示,获取知识特征。接下来计算外部知识分别和text、image的一致性分数,计算方式如下,参数跟未引入外部知识时不同:
参数替换:为了计算文本和外部知识之间的跨模态注意力,在等式1中,用替换,用替换,指跟视觉模态对齐后的文本表示。从图像模态中继承信息,使用作为query关注知识,增强了跨越三种模态的更深层的互动。在等式2中,用替换,将与外部知识对齐后的原子级文本表示表示为,文本和外部知识之间的相似性矩阵表示为。原子级一致性分数:
采用的依赖图,通过GAT更新知识表示,获取文本和知识之间的 一致性分数。知识跟图像模态之间的相关计算同理。
参数说明:
参数说明:
损失函数:交叉熵损失函数
公开数据集:
删除包含与讽刺话语同时出现的一些词(e.g., sarcasm, sarcastic, irony and ironic) 的样本,避免引入外部信息。使用spaCy toolkit提取token间的依赖。
对于图像的预处理,讲224*224的图像分割成32*32小块()。
随后用BERT获取文本和知识的初始嵌入,用ResNet and ViT提取图像的初始嵌入。将得到的表示通过相应的MLP映射到200维的向量中
对比(没有引入外部知识):
对比(考虑不同外部知识):
MCA层和GAT层的的影响:
不同Embedding方法的影响:
证明了外部知识的重要性:个别案例在没有外部知识的情况下,检测错误。
可视化:
局限:1.数据集的局限;2.我们的知识增强策略可能并不适合其它外部知识,不够通用