[论文笔记] 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)。
图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来完成句法依赖和词性的标注
图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
图3. Dual-Span的模型架构图
在构建好句法依赖图和词性图之后,作者构建了两个关系图注意力网络(RGAT):SynGAT和PosGAT,分别用来捕获句法依赖图和词性图的语言特征。
对于第 i i i个节点,更新过程如下:
其中 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直接相邻的节点集。
为了融合句法依赖和词性关系特征,作者引入了一种门机制:
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。
其中, 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。
其中, 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,jsyn∪Sk,lpos
Span Classification
获得span候选集 S S S后,通过利用两个辅助任务(即 ATE 和 OTE 任务)进一步缩小可能的跨度池。相当于对每个span做一个三分类任务:{Aspect, Opinion, Invalid}
预测为Aspect或Opinion的span并不是全部都作为候选的Aspect或Opinion,而是分别取出tok nz个作为Aspect候选span和Opinion候选span。(做法与Span-ASTE一致)
Triplet Module
对候选的aspect和opinion进行两两配对,配对之后的跨度对的向量表示:
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}:
Training objective
训练的损失函数定义为跨度分类和三元组模块中跨度对分类的负对数似然之和:
Experiments
Dataset
ASTE-Data-v1和ASTE-Data-v2,所有数据集均基于 SemEval 挑战(Pontiki 等人,2014、2015、2016),并包含笔记本电脑和餐厅领域的评论。
图4. ASTE两个数据集的想详细统计结果
Main Results
图5. ASTE-Data-v1数据集的主要结果
图6. ASTE-Data-v2数据集的主要结果
- 性能提升: Dual-Span模型在四个公共数据集(Lap14, Res14, Res15, Res16)上进行了广泛的实验,实验结果表明,该模型在F1分数上一致超越了所有现有的最先进方法。这证明了Dual-Span在ASTE任务上的有效性和优越性。
- 句法结构的利用: 在基于标签的端到端方法中,那些利用句子句法结构的方法(如S3E2, MTDTN和EMC-GCN)通常比仅学习标签信息的方法(如OTE-MTL, GTS和JET)表现得更好,这表明句法特征对于三元组表示是有意义的。
Ablation Study
图7. 消融实验的结果
通过消融研究,论文进一步验证了Dual-Span中各个组件的有效性。移除句法图注意力网络(SynGAT)、词性图注意力网络(PosGAT)或两者都移除(Dual-RGAT)都会导致性能下降,这表明模型的每个部分都对最终的ASTE任务性能有贡献。
Effectiveness of Dual-Span in Span Generation
图8. ATE和OTE任务在数据集D2上的实验结果
在 ATE 任务上,Dual-Span 始终优于 Span-ASTE 和 GTS,这表明基于句法和词性相关性的候选缩减和表示对于方面术语识别是有效的。然而,在 OTE 任务上,模型在大多数基准数据集上略逊于 Span-ASTE,这是由较低的 P(precision)值引起的。可能是因为作者只考虑涉及用 JJ或NN 标记的单词的跨度。但是,意见术语可以用 VBN 标记,但他们没有被包括在内。
图9. 在D2数据集上生成span耗时(秒)的实验结果
Dual-Span模型通过双通道跨度生成策略显著减少了计算成本,实验结果显示,与Span-ASTE相比,Dual-Span在生成跨度的时间消耗上减少了一半。
Conclusion
- Dual-Span模型通过利用句法关系和词性特征来改进ASTE任务的性能。
- 实验结果表明,该方法在ASTE和ATE任务上相比所有基线方法都有显著提升。
- 论文指出,对于OTE任务,Dual-Span通常不如枚举所有可能跨度的简单跨度基方法。
相关文章:

[论文笔记] 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…...

【C语言】linux内核pci_enable_device函数和_PCI_NOP宏
pci_enable_device 一、注释 static int pci_enable_device_flags(struct pci_dev *dev, unsigned long flags) {struct pci_dev *bridge;int err;int i, bars 0;/** 此时电源状态可能是未知的,可能是由于新启动或者设备移除调用。* 因此获取当前的电源状态&…...

网络: 套接字
套接字: 在网络上进行进程间通信 网络字节序与主机字节序的转化 sockaddr sockaddr struct sockaddr {sa_family_t sa_family; // 地址族char sa_data[14]; // 地址数据,具体内容与地址族相关 };sockaddr_in :主要是地址类型, 端口号, IP地址. 基于IPv4编程…...

Day57-Nginx反向代理与负载均衡初步应用
Day57-Nginx反向代理与负载均衡初步应用 1. Nginx代理介绍2. Nginx代理常见模式2.1 正向代理2.2 反向代理2.3 正向与反向代理区别 3. Nginx代理支持协议4. Nginx反向代理场景实践5. lb01安装部署nginx 1. Nginx代理介绍 1)在没有代理的情况下,都是客户端…...
【PHP】通过PHP开启/暂停Apache、MySQL或其他服务
目录 一、前言 二、代码 一、前言 有些时候我们需要开启或暂停一些服务,比如说开启Apach或暂停MySQL服务等,最近工作中也开发了这方面的功能,记录下来怎样使用PHP语言来开启或暂停Apache、MySQL服务的运行状态。 这种方法也适用其他服务。…...
JAVA中spring介绍
Spring框架是一个开源的Java平台,它最初由Rod Johnson于2003年创建,目的是简化企业级应用的开发。Spring框架的核心特性包括控制反转(IoC)、面向切面编程(AOP)、事务管理、数据访问等。它通过提供一套综合的…...

latex下载与安装
用jupyter导出pdf时,需要用到Tex 1.Tex下载安装 官网 直接git下载 git clone https://github.com/latex3/latex2e.git 或者 清华大学开源软件镜像 双击.bat文件 大概需要1-2小时,如果安装失败,重新进行安装 查看是否安装成功ÿ…...

JavaParser 手动安装和配置
目录 前言 一、安装 Maven 工具 1.1 Maven 软件的下载 1.2 Maven 软件的安装 1.3 Maven 环境变量配置 1.4 通过命令检查 Maven 版本 二、配置 Maven 仓库 2.1 修改仓库目录 2.2 添加国内镜像 三、从 Github 下载 JavaParser 3.1 下载并解压 JavaParser 3.2 从路径打…...
再次度过我的创作纪念日
机缘 写博客的机缘巧合已经在上一篇博客中写到了,至于收获和成就也不一一赘述了。想和大家聊的呢就这最近这一年左右的经历吧 日常 自从2022年开始,入职了一家大型的项目外派公司,名字就不说了。开始了我的保险公司系统的开发工作。工作地点…...

云电脑火爆出圈,如何选择和使用?--腾讯云、ToDesk云电脑、青椒云使用评测和攻略
前言: Hello大家好,我是Dream。在当下,科技的飞速发展已经深入影响着我们的日常生活,特别是随着物联网的兴起和5G网络的普及,云计算作为一个重要的技术概念也逐渐走进了我们的视野。云计算早已不再是一个陌生的名词&am…...
webpack原理之-打包流程热更新HMR
webpack打包流程? 1. 初始化: 启动构建,读取与合并配置参数,加载Plugin,实例化Compiler; 2. 编译: 从 entry出发,针对每个 Module 串行调用对应的 loader 去翻译文件的内容,再找到该 Module 依赖…...

SELinux详解
文章目录 SELinux详解什么是SELinux当初设计的目标:避免资源的误用传统的文件权限与账号主要的关系:自主访问控制(DAC)以策略规则制定特定进程读取特定文件:强制访问控制(MAC) SELinux的运行模式安全上下文进程与文件SELinux类型字段的相关性…...
Go语言实现SSE中转demo
Go语言实现SSE中转demo 文章概要:本文主要通过一个demo来介绍如何使用Go语言实现SSE中转。 本文内容来自:谷流仓AI - ai.guliucang.com 前提 已安装Go语言环境(参考这篇文章:Macbook安装Go以及镜像设置) 创建项目 创建项目目录…...

国内IP修改软件下载指南
在互联网时代,IP地址扮演了一个非常重要的角色。国内IP修改成为一些用户迫切需求的问题,因为它可以帮助用户解决一些特定的网络访问问题。那么,要修改国内IP地址,我们该使用哪些软件呢?虎观代理小二将为大家列举几款可…...
模数转换器 SIG1230A 国产平替 ADS1230,替代 ADS1230
信格勒微电子的芯片产品已通过行业头部大厂导入验证,深受百万终端客户好评。 而且因为 fully compatible. 板子拿来,换个芯片, 性能更好 。MCU不用改 c code。 SIG1230A 10/80SPS 20-bit ADC with PGA Compatible Parts ADS1230 fully…...

获取淘宝商品评论的爬虫技术分享(已封装API,可测试)
item_review-获得淘宝商品评论 公共参数 请求地址: taobao/item_review 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_search,it…...

由vue2版本升级vue3版本遇到的问题
一、vuedraggable 由vue2版本升级vue3版本后,可能会遇到以下几种bug: 1、vue3vuedraggable报错TypeError: Cannot read properties of undefined (reading ‘updated’):这个一般是因为插件使用语法有问题,vue3版本的插件使用时&…...

数据挖掘终篇!一文学习模型融合!从加权融合到stacking, boosting
模型融合:通过融合多个不同的模型,可能提升机器学习的性能。这一方法在各种机器学习比赛中广泛应用, 也是在比赛的攻坚时刻冲刺Top的关键。而融合模型往往又可以从模型结果,模型自身,样本集等不同的角度进行融合。 数据…...

24考研数学炸了,给25考研人的启示
复习原则和要素 在选择老师、思路的时候,一定要看清楚,认不认可这个老师的复习思路。 有的老师认为大家基础不错,讲的内容可能不会特别细致。有的老师注重基础,讲的很细致,防止0基础的学生吃力。所以,思路…...
嵌入式学习第三十天!(单向链表练习)
1. 单向链表的逆序: int Is_Empty_Link(LINK_LIST *plist) {return plist->phead NULL; }void Reverse_Link(LINK_LIST *plist) {LINK_NODE *ptmp plist->phead;LINK_NODE *pinsert NULL;plist->phead NULL;if(Is_Empty_Link(plist)){return;}else{wh…...

Linux:rpm部署Jenkins(1)
1.获取Jenkins安装包 我这里使用的是centos7系统,ip为:192.168.6.6 2G运存 连接外网 Jenkins需要java环境,java的jdk包你可以去网上下载离线包,或者直接去yum安装,我这里使用的是yum安装 再去获取Jenkins的rpm包…...

新能源汽车充电桩站点烟火AI识别检测算法应用方案
新能源汽车作为现代科技与环保理念的完美结合,其普及和应用本应带给人们更加便捷和绿色的出行体验。然而,近年来新能源汽车充电火灾事故的频发,无疑给这一领域投下了巨大的阴影。这不禁让人深思,为何这一先进的交通工具在充电过程…...
Macbook安装Go以及镜像设置
Macbook安装Go 文章概要:本文主要介绍了在MacOS上安装Go的步骤 本文内容来自:谷流仓AI - ai.guliucang.com 有两种方式安装go: 通过homebrew安装通过Go官网直接下载安装文件安装 1. 通过homebrew安装 brew update && brew install…...

群晖NAS安装Video Station结合内网穿透实现公网访问本地影音文件
文章目录 1.使用环境要求:2.下载群晖videostation:3.公网访问本地群晖videostation中的电影:4.公网条件下使用电脑浏览器访问本地群晖video station5.公网条件下使用移动端(搭载安卓,ios,ipados等系统的设备…...

GitHub加速访问最简单的方法
Github是全球最大的代码开源平台,对于编程的小伙伴来说,这是一个巨大的宝库,也是编程学习的圣地。很对小伙伴在使用GitHub时会经常出现无法访问Github的情况。 一、解决方法——>修改hosts文件 通过 IP查询工具来获取当前Github网站的真实…...
MySQL数据库索引介绍
前言 在数据库中创建索引可以提高数据检索的速度和效率。索引是一种数据结构,类似于书籍的目录,它可以帮助数据库系统快速定位和访问表中的特定数据行。 目录 一、索引相关介绍 1. 概述 2. 作用 3. 副作用 4. 创建原则依据 二、索引的分类与管理…...

中间件学习--InfluxDB部署(docker)及springboot代码集成实例
一、需要了解的概念 1、时序数据 时序数据是以时间为维度的一组数据。如温度随着时间变化趋势图,CPU随着时间的使用占比图等等。通常使用曲线图、柱状图等形式去展现时序数据,也就是我们常常听到的“数据可视化”。 2、时序数据库 非关系型数据库&#…...

Go第三方框架--gin框架(一)
序言 Gin框架作为go语言使用最多的web框架,以其快速的响应速度和对复杂http路由配置的支持受到程序员和媛们的喜爱,几乎统治了web市场。但作为一名合格的程序员,要知其然更要知其所以然,不然八股文背的也没有啥意思。本着这个原则…...
网络安全——笔记
XSS:跨站脚本(Cross-site scripting) XSS 全称“跨站脚本”,是注入攻击的一种。其特点是不对服务器端造成任何伤害,而是通过一些正常的站内交互途径,例如发布评论,提交含有 JavaScript 的内容文…...
Maven pom.xml配置详解
pom.xml是什么? pom.xml(项目对象模型-Project Object Model的缩写)是Maven项目的核心配置文件,用于管理项目的依赖、插件、构建配置等。 举例说明:以阿里巴巴的fastjson为例: <?xml version"1.…...