[论文笔记] Dual-Channel Span for Aspect Sentiment Triplet Extraction

一种利用句法依赖和词性相关性信息来过滤噪声(无关跨度)的基于span方法。

会议EMNLP 2023
作者Pan Li, Ping Li, Kai Zhang
团队Southwest Petroleum University
论文地址https://aclanthology.org/2023.emnlp-main.17/
代码地址https://github.com/bert-ply/Dual_Span/tree/master
简介一种基于span双通道的情感三元组抽取模型

Task

方面级情感分析(ABSA)中的一项子任务(情感三元组抽取,ASTE)。
image.png
图1. ASTE 任务中带有依存树和词性的句子

Problem

在ASTE任务中采用跨度交互的方式已被证明能为模型带来不错的收益。然而,基于span的方法最大的一个问题是它们通常会枚举句子中所有的span,这样会带来非常大的计算成本和噪声。具体来说,长度为n的句子的枚举跨度数量是 o ( n 2 ) o(n^2) o(n2),而在后期跨度配对阶段,所有意见和方面候选跨度之间可能的交互数量为 o ( n 4 ) o(n^4) o(n4),这意味着绝大多数的跨度都是无效的。此外,大多数现有的基于跨度的方法都对两个跨度之间的直接交互进行建模,而高阶交互作用被忽视。
为了解决以上问题,作者对跨度中的语言现象进行了探讨:

  • 在语法依赖树方面,由多个单词组成的aspect或opinion跨度在语法上是依赖的,并且多重依赖关系可以在跨度之间传递高阶交互。
  • 在词性方面,aspect和opinion存在一些常见的情况,如:aspect通常是名词(N)或名词短语(NN-NN),而opinion通常是形容词(JJ)。

Contributions

  • 提出了一种新的跨度生成方法,通过利用句法依赖关系和词性特征之间的相关性,显著减少了跨度候选的数量,从而降低了计算成本和噪声。
  • 通过构建基于句法依赖和词性关系的图注意力网络(RGAT),模型能够捕获跨度/单词之间的高阶语言特征交互,增强了跨度表示。
  • 两个公共数据集上的广泛实验表明,Dual-Span模型在ASTE任务上超越了所有现有的最先进方法,证明了其有效性和优越性。

Methodology

Sentence Encoding

本文采用了两种句子编码方法:

  • GloVe+BiLSTM
  • BERT

其实只做进行BERT版本即可,可能是为了与借鉴的Span-ASTE对比(也采用了这两种编码方法)。

Feature Enhancing Module

如上所述,跨度(或跨度内单词)涉及句法依赖性和词性相关性,因此将这些信息合并到特征表示中可能有利于跨度配对和情感预测。
为了捕获高阶依赖关系,这里我们设计了一种基于图神经网络的方法来对高阶跨度内和跨度的句法依赖关系和词性关系进行编码。具体来说,我们构建了词性关系图(对应于图3(b)所示的多关系矩阵)。然后,我们应用两个关系图注意网络分别学习所讨论句子的句法依存树和构建的词性图上单词之间的高阶交互。

Part-of-speech And Syntactic Dependency Graph Construction

利用斯坦福的CoreNLP来完成句法依赖和词性的标注
image.png
图2. ASTE 任务中一个句法依存树和词性邻接矩阵的例句
G S y n = ( V , R S y n ) G^{Syn}=(V,R^{Syn} ) GSyn=(V,RSyn) G P o s = ( V , R P o s ) G^{Pos}=(V,R^{Pos} ) GPos=(V,RPos)分别表示句法依存图和词性图,索引为i的词与索引为j的词之间的关系向量分别为 r i , j s r^{s}_{i,j} ri,js r i , j p r^{p}_{i,j} ri,jp

High-order Feature Learning with Relational Graph Attention Network

image.png
图3. Dual-Span的模型架构图
在构建好句法依赖图和词性图之后,作者构建了两个关系图注意力网络(RGAT):SynGAT和PosGAT,分别用来捕获句法依赖图和词性图的语言特征。
对于第 i i i个节点,更新过程如下:
image.png
其中 Z Z Z表示注意力头的数量, h i s y n ( l ) h^{syn}_i(l) hisyn(l) h i p o s ( l ) h^{pos}_i(l) hipos(l)表示第 l l l层数第 i i i个节点的表示向量, N ( i ) N(i) N(i)表示与 i i i直接相邻的节点集。
为了融合句法依赖和词性关系特征,作者引入了一种门机制:
image.png

Dual-Channel Span Generation

前面通过R-GAT完成了句法依存和词性信息的融合,接下来就是进行span的枚举了。这里的span枚举有两种方式。

Syntactic Span Generation

只枚举索引为 i i i的词与索引为 j j j的词之间存在依赖边或关系( e i , j = 1 e_{i,j}=1 ei,j=1),且 i i i j j j之间的距离小于 L s L_s Ls,则认为索引 i i i到索引 j j j之间的所有的词是一个span。
image.png
其中, f w i d t h ( i , j ) f_{width}(i,j) fwidth(i,j)是一个可训练的embedding。

Part-of-speech Span Generation

只枚举出所有的名词和形容词, ( k , l ) (k,l) (k,l)中每个词都是NN或者JJ,则 k k k l l l之间的所有词是一个span。
image.png
其中, f w i d t h ( k , l ) f_{width}(k,l) fwidth(k,l)是一个可训练的embedding。

最终将两种枚举方案种的span进行取并集,得到最终的span候选集:
S = S i , j s y n ∪ S k , l p o s S = S^{syn}_{i,j}∪S^{pos}_{k,l} S=Si,jsynSk,lpos

Span Classification

获得span候选集 S S S后,通过利用两个辅助任务(即 ATE 和 OTE 任务)进一步缩小可能的跨度池。相当于对每个span做一个三分类任务:{Aspect, Opinion, Invalid}
image.png
预测为Aspect或Opinion的span并不是全部都作为候选的Aspect或Opinion,而是分别取出tok nz个作为Aspect候选span和Opinion候选span。(做法与Span-ASTE一致)

Triplet Module

对候选的aspect和opinion进行两两配对,配对之后的跨度对的向量表示:
image.png
f d i s t a n c e ( a , b , c , d ) f_{distance}(a,b,c,d) fdistance(a,b,c,d)是一个可训练的embedding, r a b , c d s r^{s}_{ab,cd} rab,cds为词a、b与词c、d之间的依赖关系表示向量做一个均值操作。
接下来对每个配对之后的pair进行4分类:{Positive, Negative, Neutral, Invalid}:
image.png

Training objective

训练的损失函数定义为跨度分类和三元组模块中跨度对分类的负对数似然之和:
image.png

Experiments

Dataset

ASTE-Data-v1和ASTE-Data-v2,所有数据集均基于 SemEval 挑战(Pontiki 等人,2014、2015、2016),并包含笔记本电脑和餐厅领域的评论。
image.png
图4. ASTE两个数据集的想详细统计结果

Main Results

image.png
图5. ASTE-Data-v1数据集的主要结果
image.png
图6. ASTE-Data-v2数据集的主要结果

  • 性能提升: Dual-Span模型在四个公共数据集(Lap14, Res14, Res15, Res16)上进行了广泛的实验,实验结果表明,该模型在F1分数上一致超越了所有现有的最先进方法。这证明了Dual-Span在ASTE任务上的有效性和优越性。
  • 句法结构的利用: 在基于标签的端到端方法中,那些利用句子句法结构的方法(如S3E2, MTDTN和EMC-GCN)通常比仅学习标签信息的方法(如OTE-MTL, GTS和JET)表现得更好,这表明句法特征对于三元组表示是有意义的。

Ablation Study

image.png
图7. 消融实验的结果
通过消融研究,论文进一步验证了Dual-Span中各个组件的有效性。移除句法图注意力网络(SynGAT)、词性图注意力网络(PosGAT)或两者都移除(Dual-RGAT)都会导致性能下降,这表明模型的每个部分都对最终的ASTE任务性能有贡献。

Effectiveness of Dual-Span in Span Generation

image.png
图8. ATE和OTE任务在数据集D2上的实验结果
在 ATE 任务上,Dual-Span 始终优于 Span-ASTE 和 GTS,这表明基于句法和词性相关性的候选缩减和表示对于方面术语识别是有效的。然而,在 OTE 任务上,模型在大多数基准数据集上略逊于 Span-ASTE,这是由较低的 P(precision)值引起的。可能是因为作者只考虑涉及用 JJ或NN 标记的单词的跨度。但是,意见术语可以用 VBN 标记,但他们没有被包括在内。
image.png
图9. 在D2数据集上生成span耗时(秒)的实验结果
Dual-Span模型通过双通道跨度生成策略显著减少了计算成本,实验结果显示,与Span-ASTE相比,Dual-Span在生成跨度的时间消耗上减少了一半。

Conclusion

  • Dual-Span模型通过利用句法关系和词性特征来改进ASTE任务的性能。
  • 实验结果表明,该方法在ASTE和ATE任务上相比所有基线方法都有显著提升。
  • 论文指出,对于OTE任务,Dual-Span通常不如枚举所有可能跨度的简单跨度基方法。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

升级!Sora漫步街头的女人可以跳舞啦!科目三蹦迪多种舞姿停不下来,可精准控制动作

Sora为我们展开了一个充满惊喜的新篇章,同时,Viggle这一模型也吸引了公众的目光,并在推特上迅速走红! 想象一个场景,你仅需用几句话就能让画面活灵活现,无论是让角色跳舞、做后空翻,这些曾经只能…

LeetCode刷题【树状数组、并查集、二叉树】

目录 树状数组307. 区域和检索 - 数组可修改406. 根据身高重建队列673. 最长递增子序列的个数1409. 查询带键的排列 并查集128. 最长连续序列130. 被围绕的区域 二叉树94. 二叉树的中序遍历104. 二叉树的最大深度101. 对称二叉树543. 二叉树的直径108. 将有序数组转换为二叉搜索…

算法 之 排序算法

🎉欢迎大家观看AUGENSTERN_dc的文章(o゜▽゜)o☆✨✨ 🎉感谢各位读者在百忙之中抽出时间来垂阅我的文章,我会尽我所能向的大家分享我的知识和经验📖 🎉希望我们在一篇篇的文章中能够共同进步!!&…

CSS(一)

一、CSS 简介 1.1 HTML 的局限性 说起 HTML&#xff0c;这其实是个非常单纯的家伙&#xff0c;他只关注内容的语义。比如 <h1> 表明这是一个大标题&#xff0c;<p> 表明这是一个段落&#xff0c;<img> 表明这儿有一个图片&#xff0c;<a> 表示此处有链…

PCB产业渐出谷底,超颖电子能否找到发展确定性?

经历了三年多低迷期&#xff0c;消费电子在2024年终于以企稳回升的姿态逐步回暖。IDC预期&#xff0c;2024年&#xff0c;智能手机、PC、服务器等关键领域的出货量或迎来修复性成长。 这也将带动“电子产品之母”印刷电路板&#xff08;Printed Circuit Board&#xff0c;PCB&…

Python之装饰器-无参装饰器

Python之装饰器-无参装饰器 装饰器介绍 1. 为何要用装饰器 Python 中的装饰器是一种语法糖&#xff0c;可以在运行时&#xff0c;动态的给函数或类添加功能。装饰器本质上是一个函数&#xff0c;使用 函数名就是可实现绑定给函数的第二个功能 。将一些通用的、特定函数的功…

InstructGPT的流程介绍

1. Step1&#xff1a;SFT&#xff0c;Supervised Fine-Tuning&#xff0c;有监督微调。顾名思义&#xff0c;它是在有监督&#xff08;有标注&#xff09;数据上微调训练得到的。这里的监督数据其实就是输入Prompt&#xff0c;输出相应的回复&#xff0c;只不过这里的回复是人工…

python5:基于多进程的并发编程、基于协程的并发编程的学习笔记

进程 为什么要使用多进程&#xff1f;——GIL的存在&#xff0c;多线程实际不是并发执行 将任务分为两类&#xff1a;IO密集型&#xff08;多线程&#xff09;CPU密集型&#xff08;多进程&#xff09; 多进程的基本用法 concurrent.futures.process.ProcessPoolExecutor#进…

李清照想老公了,人比黄花瘦

年轻时的风光无限&#xff0c;中年时的颠沛流离&#xff0c;晚年时的孤独寂寞&#xff0c;李清照的一生跌宕起伏&#xff0c;十分凄惨。 北宋的国破家亡&#xff0c;让李清照从活泼可爱的少女成为孤独的老妇人。 一、少女情思 少女时期&#xff0c;李清照有一次去游玩&#…

【Linux】误删除/home家目录怎么办? -- 此时ssh连接登录的就是此普通用户

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…

Windows系统安装VNC客户端结合内网穿透实现公网远程连接Deepin桌面

文章目录 1. 安装x11vnc2. 本地远程连接测试3. Deepin安装Cpolar4. 配置公网远程地址5. 公网远程连接Deepin桌面6. 固定连接公网地址7. 固定公网地址连接测试 x11vnc是一种在Linux系统中实现远程桌面控制的工具&#xff0c;它的原理是通过X Window系统的协议来实现远程桌面的展…

AJAX-综合

文章目录 同步代码和异步代码回调函数地狱解决回调函数地狱Promise-链式调用async函数和awaitasync函数和await-捕获错误 事件循环宏任务与微任务Promise.all静态方法 同步代码和异步代码 同步代码&#xff1a;逐步执行&#xff0c;需原地等待结果后&#xff0c;才继续向下执行…

深入探索C语言动态内存分配:释放你的程序潜力

&#x1f308;大家好&#xff01;我是Kevin&#xff0c;蠢蠢大一幼崽&#xff0c;很高兴你们可以来阅读我的博客&#xff01; &#x1f31f;我热衷于分享&#x1f58a;学习经验&#xff0c;&#x1f3eb;多彩生活&#xff0c;精彩足球赛事⚽ &#x1f31f;感谢大家的支持&#…

【Java程序设计】【C00341】基于Springboot的药品管理系统(有论文)

基于Springboot的药品管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 项目获取 &#x1f345;文末点击卡片获取源码&#x1f345; 开发环境 运行环境&#xff1a;推荐jdk1.8&#xff1b; 开发工具&#xff1a;eclipse以及idea&…

力扣刷题31-33(力扣 0024/0070/0053)

今日题目&#xff1a; 24. 两两交换链表中的节点 题目&#xff1a;给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09; 思路&…

BOM 浏览器对象模型

文章目录 1. BOM 概述2.window 对象的常见事件窗口加载事件调整窗口大小事件 3.定时器setTimeout() 定时器案例&#xff1a;5秒后自动关闭的广告停止 setTimeout() 定时器setInterval() 定时器案例&#xff1a;倒计时停止 setInterval() 定时器案例&#xff1a;发送短信this 4.…

亚马逊云科技:企业如何开启生成式AI之旅?

如果要评选最近两年全球科技行业最热门的细分领域&#xff0c;那么生成式AI绝对会以遥遥领先的票数成为当仁不让的冠军。 然而眼见生成式AI发展得如火如荼&#xff0c;越来越多的企业却陷入了深深的焦虑&#xff1a;应该如何开启生成式AI之旅&#xff1f;又该怎样搭建大模型&am…

MySQL进阶-----Linux系统安装MySQL

目录 前言 一、准备工作 1. 准备一台Linux服务器 2. 下载Linux版MySQL安装包 3. 上传MySQL安装包 二、安装操作指令 1. 创建目录,并解压 2.安装mysql的安装包 三、开启mysql与密码修改 1.启动MySQL服务 2. 查询自动生成的root用户密码 3.修改root用户密码 四、创…

机器学习:智能时代的核心引擎

目录 一、什么是机器学习 二、监督学习 三、无监督学习 四、半监督学习 五、强化学习 一、什么是机器学习 机器学习是人工智能的一个分支&#xff0c;它主要基于计算机科学&#xff0c;旨在使计算机系统能够自动地从经验和数据中进行学习并改进&#xff0c;而无需进行明确…