当前位置: 首页 > news >正文

Tree-of-Counterfactual Prompting for Zero-Shot Stance Detection

论文地址:Tree-of-Counterfactual Prompting for Zero-Shot Stance Detection - ACL Anthologyicon-default.png?t=O83Ahttps://aclanthology.org/2024.acl-long.49/

1. 概述

        立场检测被定义为对文本中立场态度的自动推断。根据 Biber 和 Finegan (1988) 的定义,立场包含两个主要元素:

  • 立场主体(Subject):立场的表达者,如社交媒体用户、演讲者等。
  • 立场对象(Object):立场的针对目标,通常包括:
    • 话题(Topics):例如“堕胎”、“气候变化”等具有争议性的名词或短语。
    • 交流框架(Frames of Communication, FoCs):框架用于定义问题成因、道德判断和关注点(Entman, 1993)。        

        例如:

  • 话题示例: 一则关于“堕胎”的社交媒体帖子引用 Mother Teresa 的演讲: “爱意味着愿意付出,直到感到痛苦。” 该语境表达了“Reject” 立场,即反对堕胎。
  • 交流框架示例: 关于 COVID-19 疫苗接种的帖子配有讽刺性图像(引用电影《无耻混蛋》中的角色 Hans Landa),表面上与 FoC 矛盾,但结合上下文和图像的讽刺含义,最终表达了“Accept”立场。

挑战: 立场检测往往依赖于复杂的推理过程,包括:

  • 上下文理解:推断态度需要常识知识与语义分析。
  • 多模态融合:文本和图像的联合推理增加了任务难度,尤其是在讽刺、反讽等特殊语言现象中。 

目前的立场检测方法主要分为两类:

  • 基于监督学习的分类方法
    • 示例:SVM-ngrams、BERT 等基于特征和神经网络的分类模型。
    • 局限:
      • 泛化能力差:仅能在训练过的话题或框架上表现良好,无法适应新的立场对象。
      • 依赖标注数据:需要大量带标签的训练样本,成本高昂。
  • 零样本立场检测(ZSSD)
    • 解决了新话题的泛化问题,但仍然需要部分立场示例进行训练。
    • 示例:Allaway & McKeown (2020) 提出的跨话题 ZSSD。

        为进一步克服上述问题,本研究提出了Tabula Rasa 零样本立场检测(TR-ZSSD),在不需要任何标注示例的前提下进行立场推断。  

        本研究引入了一个新的立场检测框架,名为Tree-of-Counterfactual prompting(ToC),其核心思想基于反事实推理(Counterfactual Reasoning)。主要流程分为三步:

步骤 1:反事实树生成(Tree-of-Counterfactual)

        对于给定的社交媒体帖子(SMP)和立场对象,构建一个反事实树:

  • 假设立场值为“Accept”“Reject” 和 “No Stance”。
  • 为每种立场值生成一个反事实假设,形成推理树的分支。

        例如,给定一个关于“气候变化”的帖子,分别假设:

  • Accept 分支:帖子表达接受气候变化的观点。
  • Reject 分支:帖子表达拒绝气候变化的观点。
  • No Stance 分支:帖子未表达任何立场。

步骤 2:反事实解释(Chain-of-Explanation, CoE)

        使用大语言模型(LLMs)或多模态模型(LMMs)生成每个立场值的详细解释。例如:

  • Accept 立场的解释:如何支持气候变化的观点?
  • Reject 立场的解释:如何反驳气候变化的观点?

步骤 3:反事实验证(Chain-of-Contrastive Verification, CoCV)

        将所有生成的反事实解释进行对比验证,选择最合理的立场值。

  • 比较每个立场分支的优势和劣势。
  • 最终选择一个最合理的立场结论。  

2. 方法

        此 Chain-of-Explanation (CoE) 提示框架指导大型语言模型(LLM)提供逐步的解释: 

        来自社交媒体帖子的文本内容被插入到“{文本}”部分,立场对象的文本表示被插入到“{对象}”部分,反事实的立场值被插入到“{立场}”部分。

        阶段 C(如图 2(C) 所示)借鉴了 Chain-of-Verification (CoVe) 提示框架,该框架由 Dhuliawala 等人 (2023) 提出。CoVe 提示框架使 LLM 能够对其生成的回答进行反思,从而通过内省纠正错误。我们采用阶段 B 生成的反事实推理 作为验证的基准回应,并修改验证步骤,引入一种 对比验证 形式。

        通过这种方式,我们创建了反事实链式对比验证 (C-CoCV) 提示框架,对阶段 B 生成的反事实推理进行内省,并将这些推理的论点与帖子p_i和立场对象 o_j的内容进行对比,以验证不同立场值假设的合理性。

        可以看出,C-CoCV 提示的语义与 CoE 提示的语义相同,使得不同的立场对象能够被考虑,同时也可以使用社交媒体帖子(SMP)的文本与图像内容,或立场对象的文本内容。 此外,由 CoE 提示生成的反事实推理被插入到 “{accept_rationale}”、“{reject_rationale}” 和 “{no_stance_rationale}” 部分中。 ToC 提示的三个阶段利用了大规模语言模型(LLMs) 的能力,针对不同的立场假设生成和评估事后推理,促成了一种更具解释性的立场推断机制,在这种机制中,每个立场假设都会被严格审查其有效性。 

3.实验

3.1 实验设置

        在本实验中,作者设计了三个立场检测设置来评估 ToC-TR-ZSSD 方法。使用了三个不同的标注立场数据集:

  • SemEval-2016
    • 数据来源:Twitter 包含五个具有争议性的话题:Abortion(堕胎)、Atheism(无神论)、Climate Change(气候变化)、Feminism(女权主义)和 Hillary Clinton(希拉里·克林顿)。
    • 该数据集已被广泛用于自动立场检测的基准测试,特别是 SemEval-2016 的任务 A。
  • CoVaxFrames
    • 数据来源:关于 COVID-19 疫苗犹豫的社交媒体帖子。
    • 包括 113 个 交流框架(Frames of Communication, FoCs)。例如:
      • “The COVID vaccine renders pregnancies risky, and it is unsafe for unborn babies”
      • “Preference for getting COVID-19 and fighting it off than getting vaccinated.”
    • 数据集主要由文本组成。
  • MMVax-Stance
    • 数据来源:多模态数据集,包含文本、图像和视频。
    • 注释对象:与 CoVaxFrames 相同的 113 个 COVID-19 疫苗相关交流框架。
    • 数据集面临的挑战:需要对文本和多模态内容(如图像、视频)进行联合推理。        

3.2 结果分析 

SemEval-2016结果 :与多个微调系统进行了比较,包括 SVM-ngrams、MITRE 和 pkudblab 的系统。 结果:

  • GPT-3.5 和 GPT-4 在直接提示(Direct Prompting)下表现不佳,但使用 CoT 提示 时,GPT-4 取得了显著的性能提升,接近微调系统的表现。
  • 最高性能:TimeLMs 微调系统的宏平均 F1 分数为 72.9,GPT-4 使用 ToC 提示接近此结果。 

CoVaxFrames 结果:使用了多个现有的基准系统,包括 SBERT-NLI、DS-BERT、LES-GAT 和 LACRScore。 结果:

  • LACRScore 微调系统取得了 76.2 的宏平均 F1 分数,是表现最好的基准系统。 GPT-3.5 和 GPT-4 在直接提示下表现较差,但在使用 CoT 提示 后,性能显著提升。
  • GPT-4 + ToC 提示 的宏平均 F1 分数达到 79.1,超过了微调系统。        

MMVax-Stance 结果:使用了两种大型多模态模型:LLaVA-1.5 和 GPT-4V,并采用了 直接提示 和 CoT 提示 两种策略。 比较基准系统包括:DS-BERT、LES-GAT-MF 和 LACRScore,同时考虑了多模态基准,如 BLIP-2 和 CLIP-Joint。 结果:

  • LLaVA-1.5 和 GPT-4V 在直接提示下表现不佳,但使用 CoT 提示 后,性能显著提高。
  • GPT-4V + ToC 提示 达到 60.6 的宏平均 F1 分数,比 BridgeTower 系统高出近 8 分。 最终的最佳结果来自 BT +S_{Aug} ​ ,该系统通过生成大量合成数据(46,606 条示例)实现了 71.3 的宏平均 F1 分数,数据量比原始数据增加了约 600%。 

相关文章:

Tree-of-Counterfactual Prompting for Zero-Shot Stance Detection

论文地址:Tree-of-Counterfactual Prompting for Zero-Shot Stance Detection - ACL Anthologyhttps://aclanthology.org/2024.acl-long.49/ 1. 概述 立场检测被定义为对文本中立场态度的自动推断。根据 Biber 和 Finegan (1988) 的定义,立场包含两个主…...

NextJs 路由管理

NextJs 路由管理 Defining Routes 1. Creating Routes 2. Creating UI export default function Page() {return <h1>Hello, Next.js!</h1> }Route Groups 路由组 1. 在不影响 URL 路径的情况下组织路由 要在不影响 URL 的情况下组织路由&#xff0c;请创建一…...

hive 小文件分析

1、获取fsimage文件&#xff1a; hdfs dfsadmin -fetchImage /data/xy/ 2、从二进制文件解析&#xff1a; hdfs oiv -i /data/xy/fsimage_0000000019891608958 -t /data/xy/tmpdir -o /data/xy/out -p Delimited -delimiter “,” 3、创建hive表 create database if not exists…...

【JavaWeb后端学习笔记】WebSocket通信

WebSocket是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手&#xff0c;两者之间就可以创建持久性的连接&#xff0c;并进行双向数据传输。 主要应用场景&#xff1a;视频弹幕、网页聊天、体育实况更新、股票基金报价实时…...

搭建springmvc项目

什么是springmvc MVC它是一种设计理念。把程序按照指定的结构来划分: Model模型 View视图 Controller控制层 springmvc框架是spring框架的一个分支。它是按照mvc架构思想设计的一款框架。 springmvc的主要作用: 接收浏览器的请求数据&#xff0c;对数据进行处理&#xff0c;…...

Springboot3.x配置类(Configuration)和单元测试

配置类在Spring Boot框架中扮演着关键角色&#xff0c;它使开发者能够利用Java代码定义Bean、设定属性及调整其他Spring相关设置&#xff0c;取代了早期版本中依赖的XML配置文件。 集中化管理&#xff1a;借助Configuration注解&#xff0c;Spring Boot让用户能在一个或几个配…...

java后端环境配置

因为现在升学了&#xff0c;以前本来想毕业干java的&#xff0c;很多java的环境配置早就忘掉了&#xff08;比如mysql maven jdk idea&#xff09;&#xff0c;想写个博客记录下来&#xff0c;以后方便自己快速搭建环境 JAVA后端开发配置 环境配置jdkideamavenMySQLnavicate17…...

手眼标定工具操作文档

1.手眼标定原理介绍 术语介绍 手眼标定&#xff1a;为了获取相机与机器人坐标系之间得位姿转换关系&#xff0c;需要对相机和机器人坐标系进行标定&#xff0c;该标定过程成为手眼标定&#xff0c;用于存储这一组转换关系的文件称为手眼标定文件。 ETH&#xff1a;即Eye To …...

WebGIS城市停水及影响范围可视化实践

目录 前言 一、相关信息介绍 1、停水信息的来源 2、停水包含的相关信息 二、功能简介 1、基础小区的整理 2、停水计划的管理 三、WebGIS空间可视化 1、使用到的组件 2、停水计划的展示 3、影响小区的展示 4、实际效果 四、总结 前言 城市停水&#xff0c;一个看似…...

无管理员权限 LCU auth-token、port 获取(全网首发 go)

一&#xff1a; 提要&#xff1a; 参考项目&#xff1a; https://github.com/Zzaphkiel/Seraphine 想做一个 lol 查战绩的软件&#xff0c;并且满足自己的需求&#xff08;把混子和大爹都表示出来&#xff09;&#xff0c;做的第一步就是获取 lcu token &#xff0c;网上清一色…...

【数字花园】数字花园(个人网站、博客)搭建经历教程

目录 写在最最前面数字花园的定义第一章&#xff1a;netlify免费搭建数字花园相关教程使用的平台步骤信息管理 第二章&#xff1a;本地部署数字花园数字花园网站本地手动部署方案1. 获取网站源码2.2 安装 Node.js 3. 项目部署3.1 安装项目依赖3.2 构建项目3.3 启动http服务器 4…...

python模拟练习第一期

问题一 如果一个数 p 是个质数&#xff0c;同时又是整数 a的约数&#xff0c;则 p 称为 a的一个质因数。 请问 2024 有多少个质因数&#xff1f; 步骤 1: 分解 2024 首先&#xff0c;2024 是偶数&#xff0c;说明可以被 2 整除。我们从 2 开始进行除法分解&#xff1a; 202…...

Xcode

info.plist Appearance Light 关闭黑暗模式 Bundle display name 设置app名称&#xff0c;默认为工程名 Location When In Use Usage Description 定位权限一共有3个key 1.Privacy - Location When In Use Usage Description 2.Privacy - Location Always and When In U…...

RabbitMQ安装延迟消息插件(mq报错)

之前启动一个springboot的单体项目&#xff0c;一直mq的错误&#xff0c;即便我更新了最新版本的mq&#xff0c;还是报错。 后来才发现&#xff0c;项目使用了延时队列&#xff0c;是需要单独下载延时插件的。 1如果判断mq有没有延时队列插件【没有x-delayed-message】 2下载…...

es 3期 第15节-词项查询与跨度查询实战运用

#### 1.Elasticsearch是数据库&#xff0c;不是普通的Java应用程序&#xff0c;传统数据库需要的硬件资源同样需要&#xff0c;提升性能最有效的就是升级硬件。 #### 2.Elasticsearch是文档型数据库&#xff0c;不是关系型数据库&#xff0c;不具备严格的ACID事务特性&#xff…...

iOS Delegate模式

文章目录 一、 Delegate 模式的概念二、Delegate 的实现步骤步骤 1: 定义一个协议&#xff08;Protocol&#xff09;步骤 2: 在主类中添加一个 delegate 属性步骤 3: 实现协议的类遵守协议并实现方法步骤 4: 设置 delegate 三、Delegate 模式的特点四、Delegate 模式的常见场景…...

java-使用druid sqlparser将SQL DDL脚本转化为自定义的java对象

java-使用druid sqlparser将SQL DDL脚本转化为自定义的java对象 一、引言二、环境三、待解析的DDL四、解析后的对象结构五、完整的UT类六、控制台输出总结 一、引言 在日常开发中&#xff0c;有些需要对SQL进行解析的场景&#xff0c;比如读取表结构信息&#xff0c;生成文档、…...

React状态管理常见面试题目(一)

1. Redux 如何实现多个组件之间的通信?多个组件使用相同状态时如何进行管理? Redux 实现组件通信 Redux 是一个集中式的状态管理工具&#xff0c;通过共享一个全局 store 来实现多个组件之间的通信。 通信机制&#xff1a; 所有状态保存在 Redux 的全局 store 中。使用 ma…...

jenkins 出现 Jenkins: 403 No valid crumb was included in the request

文章目录 前言解决方式:1.跨站请求为找保护勾选"代理兼容"2.全局变量或者节点上添加环境变量3.&#xff08;可选&#xff09;下载插件 the strict Crumb Issuer plugin4.重启 前言 jenkins运行时间长了&#xff0c;经常出现点了好几次才能构建&#xff0c;然后报了Je…...

【前端面试】list转树、拍平, 指标,

这个题目涉及的是将一组具有父子关系的扁平数据转换为树形结构&#xff0c;通常称为“树形结构的构建”问题。类似的题目包括&#xff1a; 1. 组织架构转换 给定一个公司的员工列表&#xff0c;每个员工有 id 和 managerId&#xff0c;其中 managerId 表示该员工的上级。任务…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅&#xff08;Pub/Sub&#xff09;模式与专业的 MQ&#xff08;Message Queue&#xff09;如 Kafka、RabbitMQ 进行比较&#xff0c;核心的权衡点在于&#xff1a;简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

Python竞赛环境搭建全攻略

Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型&#xff08;算法、数据分析、机器学习等&#xff09;不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...

二维FDTD算法仿真

二维FDTD算法仿真&#xff0c;并带完全匹配层&#xff0c;输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...

CSS3相关知识点

CSS3相关知识点 CSS3私有前缀私有前缀私有前缀存在的意义常见浏览器的私有前缀 CSS3基本语法CSS3 新增长度单位CSS3 新增颜色设置方式CSS3 新增选择器CSS3 新增盒模型相关属性box-sizing 怪异盒模型resize调整盒子大小box-shadow 盒子阴影opacity 不透明度 CSS3 新增背景属性ba…...