Exploring Chain-of-Thought for Multi-modal Metaphor Detection

探索用于多模态隐喻检测的思维链

在这里插入图片描述

📖导读:本篇博客有🦥精读版🐇速读版🤔思考三部分;精读版是全文的翻译,篇幅较长;如果你想快速了解论文方法,可以直接阅读速读版部分,它是对文章的通俗解读;思考部分是个人关于论文的一些拙见,欢迎留言指正、探讨。

说明:原论文中"meme"一词是1976年由Richard Dawkins(理查·道金斯)在The Selfish Gene(自私的基因)一书中所创造,它指的是通过模仿等方式在人与人之间传播的文化元素,可以是观念、行为方式、风格、语言表达等。我国学者何自然和何雪林于2003年将meme翻译为"模因"。在互联网环境中,"meme"常常用来指代那些带有特定幽默、讽刺、调侃等意味的图片、动图或者配上文字说明的图片组合等,如"梗图""表情包"等,但目前并没有一个准确的翻译与之对应。为了便于理解,本篇博客暂且将其译为"梗图",虽然这不准确。

目录


🦥精读版

Abstrct

  隐喻在广告和网络梗图中十分常见。然而,网络梗图的自由形式往往导致高质量文本数据的缺乏。隐喻检测需要对文本和视觉元素进行深度解读,需要大量的常识知识,这给语言模型带来了挑战。为应对这些挑战,我们提出了一个名为 C4MMD 的简练框架,该框架利用思维链(CoT)方法进行多模态隐喻检测。具体而言,我们的方法设计了一个受思维链启发的三步流程,该流程从多模态大语言模型(MLLMs)中提取知识并将其整合到较小的模型中。我们还开发了一种模态融合架构,用于将来自大模型的知识转化为隐喻特征,当作辅助任务来提升模型性能。在 MET-MEME 数据集上的实验结果表明,我们的方法不仅有效增强了小模型的隐喻检测能力,而且性能优于现有模型。据我们所知,这是首次在隐喻检测任务中利用多模态大语言模型开展的系统性研究。我们方法的代码可在https://github.com/xyz189411yt/C4MMD公开获取。

1. Introduction

  隐喻在我们的日常表达和写作中极为普遍,它会对自然语言处理(NLP)中的诸多下游任务产生一系列影响,比如语义理解(Neuman 等人,2013)、情感分析(Ghosh 和 Veale,2016;Mohammad 等人,2016)以及其他任务。近年来,社交媒体的兴起激发了人们对多模态隐喻的兴趣。因此,已经有若干用于多模态隐喻的数据集被提出(Zhang 等人,2021,2023a;Alnajjar 等人,2022)。


图1:多模态隐喻检测的一个例子。

  当前关于多模态隐喻检测的研究仍处于早期阶段。主要挑战在于多模态隐喻的复杂性和多样性。与单模态检测相比,多模态隐喻检测不仅要识别句子中的隐喻,还要将它们归类为图像主导型、文本主导型或互补型。第二个主要挑战源于文本内容质量欠佳,这些文本内容主要来源于社交媒体上的广告和梗图。文本赋予了图像更多的隐喻特征。近期的一些研究工作利用光学字符识别(OCR)来提取图像中的文本。然而,仅仅依靠光学字符识别将其转换为平行文本会导致文本位置信息的丢失。图 1 展示了一个具有代表性的示例,体现了 “绝地求生”(一款电子游戏)是如何像一个陷阱一样,阻碍 “我” 实现 “人生目标” 的。

  为克服这些挑战,我们希望从大语言模型(LLMs)中获取思路,利用它们丰富的世界知识以及语境理解能力来挖掘图像和文本更深层次的含义。一种直观且高效的方法是,在不对这些大语言模型进行微调的情况下,利用它们生成补充信息;然后我们只需微调一个较小的模型,来建立这些信息与隐喻之间的关联。受思维链(CoT,Wei等人,2022)的启发,为减少多模态大语言模型(MLLMs)产生的错觉,我们设计了一个三步法,该方法可逐步获取多模态大语言模型在描述图像、分析文本以及整合来自两种模态信息方面的相关信息。这一策略具有以下优势:首先,它能够为下游模型针对每种模态提供额外信息。其次,由浅入深的理解顺序与人类逻辑高度契合,使得大语言模型更容易把握深层次含义。此外,后续步骤能够纠正前面步骤中出现的误解,从而增强模型的稳健性。

  总体而言,我们利用一种基于思维链(CoT)、名为C4MMD的方法来汇总多模态大语言模型(MLLMs)中的知识,并通过对较小模型进行微调,使其将这些知识与隐喻相联系,以此增强这些较小模型的隐喻检测能力。其基本思路如图1所示,我们首先将图像和文本输入到多模态大语言模型中,获取描述图像、文本及其融合情况的相关信息。此外,我们设计了一种下游模态融合结构,旨在将补充信息转化为隐喻特征,以便实现更精准的分类。具体来说,我们设计了两项辅助任务,重点用于判定图像和文本模态内是否存在隐喻。

2. 相关工作

  早期的隐喻检测任务局限于单一模态,采用基于规则约束和隐喻词典的方法(Fass,1991;Krishnakumaran和Zhu,2007;Wilks等,2013)。随着自然语言处理领域的蓬勃发展,基于机器学习的方法(Turney等,2011;Shutova等,2016)以及基于神经网络的方法(Mao等,2019;Zayed等,2020)相继涌现。在Transformer(Vaswani等,2017)被引入之后,基于预训练模型的方法逐渐取代了之前的方法,并成为当前的主流方法(Cabot等,2020;Li等,2021;Lin等,2021)。Ge等(2023)将当前的相关研究工作归为四个主要方向,即额外数据与特征方法(Shutova等,2016;Gong等,2020;Kehat和Pustejovsky,2021)、语义方法(Mao等,2019;Choi等,2021;Su等,2021;Zhang和Liu,2022;Li等,2023b;Tian等,2023a)、基于语境的方法(Su等,2020;Song等,2021)以及多任务方法(Chen等,2020;Le等,2020;Mao等,2023;Badathala等,2023;Zhang和Liu,2023;Tian等,2023b),其中语义方法和多任务方法已成为近期研究的主要关注点。

  作为一个新兴的研究方向,涵盖图像和文本模态的众多数据集不断涌现,这些数据集主要来源于社交媒体和广告,产生了大量的多语言文本 - 图像模态数据(Zhang等人,2021;Xu等人,2022;Zhang等人,2023a)。与上述从不同模态中提取信息并直接合并它们的方法不同,我们利用思维链(CoT)方法的大语言模型(LLMs)来分析模态之间的特征,以帮助下游模型进行跨模态融合。

3. 方法

  我们提出了一个名为C4MMD的新颖框架,利用多模态大语言模型(MLLMs)来增强隐喻检测能力。我们首先介绍任务定义(3.1节)以及完整的模型架构(3.2节)。在此之后,我们详细阐述利用思维链(CoT)方法从多模态大语言模型中获取知识的过程(3.3节)以及下游融合模块的实现方式(3.4节)。最后,我们简要阐述训练方法(3.5节)。

3.1 任务定义

  从形式上来说,多模态隐喻检测任务属于典型的多模态分类问题范畴。给定一组跨模态样本对,该任务旨在判定是否存在隐喻特征,并给出分类结果。我们的工作重点关注图像 - 文本对中的隐喻检测,因此该任务可表示为:

在这里插入图片描述
其中, x I x^I xI x T x^T xT分别表示图像模态和文本模态的特征。我们的目标是利用一种更有效的方法 F F F,以确保分类结果 Y ^ \hat{Y} Y^ 与真实值 Y Y Y 更加契合。


图 2:利用多模态大语言模型(MLLM)进行多模态隐喻检测的 C4MMD 示意图。

3.2 概述

  如图 2 所示,C4MMD 的架构由两个主要部分组成:知识汇总模块和用于多模态融合的下游结构。

  在知识汇总模块中,我们向多模态大语言模型(MLLM)提供一个图像 - 文本对,并设计了一个带有思维链(CoT)提示的三步模板。前两个模板引导多模态大语言模型只专注于单一模态 —— 要么是文本,要么是图像,忽略另一个模态来生成解释和见解。在第三步中,多模态大语言模型会结合来自两种模态的见解。基于之前的分析,该模型能够对这两种模态实现更深入的理解以及更全面的整合。

  从多模态大语言模型(MLLM)获取针对不同模态的额外文本信息后,我们将这些信息与原始文本合并,形成一个文本输入。同样地,输入的图像被当作视觉模态输入。然后,模型会通过特定于模态的编码器对这些输入进行处理,以得到特征向量。

  在多模态融合模块中,我们对来自不同模态的向量进行缩放与合并,并开发了一个细粒度的分类器。具体而言,我们将补充的图像描述向量与视觉模态输入向量整合为图像向量,把文本分析向量与文本输入向量合并为文本向量,然后将这两个向量合并形成一个跨模态向量。随后,这三个向量会被用于分类目的。分类器利用跨模态向量来检测隐喻,利用图像向量识别以图像为主导的内容,利用文本向量来处理以文本为主导的内容。这种方法加强了对多模态特征的利用,以实现精确的隐喻检测。

3.3 利用 CoT 方法从 MLLMs 中进行知识汇总

  为引导多模态大语言模型生成质量更高、信息量更丰富的特征,我们采用了思维链提示(CoT prompting)方法。该方法引导多模态大语言模型跨模态提取更深层次的信息。然后,我们利用这些补充信息来协助较小的模型实现更好的语义理解和模态融合。总之,我们构建的三步提示如下:

   步骤 1。 首先,为确保模型专注于理解图像(用 x I x^I xI 表示)中的物体、场景或其他视觉元素,不受文本特征的干扰,我们基于模板 问题 1 引导模型理解并解读图像信息:

在这里插入图片描述

  这一步骤可表述如下:

在这里插入图片描述

  步骤 2。 接下来,为了更好地理解文本(用 x T x^T xT 表示)中隐藏的含义,同时排除图像特征带来的任何干扰,我们依据模板 问题 2 引导模型理解并解读文本信息:

在这里插入图片描述

  这一步骤可表述如下:

在这里插入图片描述

  步骤3。 最终,我们期望模型能够综合前两步(分别用 m I m^I mI m T m^T mT 表示)的结果,并进一步整合图像和文本特征( x I x^I xI x T x^T xT),从而获取更深刻的跨模态交互信息。我们依据模板 问题3 鼓励模型融合来自不同模态的特征:

在这里插入图片描述

  这一步骤可表述如下:

在这里插入图片描述

3.4 用于隐喻检测的多模态融合

  在获取由多模态大语言模型生成的额外模态信息之后,我们设计了一种模态融合架构,以促进模态间的整合,并有效地利用MLLM所产生的额外信息来增强隐喻检测能力。

3.4.1 特定模态编码

  我们使用图像编码器和文本编码器来获取图像 x I x^I xI 和文本 x T x^T xT 的向量化编码,以便用于后续的模态间融合。考虑到MLLM生成的额外信息是以文本形式呈现的,我们将其视作额外的视觉 m I m^I mI、文本 m T m^T mT 以及混合信息 m M i x m^{Mix} mMix 。这些信息会与原始文本相连接,然后通过文本编码器进行运算处理。

在这里插入图片描述

其中, V V V 是图像编码器的输出, T T T 是文本编码器的输出。

  为使文本编码器在运算过程中能够区分来自不同模态的文本,我们采用了一种类似于 BERT的分段编码方法,即为来自每个模态的文本添加额外的可学习参数向量。进入文本编码器的第 i i i 个单词 x i x_i xi ( x i ∈ { x I , m T , m I , m M i x } x_i∈\{x^I, m^T, m^I, m^{Mix}\} xi{xI,mT,mI,mMix}) 的向量化编码 E m b i Emb_i Embi 可表示如下:

在这里插入图片描述

其中, E T E_T ET E P E_P EP E S E_S ES分别代表用于词元嵌入、位置编码以及分段嵌入的可学习矩阵。 s e g m e n t ( x i ) ∈ ( 0 , 1 , 2 , 3 ) {segment}(x_i) ∈ (0, 1, 2, 3) segment(xi)(0,1,2,3) 这一项指的是单词 x i x_i xi 的分段编码,该编码具体由以下公式表示:

在这里插入图片描述

3.4.2 模态融合

  在进行模态融合之前,为确保来自两个编码器的向量维度一致,在文本模态中,我们计算所有单词向量的平均值mean( T   \textbf{\textit{T }} ),将其作为整个句子的向量表示。对于视觉模态,我们取CLS的向量 V C L S V_{CLS} VCLS 作为整个图像的表示。然后,我们使用带有GeLU激活函数(Hendrycks and Gimpel, 2016)的线性层将其映射到与文本模态相同的特征空间。其公式表示如下:

在这里插入图片描述

  考虑到由大模型生成的来自不同模态的文本信息在文本编码器内部已经经历了一定程度的融合,因此我们将这两个来自不同模态的向量进行连接,以获得最终融合的向量表示。该过程的公式如下:

在这里插入图片描述
  最后,我们使用一个线性层和一个Softmax分类器来进行隐喻分类。

在这里插入图片描述

  考虑到隐喻特征来源的多样性,我们采用两个独立的分类器,对主要由图像模态或文本模态驱动的隐喻进行分类。这样做的目的是在图像和文本融合之前,强制检测出它们各自的隐喻特征,从而降低最终分类器的分类复杂度。这种细粒度隐喻检测方法基于以下公式:

在这里插入图片描述

这里的 T m I T_{m^I} TmI T x T T_{x^T} TxT T m T T_{m^T} TmT分别代表文本编码向量中描述图像和文本的部分。最后,使用两个分类器对文本和图像中的隐喻特征进行分类。此分类过程的公式如下:

在这里插入图片描述

在上述公式中, W v W_v Wv W M i x W_{Mix} WMix W I W_I WI W T W_T WT 是可训练的参数矩阵; b v b_v bv b M i x b_{Mix} bMix b I b_I bI b T b_T bT 代表偏置矩阵。

3.5 训练

  我们的多模态隐喻检测模型的训练目标涉及三个不同损失函数的整合,分别记为 L I \mathcal{L}_I LI L T \mathcal{L}_T LT L M \mathcal{L}_M LM。损失函数如下:

在这里插入图片描述

其中, D ME \mathcal{D}_{\text{ME}} DME是数据集中样本的数量。损失公式参数化为 L = { L I , L T , L M } \mathcal{L} =\{\mathcal{L}_I, \mathcal{L}_T, \mathcal{L}_M\} L={LI,LT,LM},其中 Y ^ = { y ^ , y ^ I , y ^ T } \hat{Y} = \{\hat{y}, \hat{y}^I, \hat{y}^T\} Y^={y^,y^I,y^T} Y Y Y 代表模型的预测结果和真实值, L C E L_{CE} LCE是交叉熵损失函数。

  为优化整体性能,我们将总损失 L s u m \mathcal{L}_{sum} Lsum 定义为这些单个损失的加权组合。最终的损失函数表述如下:

在这里插入图片描述

4. 实验

  在本节中,我们首先介绍用于验证我们方法的数据集以及实验设置。在此之后,我们会汇报实验结果,并对这些结果进行分析。

4.1 数据与设置

  我们选取了由 Xu 等人(2022 )提出的多模态隐喻数据集,该数据集包含从社交媒体收集的 10000 张梗图图像。利用光学字符识别(OCR)方法从这些图像中提取文本信息,以此构建了多模态隐喻数据集,其中包含 6000 条中文数据和 4000 条英文数据。除了隐喻的分类标签外,他们还标注了隐喻的来源及其相关情感。

  所有训练模型的学习率均设置为 1e - 5,批量大小设为 8,并采用早停机制训练 100 个轮次。数据集被随机打乱,然后按照 6 : 2 : 2 的比例划分为训练集、验证集和测试集。所有实验均在单个 3090 24G 的 GPU 上进行。我们方法的最终结果是通过取五个不同随机种子的平均值得到的,平均单次运行时间在 20-30 分钟内。最后,基于 F1 分数对模型的性能进行评估。

  采用低秩自适应 (LoRA Hu et al (2021)) 微调方法对LLMs进行微调。所有设置均遵循Alpaca-LoRA中所使用的设置。

4.2 基线方法

语言模型
  我们针对这项任务测试了几种常见的预训练模型,包括自编码器 MBERT(Pires 等,2019 年)、XLM-R(Conneau 等,2019 年),以及自回归模型 MT5(Xue 等,2020 年)和 M-BART(Liu 等,2020 年)。此外,由于 LLaMA2(Touvron 等,2023 年)和 ChatGLM3(Zeng 等,2022 年)在中英文语料库中都有较强表现,我们还评估了它们在这项任务上的能力。我们使用 LoRA 分别对这两个模型进行了微调。

视觉模型
  我们也测试了视觉领域的模型,包括卷积神经网络(CNN)模型,例如 VGG(Simonyan 和 Zisserman,2014 年)、ResNet(He 等,2016 年)和 ConvNeXt(Liu 等,2022 年),以及基于 Transformer 架构的模型,如 ViT(Dosovitskiy 等,2020 年)和 Swin Transformer(Liu 等,2021 年)。

多模态模型
  在多模态模型领域,我们选取了 VILT(Kim 等,2021 年)、BLIP2(Li 等,2023a)和 InternLM-XComposer(Zhang 等,2023c)来测试它们处理隐喻检测任务的能力。这三个模型都采用了 Transformer 架构,但它们在模型规模上有显著差异。我们在零样本学习设置以及使用 LoRA 微调的情况下都测试了这些MLLMs的能力。

其他相关工作
  我们还探究了与我们任务相关的其他工作,借此为我们的对比分析增添更多可信度。下面,我们详细介绍这些工作。

  • CLIP(Zhao 等,2023 年):一项对各类模型在仇恨梗图检测任务上进行评估的工作。我们采用了性能最佳的 CLIP 来评估其在多模态隐喻检测任务中的有效性。
  • Vilio(Muennighoff,2020 年):一种出色的方法,在 “仇恨梗图挑战赛” 中获得了第二名。它运用OCR和实体识别技术从梗图中提取文本及视觉特征,以便更好地完成梗图危害性检测任务。
  • CoolNet(Xiao 等,2023 年):提取文本句法结构以提升模型针对推特多模态数据的情感分析能力。
  • MultiCMET(Zhang 等,2023b):一个用于中文多模态隐喻检测任务的基线模型。它利用 CLIP 模型生成额外信息,以辅助模态间的融合。


表1:不同方法在多模态隐喻检测任务上的结果。

4.3 主要结果

  表1展示了不同模型在多模态隐喻检测任务中的能力表现。在此我们仅评估了主要分类结果 y ^ \hat{y} y^,并未对两个子任务 y ^ I \hat{y}^I y^I y ^ T \hat{y}^T y^T 的结果进行评估,因为这两个子任务主要是为服务主任务而设计的。

  我们的方法在中文和英文样本集上都取得了最佳结果。考虑到MLLM(InternLM-XComposer-7b)直接生成的结果,我们让其间接为图像和文本生成额外特征,有效地利用了大模型的能力。再结合下游分类器,这种方法产生了叠加效应。

  多模态模型的性能差异很大,多数模型的表现未超过语言模型。这凸显了文本模态在识别多模态隐喻方面的重要性。MLLMs在零次学习场景下表现不佳,部分原因在于我们所设计的提示模板,但主要原因还是模型理解任务的能力不足。令人鼓舞的是,对 BLIP2 进行微调后,其能力超过了所有其他对比方法。这展示了图像和文本模态在该任务中相互作用的益处,以及大模型在经过微调后如何有效地理解并处理这项任务。

  在相关工作中,与我们的研究密切相关的,比如Zhang等(2023b)和Muennighoff(2020)所做的研究,已经取得了有竞争力的表现。然而,Xiao等(2023)所做的推特情感分类工作与我们的任务有所不同,因此表现出较弱的性能。


表2:模型各组件在隐喻检测方面的消融研究。

4.4 不同因素的影响

  表 2 展示了我们的模型在经过消融实验后呈现出的效果。

  用线性层替换模型中的融合结构会导致性能显著下降。这表明额外的融合结构对于帮助模型理解多模态大语言模型(MLLM)生成的额外特征是很有必要的。此外,去除多模态大语言模型的思维链(CoT)生成方法,仅依靠一步生成法,会导致性能出现更为明显的下降。这也意味着思维链方法能够生成更好的额外特征,进而辅助下游模型做出更准确的判断。

  有趣的是,当我们移除图像处理模块时,模型的性能仅出现了轻微下降。这表明多模态大语言模型能够为较小的模型提供一定程度的视觉信息,不过要获取更全面的信息,仍需要视觉模型的助力。


表3:不同语言模型和视觉模型组合对隐喻检测任务的影响,其中VM代表视觉模型,LM代表语言模型。然后我们使用线性层来融合两种模态的特征。

4.5 不同语言 - 视觉模型组合的影响

  我们在模态融合过程中测试了多个视觉模型和文本模型的能力。在测试视觉模型时,语言模型统一设置为 MBERT;而在测试语言模型时,则统一使用 ViT。

  从表 3 和表 1 的数据来看,尽管在单模态设置下,视觉模型 VGG 和文本模型 M-T5 取得了最佳性能,但在模态融合时,ViT 和 XLM-R 的组合胜过了其他所有组合。

  ResNet + MBERT 以及 VGG + MBERT 的组合也是 Met-Meme(Xu等,2022)所提出的基线模型。根据结果来看,我们所汇报的结果与他们的一致。


图3:有无思维链(CoT)生成时不同规模模型的效果以及提升率。我们将模型规模的截距控制在0到1之间,以便在单张图中展示提升效果。

4.6 语言模型规模的影响

  图 3 展示了在我们的架构下不同规模模型的能力表现。考虑到提升率通常处于 0 到 1 之间,而模型规模一般以数亿来计量,我们将所有模型规模除以 4 亿,使其数值落在 0 到 1 之间,这样就能在同一图表中展示模型规模和性能提升情况。很明显,随着模型规模的增大,尤其是在模型原本规模较小时,性能会逐步出现显著的提升。当模型规模过小时,额外的文本信息无法产生积极效果,反而有可能对模型的性能产生负面影响。只有当模型规模增大时,模型才具备理解更长语境信息的能力。


图4:案例研究示例。

4.7 案例研究

  为了进一步探究我们所提出模型的有效性,我们从图4所示的测试数据集中选取了两个示例。

  第一个示例展示了一个以图像为主导的隐喻。通过直接将海豹与土豆进行对比,它描绘了看太多可爱海豹之后的结果。多模态大语言模型(MLLM)通过对图像的理解,准确识别出了海豹与土豆之间的相似之处,从而帮助下游模型做出了正确的判断。

  在第二个示例中,多模态大语言模型从图像和文本中识别出特征,然后将这些特征结合起来,正确理解了梗图中所表达的幽默含义。下游模型准确地识别出它并不包含隐喻特征。与之相反,那些缺少来自大模型额外信息的方法,仅仅基于“像一位女士”这样的表述就判定其具有隐喻特征,从而导致了误判。

5. 结论

  我们的研究旨在利用先进的多模态大语言模型(MLLMs)来应对多模态隐喻解读方面的挑战。我们设计了一种包含思维链提示(CoT-prompting)的三步法,以便从图像和文本中提取更丰富的信息。来自多模态大语言模型的扩充知识在助力较小模型把握各模态内以及模态融合时的隐喻特征方面被证明是至关重要的。这项工作不仅推动了多模态隐喻检测的发展,还为未来探索多模态大语言模型在应对复杂语言及视觉挑战方面的潜力的研究铺平了道路。

6. 局限性

  我们认为我们这项工作的主要局限性在于,仅仅在多语言梗图数据集内测试了我们的隐喻检测能力,并未拓展到梗图数据集内的其他子任务(比如危害性检测),也未拓展到其他多模态数据集中的隐喻检测任务上。不过,尽管缺乏实验数据,但我们对我们的工作在这些方向上的适用性充满信心,这也将是我们未来的研究重点之一。

  此外,就梗图数据集而言,我们既未找到使用许可,也未对数据中潜在的危害性或冒犯性进行筛选,包括多模态大语言模型(MLLM)生成的额外特征中可能包含有害数据,因而存在造成冒犯和危害的风险。

  虽然我们对自己的模型采用了五次测试取平均值的方法,但对于其他对比方法,我们只是简单地取用了首次运行的结果并将其纳入表格当中。我们承认这可能会引入一些误差,但我们相信,即便对比方法也采用相同的测试方式,我们的方法仍将展现出压倒性的优越性能。


🐇速读版

1. 论文要解决什么问题?

背景介绍
  隐喻在我们的日常表达和写作中极为普遍,它会对自然语言处理(NLP)中的诸多下游任务产生一系列影响,比如语义理解、情感分析等任务。先前大多数隐喻研究聚焦在文本隐喻检测。然而,随着社交媒体的兴起,隐喻不仅通过文本形式传播,还越来越多地以梗图等图文混合的形式呈现,如图1所示。与传统的文本隐喻不同,梗图隐喻融合了多模态信息,不仅要检测是否含有隐喻,还要将它们归类为图像主导型、文本主导型或互补型,其检测难度更大。这篇文章就是一篇利用AI技术进行多模态隐喻检测的文章。


图1:梗图示例,其注释信息见下方。

[
    {
        "文本": "要抱走你的小可爱吗两百斤的那种",
        "情感类别": "2(喜爱)",
        "情感程度": "2(中等程度)",
        "意图检测": "2(表达性)",
        "攻击性检测": "0(非攻击性)",
        "隐喻出现情况": "0",
        "隐喻类别": "",
        "目标域": "",
        "源域": "",
        "目标模态": "",
        "源模态": "",
        "": null,
        "文件名": "Chinese/images/Image- (3887).jpg",
        "internlm_img_info": "",
        "internlm_text_info": "",
        "internlm_mix_info": ""
    }
]

现有方法及其不足
  先前的方法主要思路是从不同模态中提取信息并直接合并它们,具体来说就是利用视觉模型(如VGG、ResNet等)和文本模型(如BERT、XLM-R等)分别进行视觉和文本特征的提取,然后将其融合进而分类,其中文本部分主要使用OCR技术来提取。然而,仅仅依靠OCR将其转换为平行文本会导致文本位置信息的丢失。举个例子,如图2所示,若只靠OCR技术,则得到的文本将会是“我;人生目标;绝地求生”,这并不能体现图中位置带来的一些深层隐喻:①“我”和“人生目标”之间有间隔;②这个间隔就是“绝地求生”,它像一个大坑一样。


图2:含有关键文本位置信息梗图示例。

2. 如何解决的?

思路
  既然OCR得到的文本信息量太少,那如何获得更多的信息呢?作者想到了利用多模态大语言模型来挖掘图像和文本更深层次的含义,因为MLLMs具有丰富的世界知识以及语境理解能力。具体来说,不需要对这些MLLMs进行微调,只是利用它们生成补充信息,然后只需微调一个较小的模型,来建立这些信息与隐喻之间的关联。但是,大模型具有众所周知的幻觉问题,如何防止大模型在分析完图文后生成幻觉呢?对此作者专门设计了一个思维链(三步法),来一步步引导大模型生成丰富且准确的信息。

论文方法
  下面这副论文原图清晰的展示了作者所提出的C4MMD 的架构。整体上分为两大部分:知识汇总部分和多模态融合部分。


论文原图 2:利用多模态大语言模型(MLLM)进行多模态隐喻检测的 C4MMD 示意图。

  • 知识汇总
      首先,将梗图以及OCR提取的文本按照设计的三步思维链(CoT)模板送给MLLM,引导模型逐步提取出更深层的信息。这个三步CoT的设计也很巧妙,如图3所示,不仅能为下游模型针对每种模态提供额外信息,而且这种由浅入深的理解顺序与人类逻辑也高度契合,使得大语言模型更容易把握深层次含义。另外,后面问题还能够纠正前面回答中出现的误解,从而增强模型的稳健性。


图 3:思维链提示模板。

  • 多模态融合
      接着,将原始图像送入一个视觉模型,得到图像特征;同时将上述三步CoT得到的三个答案与原始OCR文本送入一个文本模型,从而得到文本特征。这里有个问题,文本模型的输入相当于4部分,分别为:OCR文本、大模型对文本的描述、大模型对图片的描述以及大模型对图文整体的描述,这4部分文本分别代表了原始文本信息、额外的文本信息、额外的图像信息以及额外的混合信息,那如何区分这4部分呢?作者采用了一种类似于 BERT的分段编码方法,即为不同部分文本添加额外的可学习参数向量(这部分详见🦥精读版3.4.1节)。
      最后,将两个模型得到的特征向量进行融合(这里涉及一些维度转换的小trick,详见🦥精读版3.4.2节),再通过一个线性层和一个Softmax分类器来进行隐喻分类。此外,作者还将不同模态的信息融合以便学习隐喻是由图像主导的还是文本主导的。整体损失也是这三者各自损失的加权组合。

3. 优点(个人总结)

  1. 论文所提出的框架只涉及大模型的推理,而不涉及大模型的训练,因此不需要消耗大量资源训练庞大的参数,只需要训练下游模块的小模型即可。
  2. 整体框架在设计上很直观、合理,从知识汇总模块到多模态融合模块,对图像信息流和文本信息流的划分十分明确、清晰,使得各模态信息流能够按照既定的路径有序流动,不仅易于理解,更有助于后续对不同模态信息进行针对性的处理与整合。

4. 局限性

  1. 论文仅仅在多语言梗图数据集内测试了所提出方法的隐喻检测能力,并未拓展到梗图数据集内的其他子任务(比如危害性检测),也未拓展到其他多模态数据集中的隐喻检测任务上。
  2. 就梗图数据集而言,未对数据中潜在的危害性或攻击性进行筛选,包括多模态大语言模型(MLLM)生成的额外特征中可能包含有害数据,因而存在攻击性和危害性风险。

🤔思考

  当我们看到一个表情包或者梗图时,人类是如何判断其背后是否含有隐喻的?如何解读出隐喻的含义?可能是一个相对复杂的过程,比如:

  • 隐喻的理解通常需要一定的背景知识,如“狗头”表情通常用来表示某种戏谑或调侃的语气;
  • 人类在解读图像时,常常会启动特定的认知框架或者概念模型。例如,在看到一个人脸表情和文字结合的表情包时,我们会首先通过面部表情解读情绪或态度,然后通过文字部分来确认这种情绪的背景或上下文信息;
  • 隐喻本身是通过借用不同领域的意义来表达某种观点或情感,因此会涉及多重意义的推理。
  • 隐喻的解读往往涉及将一种情境的特征映射到另一种情境上。例如,在一些梗图中,可能会用人物的夸张表情或姿势来隐喻某种社会现象或生活中的普遍情绪,如“压力山大”或“崩溃边缘”。
  • 梗图和表情包通常与特定的社交或历史语境紧密相关。例如,某个梗可能只有在特定的时事背景下才会产生隐喻意义,像是某个政治事件或流行文化现象。

  那相较于人类,MLLM可以考虑这么全面吗?我认为可以,但还需进一步的改进。比如对于新的梗图,需要新的背景知识,那么大模型可能无法正确检测出背后的隐喻,可能需要结合RAG技术来避免产生幻觉回答;再比如,梗图往往有来源,类似于典故,知晓来源对于理解梗图非常重要,是否可以结合一些搜索,如维基百科,将关联搜索结果保留top-k,作为知识库,然后利用这些知识?再者,有些梗图可能关联其它图片,这就需要图像生成模型等手段来提供额外的关联图像来作为补充信息等等,这些都有待进一步的研究。


参考文献
Yanzhi Xu, Yueying Hua, Shichen Li, and Zhongqing Wang. 2024. Exploring Chain-of-Thought for Multi-modal Metaphor Detection. In Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 91–101, Bangkok, Thailand. Association for Computational Linguistics.

更多推荐