2.1 Vision-Language Pre-Training for Multimodal Aspect-Based Sentiment Analysis

news2024/11/26 3:37:49

Vision-Language Pre-Training for Multimodal Aspect-Based Sentiment Analysis

1、基本信息

  • 作者:Yan Ling, Jianfei Yu, Rui Xia

  • 会议:ACL 2022

  • 单位:南京理工大学

2、主要框架

  • 任务:Multimodal Aspect-Based Sentiment Analysis(MABSA)
    1. Multimodal Aspect Term Extraction(MATE)
      • input: text-image pair
      • output: aspect terms(mentioned in the text)
    2. Multimodal Aspect-oriented Sentiment Classification(MASC)
      • input: extracted aspect term
      • output: sentiment class
    3. Joint Multimodal Aspect-Sentiment Analysis(JMASA)【如下图1所示】
      • input: text-image pair
      • output: aspect-sentiment pairs

image-20221109191107783

  • 问题
    1. 现有方法要么分别使用预训练的视觉、文本模型,忽略了模态间的对齐关系
    2. 要么使用经通用预训练任务的视觉-语言模型,不足以识别细粒度的aspect、opinion和模态间的对齐关系
  • 方法
    • A task-specific Vision-Language Pre-training framework for MABSA(VLP-MABSA)
      • BART-based generative multimodal architecture
      • 所有预训练任务和下游任务都可以通用的(unified)多模态encoder-decoder 架构
    • 3类task-specific 预训练任务
      1. Language
        • Masked Language Modeling(MLM)
        • Textual Aspect-Opinion Extraction(AOE)
      2. Vision
        • Masked Region Modeling(MRM)
        • Visual Aspect-Opinion Generation(AOG)
      3. Multimodal
        • Multimodal Sentiment Prediction(MSP)
  • 实验结果:超过SOTA

3. VLP-MABSA

image-20221109191956718

模型骨干是BART,a denoising autoencoder for sequence-to-sequence models。将其扩展为同时编码文本和视觉输入,可解码不同模态的预训练任务或下游任务。

3.1. Feature Extractor

  1. Image Representation:用Faster R-CNN抽取的mean-pooled convolutional features作为视觉特征。
    1. 抽取并取置信度前36个regions,即 R = { r 1 , . . . , r 36 } R=\{r_1, ..., r_{36}\} R={r1,...,r36},并保留其semantic class distribution,记为 q ( v ) q(v) q(v)(用于MRM)。
    2. 每个region的视觉特征向量的维度本来是2048,即 r i ∈ R 2048 r_i \in \mathbb R^{2048} riR2048,为了和文本特征一致,再用linear transformation layer投影成d维向量,即 V ∈ R d × 36 V \in \mathbb R^{d \times 36} VRd×36
  2. Text RepresentationEmbedding Matrix
    1. 句子分词成tokens, E = { e 1 , . . . , e T } E=\{e_1, ..., e_T \} E={e1,...,eT}记录其下标序列, T T T是文本长度。
    2. 从Embedding Matrix中取相应tokens的embeddings,即 W = { w 1 , . . . , w T } W=\{ w_1, ..., w_T\} W={w1,...,wT}

3.2. BART-based Generative Framework

  1. Encoder:多层双向Transformer
    1. 在编码器的输入端,分别用 和 ,和标识visual features,textual input的起始和结束。
    2. image-20221109201927268
    3. X X X表示concatenated的多模态输入。
  2. Decoder:多层单向Transformer
    1. 在解码端的输入端,因为所有预训练任务共享同样的解码器,为标识不同预训练任务,分别都用两个special tokens作为解码器输入的开始。
      • <bos><mlm>, <bos><aoe>, <bos><mrm>, <bos><aog>和 <bos><msp>分别是5个预训练任务的special tokens。
    2. image-20221109202455828

3.3. Pre-training Tasks

  • Original dataset: MVSA-Multi
    • input: image-text pairs
    • output: coarse-grained sentiments

image-20221109203308378

3.3.1 Textual Pre-training

  1. Masked Language Modeling(MLM)对齐文本和视觉特征

    • mask的策略和BERT一样;

    • 损失函数如下, X ~ \widetilde {X} X 指的是masked的拼接后的多模态输入 X X X
      L M L M = − E X ∼ D ∑ i = 1 T l o g P ( e i ∣ e < i , X ~ ) L_{MLM}=-\mathbb E_{X \sim D} \sum_{i=1}^{T} log P(e_i|e_{<i}, \widetilde{X}) LMLM=EXDi=1TlogP(eie<i,X )

  2. Textual Aspect-Opinion Extraction(AOE)生成文本中的aspects和opinions

    1. 数据集中不提供aspect和opinion的标注,需用其他的方法构造监督信号

      1. Aspect:一个Named Entity Recognition(NER)工具中的预训练模型(2011)
      2. Opinion:a sentiment lexicon(SentiWordNet)(2006)
    2. an index generation task:生成所有aspects和opinions的起止下标。

      1. target标注 Y = [ a 1 s , a 1 e , . . . , a M s , a M e , < s e p > , o 1 s , o 1 e , . . . , o N s , o N s , < e o s > ] Y=[a_1^s, a_1^e, ..., a_M^s, a_M^e, <sep>, o_1^s, o_1^e, ..., o_N^s, o_N^s, <eos>] Y=[a1s,a1e,...,aMs,aMe,<sep>,o1s,o1e,...,oNs,oNs,<eos>] ,其中 M , N M,N MN指aspect terms 和opinion terms的数量, a s , a e a^s, a^e as,ae o s , o e o^s, o^e os,oe分别是每个的起止下标。、标识分割、结束。
      2. 例子如图所示:image-20221109215948913
      3. 公式流程:得到token的概率分布。
        1. h t d = D e c o d e r ( H e ; Y < t ) h_t^d = Decoder(H^e;Y_{<t}) htd=Decoder(He;Y<t) H e H^e He指编码器的输出, Y < t Y_{<t} Y<t指解码器t时前的输出。
        2. H ‾ T e = ( W + H T e ) / 2 \overline{H}_T^e=(W+H_T^e)/2 HTe=(W+HTe)/2。一个文本一个固定的值。 H T e H_T^e HTe H T H_T HT对应的文本部分。
        3. P ( y t ) = S o f t m a x ( [ H ‾ T e ; C d ] h t d ) P(y_t)=Softmax([\overline{H}_T^e;C^d]h_t^d) P(yt)=Softmax([HTe;Cd]htd) C d C_d Cd C = [ < s e p > , < e o s > ] C=[<sep>,<eos>] C=[<sep>,<eos>]的d维embeddings。
      4. 损失函数如下, O = 2 M + 2 N + 2 O=2M+2N+2 O=2M+2N+2指target标注 Y Y Y的长度。

      L A O E = − E X ∼ D ∑ t = 1 O l o g P ( y t ∣ Y < t , X ) L_{AOE}=-\mathbb E_{X \sim D} \sum_{t=1}^OlogP(y_t|Y_{<t},X) LAOE=EXDt=1OlogP(ytY<t,X)

3.3.2 Visual Pre-training

用以下两个任务捕获图像中的主体和客体信息

  1. Masked Region Modeling(MRM):预测masked region的semantic class distribution

    1. 编码器输入端,regions以15%的概率随机被mask,相应的特征会改为零向量。

    2. 解码器输入端,masked region的提示词为,其余为。

    3. 解码器输出后,所有的会追加一个MLP分类器,用以预测其semantic class distribution,记为 p ( v ) p(v) p(v)

    4. 损失函数:减少预测分布和target分布的KL散度。Z指masked regions的数量。
      L M R M = E X ∼ D ∑ z = 1 Z D K L ( q ( v z ) ∣ ∣ p ( v z ) ) L_{MRM}= \mathbb E_{X\sim D}\sum_{z=1}^ZD_{KL}(q(v_z)||p(v_z)) LMRM=EXDz=1ZDKL(q(vz)p(vz))

    5. 例子如图所示image-20221109223654632

  2. Visual Aspect-Opinion Generation(AOG):生成图像中的aspect-opinion对

    1. 监督信号

      1. Adjective-Noun Pair(ANP)(2013):如smiling man and beautiful landscape,分别能捕获细粒度的aspects 和opinions,因此将其作为图像中的aspect-opinion对。
      2. 用一个预训练ANP检测器DeepSentiBank(2014),预测2089个预先定义的ANPs的类分布概率最高的ANP作为监督信号。
    2. a sequence generation task

      1. G = { g 1 , . . . , g ∣ G ∣ } G=\{g_1,...,g_{|G|}\} G={g1,...,gG}指target ANP的tokens, ∣ G ∣ |G| G指ANP tokens的数量

      2. 公式流程:

        1. h i d = D e c o d e r ( H e ; G < i ) h_i^d=Decoder(H^e;G_{<i}) hid=Decoder(He;G<i)
        2. P ( g i ) = S o f t m a x ( E T h i d ) P(g_i)=Softmax(E^Th_i^d) P(gi)=Softmax(EThid);E指词汇中所有tokens的embedding matrix。【跟之前E的定义不一样?词汇中是所有词典还是输入文本的词?】
      3. 损失函数:
        L A O G = − E X ∼ D ∑ i = 1 ∣ G ∣ l o g P ( g i ∣ g < i , X ) L_{AOG}=-\mathbb E_{X\sim D}\sum_{i=1}^{|G|}logP(g_i|g_{<i},X) LAOG=EXDi=1GlogP(gig<i,X)

      4. 例图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7W2DprLy-1668692099370)(C:/Users/26282/AppData/Roaming/Typora/typora-user-images/image-20221112163228101.png)]

3.3.3 Multimodal Pre-training

不像前两类预训练任务,MSP的监督信号是多模态的。识别文本和视觉的客观信息,以及他们之间的对齐关系。

  1. Multimodal Sentiment Prediction(MSP)

    1. MVSA-Multi数据集提供粗粒度的情感标签,将其作为监督信号

    2. a classification task

      1. 公式流程:

        1. h m s p d = D e c o d e r ( H e ; E m s p ) h_{msp}^d=Decoder(H^e;E_{msp}) hmspd=Decoder(He;Emsp) E m s p E_{msp} Emsp指两个special tokens相应的embeddings
        2. P ( s ) = S o f t m a x ( M L P ( h m s p d ) ) P(s)=Softmax(MLP(h_{msp}^d)) P(s)=Softmax(MLP(hmspd));s指相应的情感标签
      2. 损失函数:
        L M S P = − E X ∼ D l o g P ( s ∣ X ) L_{MSP}=-\mathbb E_{X\sim D}logP(s|X) LMSP=EXDlogP(sX)

      3. 例图image-20221112163405538

3.3.4 Full Pre-training Loss

目标函数
L = λ 1 L M L M + λ 2 L A O E + λ 3 L M R M + λ 4 L A O G + λ 5 L M S P L=\lambda_1L_{MLM}+\lambda_2L_{AOE}+\lambda_3L_{MRM}+\lambda_4L_{AOG}+\lambda_5L_{MSP} L=λ1LMLM+λ2LAOE+λ3LMRM+λ4LAOG+λ5LMSP

3.4 Downstream Tasks

  • 下游任务:MABSA的3个子任务,即Joint Multimodal Aspect-Sentiment Analysis(JMASA),Multimodal Aspect Term Extraction(MATE),和Multimodal Aspect-oriented Sentiment Classification(MASC)。

  • 模型:和预训练任务一样

  • 模型输出

    • JMASA: Y = [ a 1 s , a 1 e , . . . , a i s , a i e , s i , . . . ] Y=[a_1^s,a_1^e,...,a_i^s,a_i^e,s_i,...] Y=[a1s,a1e,...,ais,aie,si,...] a 1 s , a i e , s i a_1^s, a_i^e,s_i a1s,aie,si分别指文本中某aspect的起止下标和情感。
    • MATE: Y = [ a 1 s , a 1 e , . . . , a i s , a i e ] Y=[a_1^s,a_1^e,...,a_i^s, a_i^e] Y=[a1s,a1e,...,ais,aie]
    • MASC: Y = [ a 1 s ‾ , a 1 e ‾ , s 1 , . . . , a i s ‾ , a i e ‾ , s i , . . . ] Y=[\underline {a_1^s},\underline {a_1^e},s_1,...,\underline {a_i^s},\underline {a_i^e},s_i,...] Y=[a1s,a1e,s1,...,ais,aie,si,...],下划线表示推理时是已知的。
  • index generation tasks

    • 与AOE一样的公式流程,除了special token集合 C = [ < P O S > , < N E U > , < N E G > , < E O S > ] C=[<POS>,<NEU>,<NEG>,<EOS>] C=[<POS>,<NEU>,<NEG>,<EOS>]改成了感情类别。
    • JMASA图例
      • image-20221112170440090

4. 实验

4.1 Experimental Settings

Dataset

下游数据集使用TWITTER-2015和TWITTWE-2017评估VLP-MABSA模型

image-20221112171124049

4.2 对比实验

JMASA

image-20221112171623239

  1. 从text-based methods的对比可以看出VLP-MABSA中基础模型BART的优越性
  2. Multimodal methods中JML采用了辅助任务来检测图像与文本的关系,超越了此前所有方法;而VLP-MABSA的F1得分比它分别高了2.5和2.0,这可以归功于3类task-specifc 预训练任务识别了aspects、opinion和模态间的对齐关系。

MATE

image-20221112171702366

MASC

image-20221112171726366

  1. 要注意JML只评估了正确预测的aspect的结果,而其他都是评估了所有的golden aspects。

4.3 消融实验

image-20221112173201776

以weak supervision为例具体分析每个预训练任务的效果,只加入MLM、MRM提效甚微,AOE、AOG提高很明显,特别是MSP。

image-20221112194859506

  • 下游训练时的样本数量少时,预训练带来的提效比没有预训练来的高。数量多时,效果是一样的。
    • 这表明预训练方法的鲁棒性和有效性,特别在数据集少的领域。

4.4 实例展示

image-20221112195518181

MM是没有预训练的多模态输入的框架,VLP是预训练后的。

5.思考

  1. 预训练任务里加入图像与文本的关系

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/13151.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FITC-PEG-N3,Fluorescein-PEG-Azide,荧光素-聚乙二醇-叠氮可用于点击化学

1、名称 英文&#xff1a;Fluorescein-PEG-Azide&#xff0c;FITC-PEG-N3 中文&#xff1a;荧光素-聚乙二醇-叠氮 2、CAS编号&#xff1a;N/A 3、所属分类&#xff1a;Azide PEG Fluorescent PEG 4、分子量&#xff1a;可定制&#xff0c;荧光素-peg 20000-叠氮/Fluoresce…

大数据常见面试题Hadoop篇(3)

前几篇地址&#xff1a; 大数据常见面试题 Hadoop篇&#xff08;1&#xff09;_后季暖的博客-CSDN博客 大数据常见面试题 Hadoop篇&#xff08;2&#xff09;_后季暖的博客-CSDN博客 目录 36.HDFS文件能否直接删除或则修改&#xff1f; 37.谈谈hdfs中的block、package、chu…

java毕业设计——基于java+MMAS的蚁群算法路由选择可视化动态模拟设计与实现(毕业论文+程序源码)——蚁群算法路由选择可视化动态模拟

基于javaMMAS的蚁群算法路由选择可视化动态模拟设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于javaMMAS的蚁群算法路由选择可视化动态模拟设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。 文章目录&#…

java项目-第143期ssm母婴用品网站_java毕业设计_计算机毕业设计

java项目-第143期ssm母婴用品网站_java毕业设计_计算机毕业设计 【源码请到资源专栏下载】 今天分享的项目是《ssm母婴用品网站》 该项目分为2个角色&#xff0c;管理员和用户。 用户可以浏览前台,包含功能有&#xff1a; 首页、商品信息、论坛信息、新闻资讯 、留言反馈、购物…

Chapter3 Pytorch与机器学习有关函数(二)

目录 3.4 tensor中的填充操作 3.4.1 tensor.full 3.5 pytorch中模型的保存/加载/并行化 3.6 导数、方向导数、偏导数 3.6.1 重要概念 3.6.1.1 概念 3.6.1 如何计算梯度 3.6.2 torch.autograd.Function 3.7 pytorch与nn库 3.7.1 nn库介绍&#xff08;介绍、在后续会详…

干货|爱奇艺短视频多模态分类技术解析

简介 近年来,短视频领域一直广受关注,且发展迅速。每天有大量UGC短视频被生产、分发和消费,为生产系统带来了巨大的压力,其中的难点之一就是为每个短视频快速、准确地打上标签。为了解决人工编辑的时效和积压问题,自动化标签技术成为各大内容领域公司都非常关注的关键课题…

[附源码]java毕业设计流浪宠物免费领养系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Python:突然发现好看壁纸的都在某度图片库了,这还爬什么壁纸网站?

用Python把最大的爬虫爬一遍前言开发环境 & 第三方模块代码展示效果展示最后前言 最近忙着又没更新&#xff0c;这不抽出时间了&#xff0c;赶紧来更新&#xff01; 众所周知&#xff0c;某度本身就是最大的爬虫脚本&#xff0c;那么纯纯的去某个网站找壁纸&#xff0c;还…

mysql 日期函数

想实现增加几个月&#xff0c;或者减少几天 增加时间的函数DATE_ADD // 合同时间增加9个月&#xff1a; DATE_ADD(contract_time,INTERVAL 9 Month) select DATE_ADD(contract_time,INTERVAL 9 Month) from a where id ! "" 减少时间的函数DATE_SUB // 合同时间往…

随机访问文件类

RandomAccessFile类创建的流与前面的输入、输出流不同。RandomAccessFile类既不是输入流类InputStream的子类&#xff0c;也不是输入流类OutputStream的子类。 随机cessfile类创建对象为一。。。流个流流流流既既可以可以&#xff0c;也作源作源作源作源作源作源可以可以作为作…

通过逻辑回归和随机梯度下降法对乳腺癌数据集breastCancer和鸢尾花数据集iris进行线性分类

文章目录线性回归和逻辑回归StandardScaler处理线性分类乳腺癌数据集breastCancer鸢尾花数据集iris线性回归和逻辑回归 线性回归就是预测一个连续变量的值&#xff0c;线性回归假设因变量和自变量之间是线性关系的&#xff0c;线性回归要求因变量是连续性数值变量训练数据的特…

百果园再冲刺港交所上市:扩张靠加盟和放贷,余惠勇夫妇为实控人

11月16日&#xff0c;深圳百果园实业股份有限公司&#xff08;下称“百果园”&#xff09;再次在港交所递交上市申请材料。据贝多财经了解&#xff0c;这已经是百果园第二次递交招股书。相较于此前招股书&#xff0c;百果园补充披露了截至2022年6月30日的财务数据等信息。 据招…

Allegro模块镜像详细操作教程

Allegro模块镜像详细操作教程 Allegro支持模块镜像,以下面这个模块为例 Placement edit模式下,创建一个mdd文件 复用这个模块 复用后先别放下来,右击mirror 再放下来,模块内的孔,铜皮,线,器件都被镜像好了 This section is describe what the function allegro ha…

学校官网首页 2页网页设计(HTML+CSS+JavaScript)

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 校园班级网页设计 | 我的班级网页 | 我的学校 | 校园社团 | 校园运动会 | 等网站的设计与制作 | HTML期末大学生网页设计作业&#xff0c;Web大学生网…

Tomcat 安装和简单介绍

目录 Tomcat是什么? Tomcat下载安装 Tomcat目录介绍 Tomcat 启动 在 Tomcat 上部署静态页面 1.部署单个 HTML 2.部署 HTML到单独的目录 Tomcat是什么? Tomcat 是一个HTTP服务器&#xff01; 我们在开发项目时&#xff0c;需要实现一个服务器来搭建网站的“后端部分”&a…

Js轮播图

效果图 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style>*{m…

【Logback+Spring-Aop】实现全面生态化的全链路日志追踪系统服务插件「Logback-MDC篇」

日志追踪 日志追踪对于功能问题的排查和数据流转的路径分析时非常重要的&#xff0c;有了全链路日志追踪体系机制可以非常有效且快速的定位问题&#xff0c;但在多线程环境中&#xff0c;若没有相关成熟的框架的支持&#xff0c;想要实现日志追踪&#xff0c;就需要手动将主线…

流程表单初体验

文章目录1. 表单分类2. 动态表单3. 启动带表单的实例4. 查询任务上的表单5. 保存与完成有小伙伴在星球上催了好几次了&#xff0c;今天松哥就来和大家聊一聊流程中的表单。1. 表单分类 整体上来说&#xff0c;我们可以将表单分为三种不同的类型&#xff1a; 动态表单&#xf…

string的应用及模拟实现

目录 string的应用 insert函数 insert插入字符串 insert插入string对象 erase函数 erase的使用方法&#xff1a; assign函数 assign的第一种使用方法&#xff1a; assign的第二种使用方法&#xff1a; replac函数&#xff1a; replace的一种使用方法&#xff1a; find …

Java集合使用实验

1. 在HashSet集合中添加三个Person对象&#xff0c;把姓名相同的人当做同一个人&#xff0c;禁止重复添加。要求如下: Person类中定义name和age属性&#xff0c;重写hashCode()方法和equals()方法&#xff0c;针对Person类的name属性进行比较&#xff0c;如果name相同&#xf…