MVP: Multi-view Prompting Improves Aspect Sentiment Tuple Prediction

2023-10-11 03:50

本文主要是介绍MVP: Multi-view Prompting Improves Aspect Sentiment Tuple Prediction,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MVP: Multi-view Prompting Improves Aspect Sentiment Tuple Prediction

论文地址: https://arxiv.org/pdf/2305.12627.pdf
论文代码: https://github.com/ZubinGou/multi-view-prompting

个人阅读笔记, 如有错误欢迎指正交流

1. 介绍

Multi-view Prompting (MVP)

1.1 研究目标

本文提出了多试图提示(MVP)模型处理方面级别情感分析,以聚合不同顺序产生的情感元素,利用不同视角的人类问题解决过程的直觉。具体来说,(MVP)引入元素顺序提示,引导语言模型生成多个情感元组,每个元组的元素顺序不同,然后投票选出最合理的元组。(MVP)可以自然地将多视图和多任务分别建模为元素的排列和组合,在多个ABSA任务上用一个模型比以前的特定于任务的设计方法表现更好。

1.2 现有科学问题

现有的研究往往以固定的顺序(从左到右)预测情感元素,忽视了情感元组中元素的相互依赖性和语言表达的多样性对结果的影响。
这种单顺序生成有以下潜在的缺点: (主要是说没有顺序问题)

  • 不完整性,元组预测并不是一个文本生成任务,元素之间的关系不是有序的,而是相互依赖的;
  • 不稳定性,如Hu等(2022)的研究表明,不同目标模板阶次的性能存在显著差异;
  • 误差积累,前期的预测误差会累积,影响后期的预测。

1.3 解决方法

受提示链(prompt chain)的启发,MVP模型引入了基于元素顺序的提示学习来控制情感元素的预测顺序,实现了目标表达的多样化。与单阶生成相比,MVP通过接收来自多个视图的信息,减轻了固定顺序的不完全性和不稳定性,同时通过元素的排列减轻了生成方法潜在的误差积累(图1)。(这里所说的一个视图相当于是一种排列顺序)
在这里插入图片描述
图1: MVP架构, 三个阶段

1.4 创新点/贡献

  • 介绍了一种基于元素顺序的快速提示方法(MVP),该方法通过聚合多视图结果来提高情绪元组的预测能力。
  • MVP天然的允许我们在所有任务中同时训练单一模型。据我们所知,多任务MVP是第一个在各种ABSA任务上显著优于任务特定模型的单一模型。
  • 实验结果表明,该算法在4个任务的10个数据集上都取得了显著的进展,在低资源环境下也非常有效。

ABSA任务案例

方面术语a: 一般是文本中明确出现的描述目标,如图2“The pizza is delicious”句中的“pizza”就是方面术语。
特殊情况: 当目标被隐式表达(例如“It’s overestimated”)时,由于方面术语是代词,这种情况我们一般将方面术语表示为一个名为“null”的特殊术语。(一般是主语)
观点/意见词o: 一般是(主语)表达自己对目标对象的意见的表达方式。如图2“The pizza is delicious”句中的“delicious”就是观点术语。(一般是宾语)
方面类别C: 一个预定义好的类别集合, 一般用于对方面术语的分类, 该集合为每个特定的感兴趣的领域预定义。例如,pizza 的方面类别是food。 (方面类别与方面术语是一对多的关系)
情绪极性s: 表示当前文本/情感元组的情感极性, 通常包括正面、负面和中性。

在这里插入图片描述
图2: ABSA任务案例

3. 模型架构

在这里插入图片描述

4. 论文方法

基于不同顺序的提示符,模型可以从不同的视图生成多个元组。一些视图给出了相同的正确元组,而一些视图的有效性较低,因此可能是错误的,但不太可能导致相同的错误。换句话说,不同的观点倾向于在正确的情绪元组中表现出更多的一致性。根据这种直觉,提议的MVP集合并将大多数视图同意的元组作为最终结果。(就像是对的答案千篇一律, 错误的写法千奇百怪是一个道理), 温馨提示这里大多数指的是超过试图的二分之一

4.1 基于元素顺序的提示学习

为了控制情感元素的预测顺序,MVP引入了一种基于元素顺序的激励机制。具体来说,我们使用有序的目标模式设计目标,并使用元素顺序提示符设计输入。

4.1.1构建有序目标范式

如果一个输入句子有多个情感元组,我们利用一个特殊的符号[SSEP]将它们对应的有序目标模式连接起来,得到最终的目标序列 y p i y_{pi} ypi O, A, C, S分别代表四个情感元素。
[ O ] e o [ A ] e a [ C ] e c [ S ] e s [ S S E P ] [ O ] e o [ A ] e a [ C ] e c [ S ] e s [O]e_o[A]e_a[C]e_c[S]e_s \space [SSEP] \space [O]e_o[A]e_a[C]e_c[S]e_s [O]eo[A]ea[C]ec[S]es [SSEP] [O]eo[A]ea[C]ec[S]es

4.1.2元素顺序提示

我们将提示符作为后缀添加到每个输入句子,以获得最终的输入xpi。这样我们得到一个训练的输入输出对:

4.2 多视图推理

4.2.1 模式约束生成

但是,生成的结果可能不符合目标模式格式,特别是在训练集较小的情况下(Zhang et al., 2021a;Yan等,2021)。因此,我们设计了一种基于模式的约束解码(Cao等人,2021),将目标模式知识注入到解码过程中。它确保生成的元素位于相应的词汇表集中。具体实施细节见附录B。

4.2.2 多视图结果聚合

因为每个视图可以预测多个元组,所以我们首先聚合所有视图的结果,然后使用出现在大多数视图中的元组作为最终预测。具体来说,对于一个输入句x,假设我们从选择的m个排列中提示一个训练过的模型生成,排列pi的预测元组集合为 T ′ p i T'pi Tpi,它可能包含一个或多个情绪元组,那么我们就可以得到最终的聚合结果 T ′ M V P T^{'} MVP TMVP,由下式得到:
在这里插入图片描述

5. 实验结果

5.1 对比实验

在这里插入图片描述

5.2 低资源

在这里插入图片描述

视图个数的影响

在这里插入图片描述

这篇关于MVP: Multi-view Prompting Improves Aspect Sentiment Tuple Prediction的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/185329

相关文章

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

MVC(Model-View-Controller)和MVVM(Model-View-ViewModel)

1、MVC MVC(Model-View-Controller) 是一种常用的架构模式,用于分离应用程序的逻辑、数据和展示。它通过三个核心组件(模型、视图和控制器)将应用程序的业务逻辑与用户界面隔离,促进代码的可维护性、可扩展性和模块化。在 MVC 模式中,各组件可以与多种设计模式结合使用,以增强灵活性和可维护性。以下是 MVC 各组件与常见设计模式的关系和作用: 1. Model(模型)

MFC中App,Doc,MainFrame,View各指针的互相获取

纸上得来终觉浅,为了熟悉获取方法,我建了个SDI。 首先说明这四个类的执行顺序是App->Doc->Main->View 另外添加CDialog类获得各个指针的方法。 多文档的获取有点小区别,有时间也总结一下。 //  App void CSDIApp::OnApp() {      //  App      //  Doc     CDocument *pD

Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.B

一个bug日志 FATAL EXCEPTION: main03-25 14:24:07.724: E/AndroidRuntime(4135): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.syyx.jingubang.ky/com.anguotech.android.activity.Init

自定义view中常用到哪些方法作用分别是什么

目录 构造函数onMeasure(int widthMeasureSpec, int heightMeasureSpec)onDraw(Canvas canvas)onLayout(boolean changed, int left, int top, int right, int bottom)onTouchEvent(MotionEvent event)onSizeChanged(int

PMP–一、二、三模–分类–14.敏捷–技巧–原型MVP

文章目录 技巧一模14.敏捷--原型法--项目生命周期--迭代型生命周期,通过连续的原型或概念验证来改进产品或成果。每个新的原型都能带来新的干系人新的反馈和团队见解。题目中明确提到需要反馈,因此原型法比较好用。23、 [单选] 一个敏捷团队的任务是开发一款机器人。项目经理希望确保在机器人被实际建造之前,团队能够收到关于需求的早期反馈并相应地调整设计。项目经理应该使用以下哪一项来实现这个目标?

智能工厂程序设计 之1 智能工厂都本俱的方面(Facet,Aspect和Respect)即智能依赖的基底Substrate 之1

Q1、昨天分别给出了三个智能工厂的 “面face”(里面inter-face,外面outer-face和表面surface) 以及每个“面face” 各自使用的“方”(StringProcessor,CaseFilter和ModeAdapter)  。今天我们将继续说说三个智能工厂的“方面” 。在展开之前先看一下三个单词:面向facing,取向oriented,朝向toword。理解这三个词 和

Redis缓存 自定义注解+aspect+反射技术实现

最近再给云随笔后台增加redis模块,突然发现spring-boot-starter-data-redis模块很不人性化,实现不了通用的方式,(当然,你也可以自己写个通用的CacheUtil来实现通用的方式),但由于本人非常的爱装逼,就在这里不讲解那种傻瓜式操作了,这里只讲干货,干到你不可置信的干货). 例如:这里我使用了它其中的RedisTemplate ,发现存到redis中后,数据