ACL 2024:交叉领域情感分析——论文阅读笔记

news2024/11/16 6:46:00

前言

        阅读了一篇ABSA的论文,在这里写下自己的一些理解小笔记,可能有点小乱,原文在这下面:

        论文链接:Refining and Synthesis: A Simple yet Effective Data Augmentation Framework for Cross-Domain Aspect-based Sentiment Analysis - ACL Anthology

         中文文章链接:论文速递丨ACL 2024:交叉领域情感分析 (qq.com)


1、引言         

        大多数ABSA模型依赖于同一领域的标注数据,导致在标注数据不足的情况下,模型性能受限。为解决这一问题,部分研究尝试通过领域迁移模型将源领域的知识转移到目标领域,但仍存在标签质量低和生成数据单调等问题

  •  图(a) 展示了在AESC任务中,源领域(笔记本)和目标领域(餐馆)之间的迁移过程中的错误传播问题。由于源领域中的词汇"pad"在目标领域中具有不同的含义,模型错误地将目标领域中的"pad"标记为负面情感,导致生成的句子出现错误。这表明现有方法在迁移过程中可能会传播不准确的标签。
  • 图(b) 展示了在ATSE任务中,目标领域(餐馆)的文本虽然生成了正确的伪标签,但生成的句子模式单调,缺乏多样性。两个生成的句子"The pizza is good"虽然正确,但重复且表达形式不够丰富,说明传统数据增强方法在生成多样化数据方面存在局限。

        为此,本文提出了"Refining and Synthesis Data Augmentation (RSDA)"框架,通过自然语言推理(NLI)过滤数据并增强多样性,从而提高ABSA模型的鲁棒性和泛化能力。测试表明该框架在跨领域实验中表现出色。

        简而言之,本文旨在通过RSDA框架进行数据知识迁移。也来说,RSDA框架生成目标领域的ABSA数据,并在此基础上训练模型,克服了一个模型只能应用于特定领域数据集的问题。通过该框架,源领域的知识可以更好地迁移到目标领域,解决了标注数据不足的问题,提高了模型在不同领域的泛化能力。

2、方法

        RSDA 框架主要包括两个步骤 :数据生成和质量控制、数据多样性增强。

2.1 数据生成和质量控制

2.1.1 数据生成

        ①采用之前(Deng 等人,2023年)的工作方法,同时训练标签提取模型和文本生成模型。

        ②利用标签提取模型,从目标域句子 中提取伪标签 l'

        ③利用样本生成模型,基于伪标签 l'生成一个新的样本t'

        ④经过以上数据生成后,得到一个新的目标域标注数据:

图片

2.1.2.数据质量控制

        生成模型更倾向生成与源域相一致的文本,提取的伪标签所带来的噪声也会传播到生成的文本样本中,从而导致生成的数据质量并不是很好。

        面对以上问题,本文采用了自然语言推理(NLI)过滤器来控制生成数据的质量。

        将原始目标域文本 作为前提,将新生成的文本 t' 作为假设。NLI 过滤器可以确定一对前提和假设之间的关系,表述为:

图片

        其中y可以是蕴含、中立以及矛盾,当 和 t' 之间出现矛盾关系时,表明生成的文本难以从原文中推断出来,应予以过滤;在质量控制之后,一些生成的问题样本将会被去除,从而保留得到高质量的标记数据。

图片

  • 图(a)——t的含义被改变,t和t'已经出现了矛盾。NLI过滤器有效识别并过滤这些例子。
  •  图(b)——显示了目标域中未标记的文本与新生成的文本之间的隐含关系,应保留这些示例。

        简而言之,该小节是通过NLI(自然语言推理)过滤器来筛选目标域中,生成的句子是否与原始句子的情感和方面一致。

 2.2 数据多样性增强

        然而,通过NLI 过滤器过滤了模型生成的目标域标签样本有两个不足的地方:

        ①由于训练资源的限制,生成模型往往会生成简单或重复的句子。

        ②虽然使用 NLI 过滤器可以提高生成数据的质量,但它会过滤掉部分样本,从而牺牲文本表达和模式多样性。 

        为了解决以上问题,作者从信息密度和表达多样性两个维度对数据进行多样化处理。

2.2.1 以组合为基础的多样性强化

        ①目标域标签的向量化:使用MiniLM-L6对目标域标记数据的文本进行向量编码,表示为其语义特征。

        ②K-means聚类:对这些向量表示进行K-means聚类,将标签分为不同的簇,每个簇代表一组相似的标签,计算公式如下:

        ③计算语义相似度:在每个簇中,计算文本对之间的语义相似度,使用余弦相似度来衡量每对文本的相似度,计算公式如下:

        ④选择低相似度文本对:在每个簇中,选择语义相似度最低的两个标签文本。

        ⑤合并标签和文本:对这两个标签的文本进行合并,生成一个新的合成文本。

        ⑥生成新文本:将合并后的标签输入生成模型,生成新的、更平滑的文本,保证生成的文本属于目标领域并保持多样性。 

举例如下:在分好的其中一个簇中,选择语义相似度最低的两个标签文本,分别为“The fried fish is amazing.”与“The salad is the best.”,将其合并为一个新的文本“The fried fish is amazing the salad is the best.”,然后通过生成模型Mg生成一个更顺畅自然的句子“”The fried fish is amazing and the salad is the best I've had in a very long time.”。

        通过上述方法,增加新生成数据的多样性,提升模型的泛化能力和鲁棒性。 

         在这里,新的文本仍然属于同一个目标领域

2.2.2 以转义为基础的多样性强化

(1)标签变体转义

        ①将一个转义模型应用于原始目标域无标签文本t生成一段新的转述文本t'

        ②使用提取模型Me提取伪标签l'

        ③生成模型Mg将根据伪标签l'生成一个新句子t''

        ▲转义工具是直接应用于原始文本的,所有单词都可能被改写,因此提取的伪标签也可能与原始标签不同。这种方法不仅与标签不变的转述过程一致,而且还增强了的多样性和表达能力。

(2)标签不变转义

        ①利用提示鼓励转义工具在将文本t'改写为t''时加入标签l'

        ②使用后处理方法确保转述文本t''包含标签l'

        ▲这样可以避免简单的句子结构,并且尽量保持目标域标签样本中的标签不变,同时转换其上下文,从而合成出更多样化的数据。

        简而言之,就是改变句子,一个是改变原句子的同时标签也变了、一个是改变原句子但是不改变标签。

3、示例

        到这里,可能有的小伙伴还是有点懵,这跟跨领域有什么关系,下面我给出一个例子就可以清楚了。

        首先要清楚我们的源域是有标签的,目标域是没有标签的。我们将源域定义为“餐厅评论”,目标域为“蛞蝓情感评论”,且目标域没有标注的数据。我们希望通过RSDA框架,在没有目标域标签的情况下,生成新的带有情感标签的目标域文本。

(1)源域文本与模型训练

源域文本(餐厅评论):
1. “这家餐厅的服务非常糟糕,食物也很差。”
   Label: <neg> 服务 <opinion> 糟糕
2. “食物非常好吃,服务也很周到。”
   Label: <pos> 食物 <opinion> 好吃

        通过源域的数据,模型学会了如何将评论中的具体名词(如“服务”、“食物”)与情感表达(如“糟糕”、“好吃”)进行关联。模型知道“糟糕”代表负面情感,“好吃”代表正面情感。

(2)跨域知识迁移

        在目标域“蛞蝓情感评论”中,虽然内容与餐厅评论不同,但模型通过源域学习的情感模式,可以迁移到目标域的情感分析中。模型不再关心“服务”或“食物”这些具体名词,而是基于情感词汇的正负面特性来进行分类。

目标域文本(未标注的蛞蝓评论):

“这只蛞蝓滑溜溜的,看起来很恶心。”

        此时,模型通过源域学习到的知识,将“恶心”识别为与“糟糕”相似的负面情感词。

(3)RSDA框架的应用

Ⅰ. 数据生成与质量控制

i)伪标签生成:
  模型通过识别“恶心”这个词,生成伪标签: <neg> 外观 <opinion> 恶心

ii)新文本生成:
  基于伪标签,模型生成新文本:  “蛞蝓的外观非常恶心,感觉让人不舒服。”
iii)NLI质量控制:
  通过NLI(自然语言推理)模型,确保生成的文本与原始文本保持一致,并过滤掉那些不符合逻辑的文本。如果生成的文本出现如“蛞蝓的外观很美丽”(矛盾的情感),则会被过滤。

Ⅱ. 数据多样性增强

i)组合标签增强:
  在目标域中,通过组合不同的伪标签增强数据多样性。例如,组合两个伪标签:
  <neg> 外观 <opinion> 恶心
  <neg> 动作 <opinion> 缓慢
  模型生成的新文本可能是:  “蛞蝓的外观真让人恶心,而且它爬得非常慢。”

ii)改写增强:
  模型还会对生成的文本进行改写,以丰富表达:
  - 原始生成文本:“蛞蝓的外观非常恶心,感觉让人不舒服。”
  - 改写后的文本:“看到蛞蝓滑溜溜的外观真是让人恶心。”

       此时就有了新的数据:

        -句子:看到蛞蝓滑溜溜的外观真是让人恶心。

        -标签:<neg> 外观 <opinion> 恶心          <neg> 动作 <opinion> 缓慢

         也就是说,这篇论文的完整逻辑是:利用源域标识好的方面-情感对,让没有标签的目标域通过数据生成和质量控制、数据多样性增强,得到新的跟目标域原来的句子相差不大但是丰富了的、并且带有方面-情感对的新数据,从而实现了利用一个领域的ABSA进行知识迁移到另一个领域的ABSA。

4、实验

       实验部分其实就是证明了这个方法的有效性跟优越性,具体看一下原文就可以了。

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

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

相关文章

swoole协程 是单线程的,还是多线程的

Swoole 协程本质上是单线程的&#xff0c;但它可以在多个线程中运行。因此&#xff0c;Swoole 协程既可以看作是单线程的&#xff0c;也可以在多线程的环境下运行&#xff0c;这取决于你如何使用 Swoole。 理解 Swoole 协程的运行模式 1 单线程中的协程&#xff1a; 在一个单…

构建常态化安全防线:XDR的态势感知与自动化响应机制

当前&#xff0c;网络安全威胁日益复杂多变&#xff0c;企业正面临前所未有的严峻挑战。为有效应对这些挑战&#xff0c;态势感知与自动化响应机制在提升网络安全运营效率与防御效果中扮演着至关重要的角色。它们能够实时监测网络状态&#xff0c;智能分析潜在威胁&#xff0c;…

浏览器中的JavaScript核心BOM(浏览器对象模型)重点掌握对象之History对象的属性与方法

History对象是用来把网页浏览历史用类似栈的方式进行表示。 这定义听起来非常的抽象&#xff0c;其实History对象的作用就跟浏览器的前进和后退很像&#xff0c;我们来用几幅图来理解一下。首先我们先回顾一下浏览器的返回上一个页面 和 跳转到下一个页面 这两个功能。 就类似…

【计算机网络】网络通信中的端口号

文章目录 一、引入端口号二、端口号的作用三、端口号的确定 在TCP/IP协议中&#xff0c;传输层有两个重要的协议&#xff1a;TCP&#xff08;传输控制协议&#xff09;和UDP&#xff08;用户数据报协议&#xff09;。TCP用于提供可靠的数据传输&#xff0c;而UDP则适合用于广播…

labview对位项目

带角度对位 1、上下拍照对照 项目类型&#xff1a;模组、PACK入箱&#xff0c;以下以模组入箱为例 项目目标&#xff1a;机器人抓起模组&#xff0c;通过上相机定位箱体上的销钉&#xff0c;通过下相机定位模组上的端板孔&#xff0c;计算出旋转偏移量XYR&#xff0c;让模组上…

苹果能引领端侧AI大模型时代吗?

苹果能引领端侧AI时代吗&#xff1f; 这份完整版的大模型 AI 学习资料已经上传CSDN&#xff0c;朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】 北京时间9月10日凌晨&#xff0c;苹果正式发布了iPhone 16&#xff0c;这是苹果第一款真正意义上的 …

精品PPT | 离散制造行业智能工厂总体解决方案

一、建设背景 离散制造业&#xff0c;包括机械制造业、汽车制造业和家电制造业等&#xff0c;其生产过程涉及多个不连续的工序&#xff0c;产品通常由多个零件装配而成。这类行业面临的挑战包括品种多、批量小、订单变化快、临时插单频繁以及外协件管理困难等问题&#xff0c;…

相机光学(三十七)——自动对焦原理

1.自动对焦的三种方式 目前在手机上采用的自动对焦系统包括反差对焦、相位对焦和激光对焦三种方案&#xff0c;下面我们来看一下它们的工作原理和相互之间的区别是什么。 1.1反差对焦【CDAF】- Contrast Detection Auto Focus 反差对焦是目前普及率最高、使用最广泛、成本相对…

Leetcode 701-二叉搜索树中的插入操作

给定二叉搜索树&#xff08;BST&#xff09;的根节点 root 和要插入树中的值 value &#xff0c;将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 &#xff0c;新值和原始二叉搜索树中的任意节点值都不同。 注意&#xff0c;可能存在多种有效的插入方式&a…

QT之QML学习五:添加自定义Qml组件

开发环境: 1、Qt 6.7.2 2、Pyside6 3、Python 3.11.4 4、Windows 10 重要的事情说三遍,使用自定义qml参考链接: Qt官网参考网址!!! 重要的事情说三遍,使用自定义qml参考链接: Qt官网参考网址!!! 重要的事情说三遍,使用自定义qml参考链接: Qt官网参考网址!!!…

2024年华为杯数学建模研赛 最全赛中助攻|选题建议+思路+代码+成品论文预定

2024年华为杯研究生数学建模竞赛&#xff08;以下简研赛&#xff09;将于9月21日上午8时正式开始。 下文包含&#xff1a;2024研赛思路解析​、研赛参赛时间及规则信息说明、好用的数模技巧及如何备战数学建模竞赛 C君将会第一时间发布选题建议、所有题目的思路解析、相关代码…

【2024】Benchmarking Foundation Models with Language-Model-as-an-Examiner

信息 阅读目的&#xff1a;李娟子老师团队&#xff0c;了解模型中的知识评测的工作 白雨时1*、嘉豪英2*、曹义心2、吕新1、何玉泽1, 王笑之1 、于吉凡1 、曾凯生1 、小易佳3 , Haozhe Lyu 4张嘉荫1李娟子1 , Lei Hou 1 凶 1清华大学&#xff0c;北京&#xff0c;中国2新…

AI菜鸟向前飞 — LangGraph系列之一:深入浅出解读Graph(一)

前言 LangGraph是一个使用 LLM 和 LangChain 构建有状态多参与者应用程序的库。 LangChain 允许您使用 LCEL&#xff08;LangChain 表达式语言&#xff09;构建链 AI菜鸟向前飞 — LangChain系列之六 - 深入浅出LCEL与Chain(上篇) AI菜鸟向前飞 — LangChain系列之七 - 深入…

ALIENTEK电容按键按键的介绍与驱动代码

目录 前言 电容触摸按键原理 硬件接线 检测电容触摸按键过程 驱动代码 tpad.h tpad.c main.c 按键扫描函数 前言 我没有独立的电容触摸按键模块&#xff0c;所以使用正点原子STM32F103ZET6精英版开发板上的电容触摸按键。采用STM32F103C8T6检测电容触摸按键&#…

WEB渗透权限维持篇-隐藏windows服务

往期文章WEB渗透权限维持篇-DLL注入\劫持-CSDN博客 WEB渗透权限维持篇-CLR-Injection-CSDN博客 WEB渗透权限维持篇-计划任务-CSDN博客 WEB渗透权限维持篇-DLL注入-修改内存中的PE头-CSDN博客 WEB渗透权限维持篇-DLL注入-进程挖空(MitreT1055.012)-CSDN博客 WEB渗透权限维持…

mysql设置数据库隔离级别及各个隔离级别的作用

一、通过命令设置隔离级别 # 设置全局隔离级别 set global transaction isolation level REPEATABLE READ; set global transaction isolation level READ COMMITTED; set global transaction isolation level READ UNCOMMITTED; set global transaction isolation level SE…

Reduce:一款开源的短网址平台!!【送源码】

今天给大家介绍一款开源的短网址平台&#xff0c;Coody Framework首秀&#xff0c;自写IOC、MVC、ORM、TASK、JSON、DB连接池、服务器。百毫秒启动&#xff0c;全项目仅2.5M&#xff08;低配服可运行&#xff09;。 前端采用Amaze UI&#xff0c;后端采用Coody Framework MVC&…

NGINX开启HTTP3,给web应用提个速

环境说明 linuxdockernginx版本:1.27 HTTP3/QUIC介绍 HTTP3是由IETF于2022年发布的一个标准&#xff0c;文档地址为&#xff1a;https://datatracker.ietf.org/doc/html/rfc9114 如rfc9114所述&#xff0c;http3主要基于QUIC协议实现&#xff0c;在具备高性能的同时又兼备了…

模拟面试后端开发复盘

目录 一&#xff1a;项目的系统开发和设计思路 二&#xff1a;Java的反射是什么&#xff1f;在项目中有用到吗&#xff1f; 三&#xff1a;多态的实现原理 四&#xff1a;项目中的redis是用在了哪里 五&#xff1a;Session和Cookie的区别&#xff0c;Cookie可以被修改吗&a…

socket通讯原理及例程(详解)

里面有疑问或者不正确的地方可以给我留言。 对TCP/IP、UDP、Socket编程这些词你不会很陌生吧&#xff1f;随着网络技术的发展&#xff0c;这些词充斥着我们的耳朵。那么我想问&#xff1a; 什么是TCP/IP、UDP&#xff1f;Socket在哪里呢&#xff1f;Socket是什么呢&#xff1…