Advertisement

A Unified Generative Framework for Aspect-Based Sentiment Analysis

阅读量:

该研究由复旦大学的研究团队独立完成。主要构建了一个通用解决方案,在处理多个具体子任务时实现了对多维度情感状态的统一建模与识别。

paper

复制代码
(https://github.com/yhcc/BARTABSA)

#### 文章目录

  * * 任务定义
    * 模型
    * * 模型特点
      * 模型结构

    * 实验
    * * 度量方法
      * 数据集
      * 实验组

### 任务定义

首先,作者总结了Aspect-based Sentiment Analysis(ABSA)的七个子任务,分别如下:  
![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2025-06-02/zjsLgU7v9fAaQS6VHYpCWG5MNowu.png)  
这七个子任务根据类型可以分为两种:抽取问题、分类问题。作者将这两类任务统一转换成了**生成任务** ,作者规范了转换目标序列定义,如Triplet这个子任务目标序列为$a^sa^eo^so^es^p</s>$,分别代表aspect开始和结束坐标(0,len-1),opinion开始和结束坐标,情感倾向tag(NEU,POS,NEG),序列结束符号 。  
![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2025-06-02/YkMR79pGV5ZJX3su6Evx1TDebLyK.png)

  1. 

只需要输入句子S  
![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2025-06-02/M4vnQOL61SRUpZyC8ezbtK5qToNB.png)

  2. 

特别的,需要输入句子S+方面词a,作者将输入的a放在目标生成序列中,即下划线是根据输入给定的aspect监督生成的。  
![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2025-06-02/Q36imJYrvCE8Ioc4syNdwGVlt0aP.png)

### 模型
![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2025-06-02/CvOHawqky94KsmShriIDVox3Qle7.png)

#### 模型特点

  1. 以BART作为生成模型
  2. 以生成方式统一任务方案

#### 模型结构

输入层:句首加入$<s>$ 句尾加入$</s>$ input embedding = position embedding + token embedding

编码层:  
首先将输入的embedding过一遍BART Encoder  
![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2025-06-02/cm9e4whTW8ugxYiUJ6rRlIqAtOFP.png)  
然后经过一个全连接层  
![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2025-06-02/8vSILYK2r9dJfMt0jF7TRecDhwN6.png)  
将输出与输入embedding残差链接  
![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2025-06-02/CRM9ykSfYg30s1h5zOEoAHvd4PpG.png)  
将上面向量与情感类别集合的BARTTokenEmbed拼接  
![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2025-06-02/iJMRy85CeWrbcnZLpaBmE0ok6KSw.png)

解码层:  
将BARTEncoder的输出**+** (1-t-1)时刻BARTDecoder的输出作为BARTDecoder输入,由于BARTDecoder输出的全是索引下标,所以需要用一个index2token模块去转换成token输入。  
![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2025-06-02/pW4682bmhtOYgsxUVqykLRcaFziP.png)  
![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2025-06-02/RnJ6MuPs0o4LBZjE2gX97xWm5Ibc.png)  
yt<n 就是原句的下表索引$X_{y_t}$,如果大于n则是情感类别$C_{y_t-n}$

输出层:  
![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2025-06-02/62GubTFCXEjrWRPBUkOh8KNowJdS.png)  
将encoder最后的向量表示拼接情感类别token的embedding,与decoder输出隐向量点乘过一层softmax做分类得到输出token索引下标

### 实验

#### 度量方法

P, R, F1:一个sample正确的条件是aspect、opinoin边界完全一致,情感极性也与标签相同。

#### 数据集

14, 15 ,16 res/lap

#### 实验组

  1. 

针对不同的baseline适用于不同的子任务,作者将baseline分为三大组实验比较  
![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2025-06-02/EkdRqKDu53hi8Zt6n1bxrj0JCQU2.png)  
![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2025-06-02/Odmks1AnjTQeCulVoF06pZKHtIqN.png)  
在整体上这个模型的表现还是挺好的,似乎在给定aspect的任务上(ALSC,AOE)有些时候表现不如BMRC,QA方法在给定目标的时候有比较好的表现方法。

  2. 

作者分析模型错误的预测序列占比,所谓错误的序列分为三种:invalid size(序列长度不是5), invalid order(起始位置大于终止位置), invalid token(起始位置或终止位置不在序列下标索引范围内)  
![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2025-06-02/NHguDtFEXalAmOhTrn7SMQ9Y2y5j.png)

  3. 

作者分析beam search 的搜索范围对结果的影响,实验证明影响很少  
![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2025-06-02/qoOZSnNQ61RXK8tmT3EIPgDUjaA0.png)

全部评论 (0)

还没有任何评论哟~