情感分析与LLMs角色扮演

news2024/11/26 0:40:45

29b278df352e277ddc8f3c94c38ba826.png

深度学习自然语言处理 原创
作者:wkk

就像人类在做一件事情的时候,可能需要尝试多次。LLM也是如此!这对于情感分析任务尤其如此,在情感分析任务中,LLM需要深入推理来处理输入中的复杂语言现象(例如,从句组成、反讽等),单个LLM生成的单回合输出可能无法提供完美的决策。

今天介绍的论文工作就上面提到的单一LLM框架在进行情感分析时的缺陷展开。

cb0533f0ad37f5c243bcb640f9172f3b.png

论文:Sentiment Analysis through LLM Negotiations
地址:https://arxiv.org/pdf/2311.01876.pdf

在博士毕业就有10篇ACL一作的师兄指导下是种什么体验

简介

LLM的发展为情感分析任务带来的新的解决方案。有研究人员使用LLM,在上下文学习(in-context learning, ICL)的范式下,仅使用少量的训练示例就能够实现与监督学习策略旗鼓相当的性能表现。

缺点:但是单个LLM产生的单轮输出可能无法提供完美的决策。针对情感分析任务,LLM通常需要阐明推理过程,以解决输入句子中的复杂语言现象。

创新:为了解决这个问题,本文提出了一种用于情感分析的多LLM协商策略。所提出的策略的核心是生成器-鉴别器框架,其中一个LLM充当生成器做出情感决策,而另一个充当鉴别器,任务是评估第一个LLM生成的输出的可信度。如下图所示。

f45580dd75c8436e9c3d935e8a8db584.png

具体步骤

  1. 推理生成器:一种LLM,它遵循结构化的推理链,增强生成器的ICL,同时为鉴别器提供评估其有效性的证据和见解;

  2. 推导鉴别器的解释;其他LLM,旨在为其判断提供评估后的理由;

  3. 协商:两个LLM充当生成器和鉴别器的角色,执行协商直到达成共识。

在情感分析基准上的实验表明,在所有基准中,所提出的算法始终比ICL基准产生更好的性能,甚至比Twitter和电影评论数据集上的监督基线更出色的性能。

相关工作

情感分析

情感分析是自然语言处理的热门研究方向之一。其研究方法和思路由早期的“序列模型+分类器”演化到ICL,并逐渐成为一种新的NLP任务范式。研究人员发现在二分类的情感分析中,ICL取得了出色的性能。然而在一些更加复杂的任务(如方面级情感分析)中,ICL的表现不如监督基线模型。

LLM and In-context Learning

LLM训练来自大规模的未标注语料库。LLM可以划分为三类:only Encoder,only Decoder and Encoder-Decoder模型。从GPT3.0开始,LLM通过ICL在许多自然语言处理任务中展现出了出色的性能。

LLM协作

LLM协作涉及多个LLM协同工作以解决给定任务。具体来说,任务被分解为几个中间任务,每个LLM被分配独立完成一个中间任务。给定的任务是在对这些中间结果进行集成或汇总后解决的。LLM协作方法可以利用LLM的能力,提高复杂任务的性能,并能够构建复杂的系统。

LLM情感分析协商

使用两个LLM充当答案生成器和鉴别器。将生成器和鉴别器之间的交互称为协商。协商将重复进行,直到达成共识或超过最大协商次数。图示如下图所示。

685de713376c1db644366f11b543c735.png

生成器

生成器由一个LLM扮演。通过提示询问基于ICL范式的答案生成器,旨在生成一个循序渐进的推理链,并对测试输入的情绪极性做出决定。提示由三个元素组成:任务描述演示测试输入。任务描述是用自然语言对任务的描述(如,“请确定测试输入的整体情感倾向。”);测试输入是测试集中的文本输入(例如,“天空是蓝色的”);演示是从训练中完成的任务。每一个都包含三个元素:输入、推理链和情感决策。对于每个测试输入,首先从训练集中检索K nearest邻居作为演示。然后,我们通过提示生成器生成推理链,将演示转换为(输入、推理过程、情绪决策)三元组。在连接任务描述、演示和测试输入后,将提示转发给生成器,生成器将以逐步推理链和情感决策作为响应。

鉴别器

鉴别器则是由另一个LLM扮演。在完成答案生成过程后,使用答案鉴别器来判断生成器所做的决定是否正确,并提供合理的解释。为了实现这个目标,首先为答案鉴别器构造提示。提示由四个元素组成:任务描述演示测试输入来自答案生成器的响应。任务描述是一段用自然语言描述任务的文本(例如,“请确定决策是否正确。“)。每个演示由六个元素组成:(输入文本、推理链、情感决策、鉴别者态度、鉴别器解释、鉴别器决策)并且通过提示回答鉴别器提供为什么情绪决定对于输入文本是正确的解释来构造。然后使用构造提示询问鉴别器。答案鉴别器将用文本字符串进行响应,该文本字符串包含表示鉴别器是否同意生成器的态度(即,是,否)、解释鉴别器为什么同意/不同意生成器的解释,以及确定测试输入情绪的鉴别器决定。

Why Two LLMs but Not One?

本文工作为何使用两个不同的LLM分别扮演生成器和鉴别器的原因:

  1. 如果LLM由于错误的推理而作为生成器出错,它更有可能也会犯与鉴别器相同的错误,因为来自同一模型的生成器和鉴别器很可能会犯类似的理由;

  2. 通过使用两个独立的模型,能够利用这两个模型的互补能力。

角色转换

在两个LLM以协商结束后,要求它们转换角色并启动新的协商,其中第二个LLM充当生成器,第一个LLM用作鉴别器。同样,角色转换协商也会结束,直到达成共识或超过最大协商次数。当两次协商达成协议,并且他们的决定相同时,选择其中一个决定作为最终决定,因为它们是相同的。如果一个协商未能达成共识,而另一个协商达成决定,将从达成共识的协商中选择一个决定作为最终决定。然而,如果双方协商达成共识,但双方的决定不一致,将需要额外的LLM帮助。

引入第三个LLM

如果两次协商的决定不一致,将引入第三个LLM,并与上述两个LLM中的每一个进行协商和角色转换协商。随后,将得到6个协商结果,并对这些结果进行投票:将最频繁出现的决策作为输入测试的情感极性。

实验

实验选择GPT3.5和GPT4.0作为骨干,并且使用以下三种不同的ICL方法。

  1. Vanilla ICL

  2. Self-Negotiation

  3. Negotiation with two LLMs

Dataset and methods

本文在六个数据集上进行实验,分别为:SST-2Movie ReviewTwitterYelp-BinaryAmazon-BinaryIMDB数据集。并选择了以下Baselines。

  1. supervised methods:DRNN, RoBERTa, XLNet, UDA, BERTweetEFL

  2. ICL methods:FLan-UL2, T5, ChatGPT, InstructGPT-3.5, IDS, GPT-4Self-negotiation

实验结果与分析

本文实验结果如下表所示:

68f5cadfcd8a5065944652a57fbaf3d7.png

从表中可以看出,与普通ICL相比,使用一个LLM(Self-negotiation)遵循generate-discriminate范式在六个情绪分析数据集上获得了性能增益:GPT-3.5增益平均+0.9;GPT-4增益平均+1.0 acc。这种现象表明,LLM作为答案鉴别器,可以校正由任务生成器引起的一部分错误。

此外,与仅使用一个模型相比,使用两个不同的LLM作为任务生成器和鉴别器反过来又带来了显著的性能改进。在MR、Twitter和IMDB数据集上,使用两个LLM的协商在准确性方面分别优于Self-negotiation方法+1.7、+2.1和+2.3。出现这种现象的原因是,使用两个不同的LLM通过协商完成情感分析任务,可以利用对给定输入的不同理解,释放两个LLM的力量,从而做出更准确的决策。

还发现,当引入第三个LLM来解决转换角色协商之间的分歧时,可以获得额外的性能提升。这表明第三个LLM可以通过多次协商解决两个LLM之间的冲突,并提高情绪分析任务的性能。值得注意的是,多模型协商方法在MR数据集上比监督方法RoBERTa Large高出+0.9,并弥合了普通ICL与监督方法之间的差距:在SST-2上实现94.1(+1.4)的准确度;Twitter上92.1(+2.7);对Yelp-Binary为96.3(+2.5);Amazon-Binary的87.2(+3.7);在IMDB数据集上为94.5(+6.0)。

本文在Twitter数据集上的消融实验结果如下表所示:

6453f754e18b993cb35421914defdaa3.png 9217d1edfebe7702736cc7c89a2be065.png

842fe6fb74b3336079200b0d3bd9951b.png结果表明:

  1. 利用异构LLM扮演不同的角色可以优化协商的性能。

  2. GPT-4的推理过程比3.5更明智,使前者的决策更有可能达成一致。

  3. 在协商过程中,LLM被要求阐明其推理原因过程具有重大的意义。

总结

在本文中,分析了基于单一LLM的情感分析方法的局限性,并引入了一种新的角色转换的多LLM协商方法,以提高情感分类的准确性和可解释性。在多个基准上的实验表明,与传统的ICL和许多监督方法相比,本文提出的方法具有优势。未来的工作可以探索优化速度和资源消耗的框架,使基本原则适应其他NLP任务,并设计明确的协商模块,以识别和减轻单个LLM中存在的偏见和解码错误的影响。


备注:昵称-学校/公司-方向/会议(eg.ACL),进入技术/投稿群

4926a0c571b0dfe692287f801cbb152c.png

id:DLNLPer,记得备注呦

7afc4fcfdab9e6f58dc6835600e24f7f.png

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

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

相关文章

SPASS-图表的创建编辑

点击折线图 展示图如下: 双击图表,可进行编辑 图表基本设定 选择、移动图表元素和调整图表元素的大小 鼠标点击图表元素选择Tab键进行轮换选择Ctrl键鼠标进行多个元素选择十字箭头——移动元素双头箭头——调整元素大小 更改图表的外观 文本的内容、…

MS2111多点低压差分(M-LVDS)线路驱动器和接收器

MS2111 是多点低压差分 (M-LVDS) 线路驱动器和接收器。经过 优化,可运行在高达 200Mbps 的信号速率下。所有部件均符合 M LVDS 标准 TIA / EIA-899 。该驱动器的输出支持负载低至 30Ω 的多 点总线。 MS2111 的接收器属于 Type-2 , 可在 -1…

小程序制作(超详解!!!)第十五节 自动随机变化的三色旗

1.例题描述 设计一个小程序&#xff0c;开始时界面上显示一个三色旗和一个按钮&#xff0c;当点击按钮时&#xff0c;三色旗的颜色会发生随机变化&#xff0c;即使不点击按钮&#xff0c;三色旗的颜色也会每隔一定时间自动发生变化。 2.index.wxml <view class"box&…

【笔记】结合P02项目——maven继承与聚合

maven的继承关系 P02项目大概是这个样子&#xff0c;下图展示的是其父工程 父工程配置了parent依赖springb-boot-starter-parent&#xff0c;子工程配置其parant为父工程 子工程引用common子工程 maven的版本锁定 管理子工程的版本号问题 父工程添加dependencyManageMent…

Gradle笔记 六 Gradle 中的Dependencies

文章目录 Dependencies依赖的方式依赖的下载依赖的类型api 与implementation 区别依赖冲突及解决方案 Dependencies 依赖的方式 Gradle 中的依赖分别为直接依赖&#xff0c;项目依赖&#xff0c;本地jar 依赖。案例如下&#xff1a; dependencies { //①.依赖当前项目下的某…

C# Dictionary与List的用法区别与联系

C#是一门广泛应用于软件开发的编程语言&#xff0c;其中Dictionary和List是两种常用的集合类型。它们在存储和操作数据时有着不同的特点和用途。本文将详细探讨C# Dictionary和List的用法区别与联系&#xff0c;并通过代码示例进行对比&#xff0c;以帮助读者更好地选择适合自己…

Mac使用brew搭建kafka集群

1. 第一步&#xff1a;单机搭建 单机搭建&#xff1a; 安装完后&#xff0c;默认自动安装对应版本zookeeper brew install kafka2.第二步&#xff1a;修改配置文件: 配置3个Kafka 第一个&#xff08;使用默认配置&#xff09; vi /opt/homebrew/etc/kafka/server.propertie…

C# 查询腾讯云直播流是否存在的API实现

应用场景 在云考试中&#xff0c;为防止作弊行为的发生&#xff0c;会在考生端部署音视频监控系统&#xff0c;当然还有考官方监控墙系统。在实际应用中&#xff0c;考生一方至少包括两路直播流&#xff1a; &#xff08;1&#xff09;前置摄像头&#xff1a;答题的设备要求使…

服装展示服务预约小程序的内容如何

互联网电商深入&#xff0c;很多服装商家开始线上卖货经营、会员管理及私域营销等&#xff0c;这也是当今商家们的一个优选项&#xff0c;当然除了直接卖货以外&#xff0c;展示和预约、客户交互也同样是不少商家需要的。 那么商家通过服装展示预约小程序能够实现什么效果呢&a…

uni-app:js实现数组中的相关处理-数组复制

一、slice方法-浅拷贝 使用分析 创建一个原数组的浅拷贝&#xff0c;对新数组的修改不会影响到原数组slice() 方法创建了一个原数组的浅拷贝&#xff0c;这意味着新数组和原数组中的对象引用是相同的。因此&#xff0c;当你修改新数组中的对象时&#xff0c;原数组中相应位置的…

竞赛 行人重识别(person reid) - 机器视觉 深度学习 opencv python

文章目录 0 前言1 技术背景2 技术介绍3 重识别技术实现3.1 数据集3.2 Person REID3.2.1 算法原理3.2.2 算法流程图 4 实现效果5 部分代码6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习行人重识别(person reid)系统 该项目…

TLS回调函数

TLS在逆向中的作用 TLS回调函数常用于反调试 TLS先于EP代码执行 TLS是什么 TLS是各线程的独立的数据存储空间 使用TLS技术可以在线程内部独立使用或修改进程的全局数据或静态数据 创建和终止某进程时&#xff0c;TLS回调函数都会自动调用执行 使用OD调试TLS函数

vTESTstudio的使用

vTESTstudio介绍 vTESTstudio是Vector公司专为ECU自动化测试而研发的测试用例编写软件&#xff0c;可用于从模型测试到系统确认的所有开发阶段。它集成了多种用例编辑方法&#xff0c;能有效提高测试人员对测试设计的效率、具有可复用性等优点。它支持Python作为测试编程语言&…

windows查看端口号占用,并杀死进程

1、查看所有运行的端口&#xff1a; netstat -ano 2、查看被占用端口对应的 PID netstat -aon|findstr "8081" 回车执行该命令&#xff0c;最后一串数字就是 PID进程号, 这里是 19232。 3、查看指定 PID 的进程 tasklist|findstr "19232" 回车执行该…

博途PLC增量式PID(支持正反作用和归一化输出)

博途PLC增量式PID算法详细介绍请参考下面文章链接: 【精选】博途1200/1500PLC增量式PID算法(详细SCL代码)_西门子博途pid csdn_RXXW_Dor的博客-CSDN博客文章浏览阅读3.4k次,点赞2次,收藏12次。SMART200PLC增量式PID可以参看下面这篇博文,文章里有完整的增量式PID算法公式,…

初步了解 RabbitMQ

目录 ​编辑一、MQ 概述 1、MQ 的简介 2、MQ 的用途 &#xff08;1&#xff09;限流削峰 &#xff08;2&#xff09;异步解耦 (3)数据收集 二、RabbitMQ 概述 1、RabbitMQ 简介 2、四大核心概念 3、RabbitMQ 的核心部分 ​编辑 4、名词解释&#xff1a; 三、Hello …

MSR015/MSR025低温漂、低功耗电压基准

MSR015/MSR025 是低温漂、低功耗、高精度 CMOS 电压基准&#xff0c; 具有 0.05% 初始精度、低功耗特点。该器件的低输出电压迟滞和低长期输出电压 漂移特性&#xff0c;进一步提高稳定性和系统可靠性。 此外&#xff0c;器件的小尺寸和低运行 电流特性使其非常适合便携…

Stable Diffusion源码调试(三)

Stable Diffusion源码调试&#xff08;三&#xff09; 个人模型主页&#xff1a;LibLibai stable-diffusion-webui 版本&#xff1a;v1.4.1 内容更新随机&#xff0c;看心情调试代码~ shared 变量 shared变量&#xff0c;简直是一锅大杂烩&#xff0c;shared变量存放着程序…

debian 已安装命令找不到 解决方法

前言&#xff1a;安装了debian系统&#xff0c;更新完软件包安装软件之后发现很多命令找不到&#xff0c;查找命令路径发现命令已经安装了&#xff0c;但是没办法直接使用 更新软件包 &#xff08;第一次安装的系统一定要执行&#xff0c;不然可能无法安装软件&#xff09; apt…

说说对Fiber架构的理解?解决了什么问题?

一、问题 JavaScript引擎和页面渲染引擎两个线程是互斥的&#xff0c;当其中一个线程执行时&#xff0c;另一个线程只能挂起等待 如果 JavaScript 线程长时间地占用了主线程&#xff0c;那么渲染层面的更新就不得不长时间地等待&#xff0c;界面长时间不更新&#xff0c;会导…