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

Syntax-Aware Aspect-Level Sentiment Classification with PWCN 论文阅读笔记

一、作者

Chen Zhang, Qiuchi Li, and Dawei Song. 2019. Syntax-Aware Aspect-Level Sentiment Classification with Proximity-Weighted Convolution Network. In Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR’19). Association for Computing Machinery, New York, NY, USA, 1145–1148. https://doi.org/10.1145/3331184.3331351

二、背景

在方面级情感分析任务中,对方面及其上下文的语义相关性进行建模一直是一个巨大的挑战。

LSTM 与注意力机制和记忆网络的结合在一定程度上提高了对于方面和上下文之间的语义交互的建模能力,但这些方法往往会忽视句子中的句法关系,比如对于句子 Its size is ideal and the weight is acceptable.,传统的基于语义相关性方法很大可能会将 ideal 描述为 acceptable ,但从句法的角度分析,二者是没有直接联系的。同时,现有的句法分析往往聚焦于单词级别的分析,在处理短语组成的上下文时便会显得捉襟见肘。

三、创新点

为了解决上述局限性,作者提出了一个新的 ABSA 框架,该框架利用方面与其上下文之间的句法关系,基于 LSTM 在 N 元语法(n-gram)的级别上聚合特征。同时受位置机制(position mechanism)的启发,该框架利用邻近权重(proximity weight,上下文词与方面词的句法接近度)来确定上下文词在句子中的重要性。然后邻近权重会被集成到卷积网络中以捕获 N 元句法信息,称为邻近加权卷积网络(Proximity-Weighted Convolution Network)。最后,通过最大池化来选择最重要的特征进行预测。

四、具体实现

模型总体结构如上图所示。一个长度为 n 的句子可以表示为 S={w0,w1,⋯,wτ,wτ+1,⋯,wτ+m−1,⋯,wn−1}\mathbf{S} = \{w_0, w_1, \cdots, w_\tau, w_{\tau + 1}, \cdots, w_{\tau + m - 1}, \cdots, w_{n - 1}\}S={w0,w1,,wτ,wτ+1,,wτ+m1,,wn1},其中 τ\tauτ 代表方面术语的起始 token,然后通过词嵌入得到单词向量 V={e0,⋯,en−1}\mathbf{V} = \{e_0, \cdots, e_{n-1}\}V={e0,,en1},再通过双向LSTM得到隐藏状态向量 H=h0,⋯,hn−1\mathbf{H} = {h_0, \cdots, h_{n - 1}}H=h0,,hn1

1.邻近权重

作者在模型中将句法依赖信息形式化为临近权重,用于描述上下文词与方面词之间的接近程度。依照此思路,作者通过位置邻近依赖邻近,分别对上下文词和方面术语之间的句法依赖进行了建模。

a.位置邻近

位置邻近很容易理解,通常情况下,一个方面词的上下文词更可能在该方面词周围,因此作者将句子中的单词位置信息视为近似的句法邻近度量,位置邻近权重的计算公式如下:

很显然,位置邻近权重会随着上下文词与方面词之间距离的增加而相应减少。

b.依赖邻近

依赖邻近基于句子的句法依存树。对于给定的句子,首先通过spaCy工具构建其句法依存树,然后计算每个单词与方面词之间的依存距离(即每个单词与方面词在依存树中的最短路径长度),对于多词方面短语,考虑对于对于方面边界的最短距离,而对于多句法树的情况,需要手动将其他句法树中的距离设定为句子长度的一半。该距离会被存储到 d={d0,d1,⋯,dτ,dτ+1,⋯,dτ+m−1,⋯,dn−1}\mathbf{d} = \{d_0, d_1, \cdots, d_\tau, d_{\tau + 1}, \cdots, d_{\tau + m - 1}, \cdots, d_{n - 1}\}d={d0,d1,,dτ,dτ+1,,dτ+m1,,dn1}中。最后,根据 d\mathbf{d}d 即可计算依赖邻近权重,计算过程如下:

2.邻近加权卷积

邻近加权卷积的本质是在长度为 l 的卷积核上的一维卷积,同时会在卷积计算之前分配邻近权重,从而得到的句子中第 i 个词的邻近加权表示 ri=pihir_i = p_ih_iri=pihi。此外,作者还对句子进行了零填充以确保卷积操作输入的句子和输出的句子具有相同的长度。

卷积操作可以表示为 qi=max⁡(Wc⊤[ri−t⊕⋯⊕ri⊕⋯⊕ri+t]+bc,0)q_{i}=\max \left(\mathbf{W}_{c}^{\top}\left[r_{i-t} \oplus \cdots \oplus r_{i} \oplus \cdots \oplus r_{i+t}\right]+b_{c}, 0\right)qi=max(Wc[ritriri+t]+bc,0),其中 t=⌊l2⌋t = \lfloor \frac{l}{2} \rfloort=2lWc\mathbf{W}_{c}Wcbcb_cbc 分别为为卷积核的权重和偏置。由于只有少数卷积层的输出特征对分类有指导意义,因此还要通过最大池化来获最显著的特征 qsq_sqs。最后 qsq_sqs会被送到全连接层,通过 softmax 归一化以获得情感极性的分布。

模型的训练采用标准的梯度下降算法,采用交叉熵损失函数以及 L2L_2L2 正则化。

五、实验

作者采用了 Laptop(Pontiki et al., 2014)和 Restaurant(Pontiki et al., 2014)两个数据集作为实验数据集。

作者对 PWCN-Pos(位置邻近的 PWCN)和 PWCN-Dep(依赖邻近的 PWCN)分别进行了实验,对比的模型除了 LSTMRAMIANTNet-LF以外,还包括两个模型变体 Att-PWCN-Pos(邻近权重会乘以归一化后的注意力权重,用来验证句法依赖与语义相关性是否可以相互结合)和 Point-PWCN-Pos(l 元语法被转化为一元语法以验证 N 元语法的有效性)。

作者对三次随机初始化后的实验结果进行了平均,最终的结果如下图所示:

实验结果也表明句法依赖方法的效果优于语义相关性的方法。

相关文章:

Syntax-Aware Aspect-Level Sentiment Classification with PWCN 论文阅读笔记

一、作者 Chen Zhang, Qiuchi Li, and Dawei Song. 2019. Syntax-Aware Aspect-Level Sentiment Classification with Proximity-Weighted Convolution Network. In Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information …...

hadoop考试应急

概述 四大特点:大量化、快速化、多元化、价值化 关键技术:采集、存储管理、处理分析、隐私和安全 计算模式:批处理、流、图、查询分析计算 Hadoop处理架构 了解就好 2007年,雅虎在Sunnyvale总部建立了M45——一个包含了4000…...

【React】Hooks

🚩🚩🚩 💎个人主页: 阿选不出来 💨💨💨 💎个人简介: 一名大二在校生,学习方向前端,不定时更新自己学习道路上的一些笔记. 💨💨💨 💎目…...

升级Room引发的惨案!!

kotlin升级 在升级kotlin的时候,直接升级到大版本的kotlin(比如1.7以上),直接报错,只是报错不知道原因。 koltin Release details 后来把koltin版本改成1.6.0,报如下的错,我们才知道gradle是需…...

RPC框架:一文带你搞懂RPC

RPC是什么(GPT答) ChatGPT回答: RPC(Remote Procedure Call)是一种分布式应用程序的编程模型,允许程序在不同的计算机上运行。它以一种透明的方式,将一个程序的函数调用定向到远程系统上的另一个程序,而使…...

电子招标采购系统源码—企业战略布局下的采购寻源

​ 智慧寻源 多策略、多场景寻源,多种看板让寻源过程全程可监控,根据不同采购场景,采取不同寻源策略, 实现采购寻源线上化管控;同时支持公域和私域寻源。 询价比价 全程线上询比价,信息公开透明&#xff0…...

P16 激活函数与Loss 的梯度

参考:https://www.ngui.cc/el/507608.html?actiononClick这里面简单回顾一下PyTorch 里面的两个常用的梯度自动计算的APIautoGrad 和 Backward, 最后结合 softmax 简单介绍一下一下应用场景。目录:1 autoGrad2 Backward3 softmax一 autoGrad输入 x输出损…...

ThinkPHP5美食商城系统

有需要请私信或看评论链接哦 可远程调试 ThinkPHP5美食商城系统一 介绍 此美食商城系统基于ThinkPHP5框架开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。用户注册登录后可购买美食,个人中心,评论和反馈等&#xff…...

Vue3 - $refs 使用教程,父组件调用获取子组件数据和方法(setup() / <script setup>)

前言 在 Vue2 中父组件使用 $refs 调用子组件数据和方法非常简单,但在 Vue3 中这种方法行不通了。 本文实现了 Vue3 中父组件使用 $refs 获取调用子组件数据和方法教程, 并且提供了 setup() 与 <script setup> 两种 “开发模式” 的示例代码,请根据需要进行选择。 网…...

华为OD机试 - 众数和中位数(Python)| 真题+思路+考点+代码+岗位

众数和中位数 题目 众数是指一组数据中出现次数多的数 众数可以是多个中位数是指把一组数据从小到大排列,最中间的那个数, 如果这组数据的个数是奇数,那最中间那个就是中位数 如果这组数据的个数为偶数,那就把中间的两个数之和除以 2 就是中位数查找整型数组中元素的众数并…...

一眼万年的 Keychron 无线机械键盘

一眼万年的 Keychron 无线机械键盘 一款好的键盘对于程序员或者喜欢码字的人来说是非常重要的&#xff0c;而最近博主入手了自己的第一款机械键盘——Keychron 无线机械键盘。 机械键盘特点 有独立轴体&#xff0c;通过两个簧接触&#xff0c;来触发信号&#xff0c;价格相对贵…...

自动化测试高频面试题(含答案)

Hello&#xff0c;你们的好朋友来了&#xff01;今天猜猜我给大家带来点啥干货呢&#xff1f;最近很多小伙伴出去面试的时候经常会被问到跟自动化测试相关的面试题。所以&#xff0c;今天特意给大家整理了一些经常被公司问到的自动化测试相关的面试题。停&#xff0c;咱先收藏起…...

3、按键扫描检测处理

说明&#xff1a;本文处理按键的短按、长按检测执行&#xff0c;非矩阵按键 硬件可以类似如下连接即可&#xff0c;无需放置上下拉电阻&#xff1b; 按键动作分长按、短按(弹起时执行)两种 按下不放执行长按&#xff0c;但松开按键时不予执行短按函数 多个按键可以同时操作 按…...

集中式存储和分布式存储

分布式存储是相对于集中式存储来说的&#xff0c;在介绍分布式存储之前&#xff0c;我们先看看什么是集中式存储。不久之前&#xff0c;企业级的存储设备都是集中式存储。所谓集中式存储&#xff0c;从概念上可以看出来是具有集中性的&#xff0c;也就是整个存储是集中在一个系…...

【机器学习数据集】如何获得机器学习的练习数据?

一、scikit-learn自带数据集Scikit-learn内置了很多可以用于机器学习的数据&#xff0c;可以用两行代码就可以使用这些数据。自带的小的数据集为&#xff1a;sklearn.datasets.load_<name>load_bostonBoston房屋价格回归506*13fetch_california_housing加州住房回归20640…...

【编程实践】使用 Kotlin HTTP 框架 Fuel 实现 GET,POST 接口 kittinunf.fuel【极简教程】

目录 Fuel 简介 实现代码 GET网络请求用法(有三种写法࿰...

大数据DataX(一):DataX的框架设计和插件体系

文章目录 DataX的框架设计和插件体系 一、DataX是什么...

软考高级信息系统项目管理师系列之十一:项目进度管理

软考高级信息系统项目管理师系列之十一:项目进度管理 一、进度管理领域输入、输出、工具和技术表二、项目进度管理1.项目进度管理过程2.项目进度管理三、项目进度管理过程1.项目进度管理2.工作包和活动3.活动清单4.活动属性5.项目进度网络图6.资源日历7.活动资源需求8.资源分解…...

vue2版本《后台管理模式》(下)

文章目录前言一、home 页以下都属于home子组件二、header 头部 组件二、Menu 页面三、Bread 面包屑四、Footer五 、分页器&#xff1a; Pageing![在这里插入图片描述](https://img-blog.csdnimg.cn/fbe9bb7e84a04ccda4d3fc9f4ab9c36b.png#pic_center)六、权限管理总结前言 这章…...

软考中级-程序设计语言

&#xff08;1&#xff09;解释器解释源程序时不生成独立的目标代码&#xff0c;源程序和解释程序都参与到程序执行中。&#xff08;2&#xff09;编译器编译时生成独立的目标代码&#xff0c;运行时是运行与源程序等价的目标程序&#xff0c;源程序不参与执行。阶段补充&#…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...