Enhanced multi-channel graph convolutional network for aspect sentiment triplet extraction.

本文介绍了一种基于图卷积神经网络(GCN)的情感三元组抽取模型,该模型能够从句子中抽取出方面术语、意见术语及其情感极性。通过定义句子中单词间的关系并采用表格填充的方法进行解码,实现对评论文本的情感分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1前言

关于情感三元组的任务和背景前面的文章已经介绍过了,不再赘述前人工作和摘要。

2预备知识

2.1GCN

图卷积神经网络GCN就是一个结合了注意全局信息的特征提取器。
假设我们手头有一批图数据,其中有N个节点(node),每个节点都有自己的特征D维,我们设这些节点的特征组成一个N×D维的矩阵X,然后各个节点之间的关系也会形成一个N×N维的矩阵A,也称为邻接矩阵(adjacency matrix)。X和A便是我们模型的输入。
GCN也是一个神经网络层,它的层与层之间的传播方式是:
在这里插入图片描述
关于GCN内容很多,我们只需要知道GCN是这样的一个黑盒子:
输入进去是一个具有若干特征的一个图,输出的是提取了全局各个节点信息特征的另一个图(我们可以从该图获得需要的信息比如类别、颜色)。

2.2 语法知识

词性标注
我们经常用以下缩写来代表对应单词的词性:
DT 限定词(如this,that,these,those,such,
NN Noun, singular or mass 常用名词 单数形式
VBZ Verb, 3rd person singular present 动词第三人称单数
JJ Adjective 形容词或序数词
名词:NN,NNS,NNP,NNPS
代词:PRP,PRP$
形容词:JJ,JJR,JJS
数词:CD
动词:VB,VBD,VBG,VBN,VBP,VBZ
副词:RB,RBR,RBS

句法依赖树

3正文模型

在这里插入图片描述
3.1 问题公式化

3.2 关系定义和表格填充
我们为 ASTE 定义了句子中单词之间的十种关系。 这些关系如表1所示
在这里插入图片描述
具体来说,四个关系或标签 {B-A, I-A, B-O, I-O} 旨在提取方面术语和意见术语。与 GTS (Wu et al., 2020a) 相比,我们定义的关系在我们的模型中引入了更准确的边界信息。B 和 I 分别表示术语的开头和内部,而 -A 和 -O 子标签旨在确定术语的作用,即方面或意见。 表 1 中的 A 和 O 关系用于检测由两个不同的词组成的词对是否分别属于同一个方面或意见词。 三个情感关系{POS, NEU, NEG}的目标不仅是检测一个词对是否匹配,还要判断aspect-opinion对的情感极性。

因此,我们可以使用表格填充方法为每个标记的句子构建一个关系表(Miwa and Sasaki, 2014; Gupta et al., 2016)。

3.3 三元组解码
ASTE 任务的解码细节如算法 1 所示。为简单起见,我们使用上三角表来解码三元组。 首先,我们仅使用基于主对角线的所有词对(wi,wi)的预测关系,来提取aspect term和opinion term。 其次,我们需要判断提取的asp​​ect term和opinion term是否匹配。 特别是,对于方面项 a 和意见项 o,我们计算所有单词对 (wi, wj) 的预测关系,其中 wi ∈ a 和 wj ∈ o。
如果预测关系中存在任何情感关系,则认为aspect term和opinion term是配对的,否则这两个不配对。 最后,为了判断aspect-opinion对的情感极性,将预测最多的情感关系s∈S视为情感极性。 因此,我们收集了一个三元组 (a, o, s)。

3.4 EMC-GCN 模型
3.4.1 输入层和编码层
BERT (Devlin et al., 2019) 已经证明了它在各种任务中的有效性。 我们利用 BERT 作为句子编码器来提取隐藏的上下文表示。 给定一个带有 n 个标记的输入句子 X = {w1, w2, …, wn},编码层在最后一个 Transformer 块处输出隐藏表示序列 H = {h1, h2, …, hn}。

3.4.2 双仿射注意力模块
我们利用双仿注意力模块来捕获句子中每个词对的关系概率分布,因为双仿注意力已被证明在句法依赖解析中有效(Dozat and Manning,2017)。
在这里插入图片描述

3.4.3 多通道GCN

待续。。。。。。

参考

【1】知道自己该有所突破关于这篇文章的笔记
【2】b站上关于GCN的讲解
【3】词性标注查找
【4】基于句法依赖的ABSA

### 如何运行 Multi-Scale and Detail-Enhanced Segment Anything Model 进行显著对象检测 为了成功运行用于显著性目标检测的多尺度和细节增强的Segment Anything模型,需遵循特定的环境配置与代码执行流程。该过程涉及安装依赖库、下载预训练权重以及编写或调用测试脚本。 #### 安装必要的软件包 首先,在本地环境中设置Python虚拟环境并激活它。接着,通过`requirements.txt`文件来安装所需的第三方库: ```bash pip install -r requirements.txt ``` 此命令会自动解析并安装所有必需的Python包[^1]。 #### 下载预训练模型参数 访问官方GitHub仓库页面获取最新的预训练模型权重文件。通常这些权重会被托管于Google Drive或其他云存储服务上。按照README文档中的指示完成下载,并将其放置到指定目录下以便后续加载使用[^2]。 #### 准备输入图像数据集 创建一个新的文件夹用来存放待处理图片集合。确保每张图片都符合预期格式(如JPEG),并且尺寸适合网络输入需求。如果有必要的话,可以先对原始素材做一些简单的预处理操作,比如裁剪、缩放等。 #### 编写推理脚本 基于给定的例子或者模板,开发一段能够读取单幅或多帧静态画面作为输入,并输出相应分割掩码结果的小程序。这里给出一个简化版的PyTorch风格伪代码片段供参考: ```python import torch from model import MSDetailEnhanceSAM # 假设这是自定义类名 def main(image_path, checkpoint_path='path/to/checkpoint.pth'): device = 'cuda' if torch.cuda.is_available() else 'cpu' # 初始化模型实例并将之移动至GPU/CPU设备端 sam_model = MSDetailEnhanceSAM().to(device) # 加载已保存的最佳性能状态字典 sam_model.load_state_dict(torch.load(checkpoint_path,map_location=device)) sam_model.eval() with torch.no_grad(): img_tensor = preprocess_image(image_path).unsqueeze(0).to(device) pred_mask = sam_model(img_tensor)[0].squeeze() visualize_result(pred_mask.cpu().numpy()) if __name__ == '__main__': from argparse import ArgumentParser parser = ArgumentParser(description="Run inference using SAM.") parser.add_argument('img', type=str, help='Path to input image') args = parser.parse_args() main(args.img) ``` 上述代码展示了如何加载预训练好的MSDetailEnhanceSAM架构,并针对单一路径下的图片执行预测任务。注意实际应用时可能还需要额外考虑批量处理逻辑以及其他优化措施。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值