UniSA: Unified Generative Framework for Sentiment Analysis

文章目录

  • UniSA:统一的情感分析生成框架
    • 文章信息
    • 研究目的
    • 研究内容
    • 研究方法
      • 1.总体架构图
      • 2.基准数据集SAEval
      • 3.Task-Specific Prompt
      • 4.Modal Mask Training
      • 5.Pre-training Tasks
        • 5.1Mask Context Modeling
        • 5.2Sentiment Polarity Prediction
        • 5.3Coarse-grained Label Contrast Learning
        • 5.4Cross-task Emotion Prediction
    • 结果与讨论
    • 代码和数据集

UniSA:统一的情感分析生成框架

总结:原理=>所有子任务整合起来,数据集就变得很大了,让模型学习这些所有的数据,模型的情感能力就上去了,关键在于怎么整合?训练好之后,不管是情感分析的什么任务(输入都会被Task-Specific Prompt统一,输出都有四个标签,一个真实标签,三个伪标签),通过这个框架都可以实现不错的结果。

文章信息

作者:Zaijing Li,Fengxiao Tang

单位:Central South University(中南大学)

会议/期刊:Proceedings of the 31st ACM International Conference on Multimedia(MM 2023)(CCF A)

题目:UniSA: Unified Generative Framework for Sentiment Analysis

年份:2023

研究目的

探究情感分析的多任务统一建模,将情感分析的子任务整合到一个单一的模型中,来提高模型的情感能力。

【对情感分析的所有子任务进行统一建模存在三个主要挑战:1.每个子任务的输入和输出形式各不相同。2.多模态的模态对齐问题。3.数据集注释偏差。

  • 引入了特定任务提示方法,将所有子任务视为生成任务并进行联合训练,来统一不同子任务的输入和输出形式
  • 通过扩展生成式Transformer(基础的Transformer模型)去处理多模态数据,提出了一种模态掩码训练方法学习模态间的关系,来解决模态对齐的问题。
  • 引入数据集嵌入消除不同数据集之间的注释偏差。】

研究内容

  • 提出了一个多模态生成框架 UniSA,重新耦合情感分析的各个子任务(对话中的情感识别 (ERC)、基于方面的情感分析 (ABSA) 和多模态情感分析 (MSA))实现多任务统一建模

  • 提出了一种新颖的情感相关预训练任务(Pre-training Tasks),让模型能够学到跨子任务的通用情感知识。

  • 构建了一个基准数据集 SAEval,以统一的格式包含了各种情感分析子任务的基准数据集。

研究方法

1.总体架构图

image-20240305162432037

为了处理视觉、声学和文本的跨模态输入,将原始的Transformer编码器修改为多模态编码器,并引入了模态掩码训练方法(该方法使得模型能够有效地学习到不同模态之间的关系)。通过任务特定提示( Task-Specific Prompt )方法来规范所有子任务的输入格式。为了解决数据集之间的偏差,在输入中嵌入了一个数据集,以区分不同的数据集。

2.基准数据集SAEval

基准数据集SAEval的构建是将来自不同情感分析子任务的多个数据集统一以字典格式存储。(该词典包括"Task Type"、"Dataset ID "、“Text”、“Audio”、“Image"等关键词。对于ERC数据集,额外的信息如” Context “,” Speaker ID “和” Utterance index "被包含来确定当前查询的会话信息。)数据集示例:

image-20240305172447131

3.Task-Specific Prompt

通过任务特定提示(Task-Specific Prompt)统一所有子任务的输入流,并将所有子任务转化为生成任务来统一子任务的输出形式。【作用就是统一输入与输出】

image-20240305170757602

任务特定提示包括三个组成部分:任务标识符Z、答案集Y和输入流X。

  • 标识符Z由特殊的标记组成(包括Task type,Data id ,Speaker id)。
  • 答案集Y是每个数据集的特定标签集合,用于指导模型生成预期结果。
  • 输入流X代表输入的文本、声音、视觉和上下文。

L = { Z , Y , X } L=\{Z,Y,X\} L={Z,Y,X}

4.Modal Mask Training

当给定一个多模态输入 I i = I i t , I i a , I i v I_{i}=I_{i}^{t},I_{i}^{a},I_{i}^{v} Ii=Iit,Iia,Iiv时( I i m , m ∈ t , a , v I_i^m,m\in{t,a,v} Iim,mt,a,v代表时间 i i i的单模态输入),要掩蔽一个或多个模态的输入,这样将产生七种模态设置,即, I i t , I i a , I i v , I i a + I i v , I i t + I i a , I i t + I i v I_i^t,I_i^a,I_i^v,I_i^a+I_i^v,I_i^t+I_i^a,I_i^t+I_i^v Iit,Iia,Iiv,Iia+Iiv,Iit+Iia,Iit+Iiv I i t + I i a + I i v I_i^t+I_i^a+I_i^v Iit+Iia+Iiv。由于文本模态很重要,所以只使用其中的四种设置,也就是 I i t , I i t + I i a , I i t + I i v , I i t + I i a + I i v . I_{i}^{t},I_{i}^{t}+I_{i}^{a},I_{i}^{t}+I_{i}^{v},I_{i}^{t}+I_{i}^{a}+I_{i}^{v}. Iit,Iit+Iia,Iit+Iiv,Iit+Iia+Iiv.通过这样的方式,多模态数据在训练阶段就有了四种不同的输入形式,扩展了训练数据的模态多样性,并可以有效应对实际场景中多种数据中某些模态的缺失。

5.Pre-training Tasks

预训练分为两个阶段:

  • 第一阶段是粗粒度情感感知预训练(coarse-grained emotion perception pre-training),包括掩码上下文建模情感极性预测粗粒度标签对比学习。第一阶段是为了让模型获得初步的情感分类能力。(情感是极性不变,组合具有相同情感极性的查询即相同情感极性的样本)不会改变两者。因此,根据情感极性将所有数据集划分为不同的数据池。然后,我们从同一个数据池中随机抽取两个查询组合成一个新的查询,用于预训练阶段一)
    L s t a g e 1 = L M C M + L S P P + L C C L . \mathcal{L}_{stage1}=\mathcal{L}_{MCM}+\mathcal{L}_{SPP}+\mathcal{L}_{CCL}. Lstage1=LMCM+LSPP+LCCL.

  • 第二阶段是细粒度情感感知预训练(Pre-training Stage Two),包括掩码上下文建模跨任务情感预测。其目的是让模型获得细粒度情感分类能力。
    L s t a g e 2 = L M C M + L C E P . \mathcal{L}_{stage2}=\mathcal{L}_{MCM}+\mathcal{L}_{CEP}. Lstage2=LMCM+LCEP.

5.1Mask Context Modeling

掩码上下文建模(MCM)可以随机掩码输入的文本、声学、视觉和上下文模态中的标记,以鼓励模型学习预测被掩码的标记(token)。

image-20240305205646466
L M C M ( θ ) = − ∑ m = 1 M log ⁡ ( P θ ( w m ∣ w n ) ) , \mathcal{L}_{MCM}(\theta)=-\sum_{m=1}^M\log{(P_\theta(w_m|w_n))}, LMCM(θ)=m=1Mlog(Pθ(wmwn)),

符号含义
1 ≤ m ≤ M 1\le m \le M 1mM表示掩码索引,M是掩码标记的数量
w m w_m wm被屏蔽的token
w n w_n wn未被屏蔽的token
P θ P_\theta Pθ模型的输出分布, θ \theta θ代表可以优化的模型参数
5.2Sentiment Polarity Prediction

为了鼓励模型学习区分不同的情感类别,将数据集的细粒度情感标签转换为情感极性标签,将其映射为正面、负面和中性类别。然后,在情感极性预测(SPP)任务中,训练模型预测输入的情感极性类别。
L S P P ( θ ) = − log ⁡ ( P θ ( s ∣ w n ) ) . \mathcal{L}_{SPP}(\theta)=-\log{(P_{\theta}(s|w_{n}))}. LSPP(θ)=log(Pθ(swn)).

5.3Coarse-grained Label Contrast Learning

在粗粒度对比学习任务中,将编码器的输出作为每个样本的表征,并在一个批次中计算具有相同情感标签的样本之间的欧氏距离。然后,最大化具有相同情感标签的样本之间的相似性。(让模型学会区分不同的情感类别

Alt

L C C L ( θ ) = ∑ j = 1 b ∑ k = 1 b ( d i s t a n c e ( j , k ) ∗ m a s k ( j , k ) ) ∑ k = 1 b d i s t a n c e ( j , k ) , \mathcal{L}_{CCL}(\theta)=\sum_{j=1}^b\frac{\sum_{k=1}^b(distance(j,k)*mask(j,k))}{\sum_{k=1}^bdistance(j,k)}, LCCL(θ)=j=1bk=1bdistance(j,k)k=1b(distance(j,k)mask(j,k)),

符号含义
b b b一个批次的大小
d i s t a n c e ( j , k ) distance(j,k) distance(j,k)样本j和样本k之间的欧氏距离
m a s k ( j , k ) mask(j,k) mask(j,k)当样本j和样本k具有相同的情感标签时, m a s k ( j , k ) mask( j , k) mask(j,k)为1,否则为0
5.4Cross-task Emotion Prediction

在跨任务情感预测(CEP )任务中,首先将编码器的输出作为每个样本的表征,并对每个子任务的样本进行聚类(每个子任务不同的标签将聚成一类)。然后,对于每个样本计算其表征与每个子任务的每个标签簇之间的距离。将距离最小的簇对应的标签作为每个子任务样本的伪标签。

给定一个子任务集 D = { A B S A , M S A , E R C , C A } D=\lbrace ABSA,MSA,ERC,CA \rbrace D={ABSA,MSA,ERC,CA}​,每个样本输出将有4个标签:一个为原始标签,三个为跨任务伪标签。
L C E P ( θ ) = − ∑ D log ⁡ ( P θ ( E d ∣ w m ) ) , \mathcal{L}_{CEP}(\theta)=-\sum^D\log{(P_\theta(E_d|w_m))}, LCEP(θ)=Dlog(Pθ(Edwm)),
E d E_d Ed表示子任务 d ∈ D d\in D dD中的情感标签。

结果与讨论

斜体是消融实验

  • UniSA模型在每个数据集上的表现与现有的SOTA模型相当,并且可以用相对较少的参数执行所有的情感分析子任务。
  • 将提出的任务特定提示方法替换为任务令牌,证明了任务特定提示方法对模型性能的影响。
  • 去掉模态掩码训练方法,验证了模态掩码的有效性。
  • 通过引入了三个额外的LSTM作为音频、图像和上下文输入的编码器,探索不同输入形式对模型性能的影响,证明了Multimodal transformer encoder的有效性。
  • 通过消融预训练的第一阶段与第二阶段,证明了各个预训练阶段的有效性。
  • 通过从多模态信号中剔除声学和视觉模态,验证了多模态对模型性能的影响。
  • 通过在情感分析的下游任务上进行实验,表明UniSA在预训练阶段学习到了跨子任务的共同情感知识,从而在不同的情感分析子任务上表现出良好的泛化性。

代码和数据集

代码:https://github.com/dawn0815/UniSA

数据集:

image-20240306160304953

实验环境:NVIDIA RTX V100(32G)

😃😃😃

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SpringBoot的CSGO赛事管理系统(程序+数据库+文档)

** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 一、研究背景…

Ultimaker Cura使用

参考视频:Cura学习视频 1 软件下载地址 Ultimaker官网- 专业便捷的3D打印品牌 2 软件设置 (1)中文设置: 偏好设置->language->简体中文->关掉界面,重启 (2)添加打印机 Custom F…

电脑蓝牙在哪里打开?不同系统详解

在现代计算机的多功能性中,蓝牙技术的广泛应用使得我们能够轻松连接各种外部设备,实现无线传输和分享。无论是连接无线耳机、键盘,还是与其他设备快速交换文件,蓝牙在电脑中的角色很重要。然而,对于一些用户而言&#…

新闻资讯|基于微信小程序的经济新闻资讯系统设计与实现(源码+数据库+文档)

新闻资讯小程序目录 目录 基于微信小程序的经济新闻资讯系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、用户信息管理 2 短视频信息管理 3、新闻信息管理 4、论坛信息管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设…

SpringBoot3整合Mybatis-plus报错IllegalArgumentException

错误信息 使用的SpringBoot3版本&#xff1a;3.2.3 java.lang.IllegalArgumentException: Invalid value type for attribute factoryBeanObjectType: java.lang.String 第一想法就是感觉是版本太低导致和SpringBoot3不兼容。 查询mybatis-plus最高的版本 <!-- https://m…

【数据结构】栈和队列的应用——括号匹配 + 表达式求值 + 表达式转换 +栈的递归应用+队列在计算机系统中的应用

文章目录 3.栈的应用3.1 括号匹配问题3.2 表达式求值3.2.1 三种算术表达式3.2.2 后缀表达式A.中缀转后缀B.后缀表达式的计算 3.2.3 前缀表达式A.中缀转前缀B.前缀表达式的计算 3.2.4 中缀表达式的求值 3.3 递归中栈的应用 4.队列的应用 栈基础知识&#xff1a;【数据结构】栈 顺…

openGauss基于存储复制的资源池化安装部署流程

第一步&#xff1a;在主存储上创建资源池化需要的lun&#xff0c;以及远程同步复制xlog卷对应的lun&#xff0c;并且所有lun全部映射到业务计算节点上 1. 登录主集群DeviceManager&#xff0c;选择服务->LUN组->创建 来创建主集群LUN组&#xff1b; 2.登录主集群Device…

重要通告 | 公司更名为“浙江实在智能科技有限公司”

更名公告 升级蜕变、砥砺前行 因业务快速发展和战略升级&#xff0c;经相关政府机构批准&#xff0c;自2024年3月1日起&#xff0c;原“杭州实在智能科技有限公司”正式更名为“浙江实在智能科技有限公司”。 更名后&#xff0c;公司统一社会信用代码不变&#xff0c;业务主体…

Android APK体积优化指南:清理项目,打造更小的APK、更快的构建速度和更好的开发体验

Android APK体积优化指南&#xff1a;清理项目&#xff0c;打造更小的APK、更快的构建速度和更好的开发体验 在任何软件项目中&#xff0c;开发是一个持续的过程&#xff0c;随着时间的推移&#xff0c;代码库会变得越来越复杂。这种复杂性可能导致构建时间变慢、APK体积变大&…

中科方德4.0清空旧磁盘分区图文教程

1、如下图在安装过程中&#xff0c;安装目标位置&#xff0c;选择红色箭头所示的“自动”&#xff0c;方德新版本会默认“将home目录设置为最大分区&#xff0c;根目录为最小分区”导致后续项目无法使用&#xff0c;因此新版本必须选择“自定义”&#xff1b; 2、选择自定义 3、…

面试问答之Spring进阶

文章目录 &#x1f412;个人主页&#xff1a;信计2102罗铠威&#x1f3c5;JavaEE系列专栏&#x1f4d6;前言&#xff1a;&#x1f380;说说你对Spring的认识与理解&#x1f415;Bean的分类&#x1f415; BeanFactory 接口和ApplicationContex 接口 的区别&#x1f415;SpringBe…

【短时交通流量预测】基于小波神经网络WNN

课题名称&#xff1a;基于小波神经网络的短时交通流量预测 版本时间&#xff1a;2023-04-27 代码获取方式&#xff1a;QQ&#xff1a;491052175 或者 私聊博主获取 模型简介&#xff1a; 城市交通路网中交通路段上某时刻的交通流量与本路段前几个时段的交通流量有关&#x…