【课程作业】情感分析方向SKEP: Sentiment Knowledge Enhanced Pretraining for Sentiment Analysis阅读报告

友情提示:阅读作业的笔记整理,文章来源会议ACL2020,由百度和中科大发表的SKEP模型。初读此类论文,靠着百度磕磕巴巴读的,未来发现理解错误会进行修改,欢迎指正。

Abstract

Recently, sentiment analysis has seen remarkable advance with the help of pre-training approaches. However, sentiment knowledge, such as sentiment words and aspect-sentiment pairs, is ignored in the process of pre-training, despite the fact that they are widely used in traditional sentiment analysis approaches. In this paper, we introduce Sentiment Knowledge Enhanced Pre-training (SKEP) in order to learn a unified sentiment representation for multiple sentiment analysis tasks. With the help of automatically-mined knowledge, SKEP conducts sentiment masking and constructs three sentiment knowledge prediction objectives, so as to embed sentiment information at the word, polarity and aspect level into pretrained sentiment representation. In particular, the prediction of aspect-sentiment pairs is
converted into multi-label classification, aiming to capture the dependency between words in a pair. Experiments on three kinds of sentiment tasks show that SKEP significantly outperforms strong pre-training baseline, and achieves new state-of-the-art results on most of the test datasets. We release our code at https://github.com/baidu/Senta.

0. Summary

SKEP名为情感知识增强预训练模型,就是将多种情感知识融合,包括不同领域的知识和不同类型的知识,从而达到可以使用同一个预训练模型处理多个情感分析的任务。该文出发点是目前情感任务必须分不同的领域使用不同的模型比较繁琐,以及发现方面-情感词作为一个token的时候效果会比拆开单独作2个token效果更好,从而将三个目标优化融入到transfomer中,达到模型的性能提高,在大部分数据集中都超过之前的SOTA。

1. Research Objective

结合多种情感知识并且提高预训练模型性能。

2. Background / Problem Statement

传统的情感分析任务分别研究不同类型的情感知识,针对模型众多这个问题,该文想为不同的情感分析任务提出一个统一的情感分析模型,争取在不同的任务中取得良好的效果。

BERT

  1. BERT使用transformer编码器可以给输入序列的每个token都产生一个上下文表示。输入序列的第一个token是一个特殊的分类标记[CLS],在微调步骤中,[CLS]的最终隐藏状态通常用作输入序列的整体语义表示。为了训练transfomer编码器,提出了MLM(类似于做完形填空测试),MLM根据占位符预测序列中被掩盖的token,一部分输入token会被随机选中并替换。
  2. BERT统一选择15%的输入token,在这些被选择中的token中,80%被替换成特殊的掩码token[MASK],10%被替换为随机token,10%保持不变。在构建了一个损坏的序列版本之后,MLM的目标是使用相应的最终状态来预测掩盖位置的原始token。

RoBERTa

  1. 去掉下一句预测NSP任务。
    Next Sentence Prediction: 寻找自然语言中句子级的监督信号。
  2. 动态掩码。
    原版的BERT实现在数据预处理期间执行一次掩码,得到一个静态掩码。RoBERTa使用了动态掩码,每次向模型输入一个序列时都会生成新的掩码模式,在大量数据不断输入的过程中,模型会逐渐适应不同的掩码策略,学习不同的语言表征。
  3. 文本编码

3. Method(s)

在这里插入图片描述

SKEP三个步骤

1. 无监督获取情感知识

  1. SKEP从未标记的数据中挖掘知识,即基于逐点互信息的简单有效的挖掘方法 Pointwise Mutual Information (PMI)。
    PMI方法只依赖于少量的情感种子词,并给出每个种子词s的词极化度 WP(s)。它首先建立一个候选词对的集合,其中每个词对包含一个种子词,并符合预先定义的词性模式。

PMI参考文献: Peter D Turney. 2002. Thumbs up or thumbs down?:semantic orientation applied to unsupervised classification of reviews. InACL 2002.

下图为SKEP中使用的种子词
在这里插入图片描述

单词对的共现由PMI计算如下:

  1. 一个单词的极性是由所有正种子的PMI分数和所有负种子的PMI分数之差决定的。如果候选词的WP(w)大于0判定w是正向词,否则是负向词。
  2. 在挖掘情感词之后,通过简单的约束提取aspect-sentiment对。一对方面词和情感词之间的最大距离不超过3个token。

结果:挖掘好的情感知识包含带有极性的情感词和方面词-情感词对。

2. 情感掩码

与以前的随机词mask不同:SKEP基于情感知识mask。

1. Sentiment Detection with Knowledge 使用情感知识进行情感检测
情感检测:通过输入序列和情感知识进行匹配识别情感词和方面词-情感词对。

  • 情感词检测:在输入序列找到情感词与情感知识库匹配,匹配到就是情感词。
  • 方面词-情感词对检测:与前面的挖掘过程类似,将查找到的情感词与其距离为3以内的名词视为方面词-情感词对,在情感知识库内查找,如果有那么方面词-情感词对。

2. Hybrid Sentiment Masking 混合情感掩蔽
情感检测为输入序列产生三种类型的token,损坏(屏蔽)序列的过程按照一下的步骤进行:

  • 方面词-情感词掩蔽:最多选择两对方面词-情感词进行掩蔽。方面次词和情感词token都被[MASK]替换。
  • 情感词掩蔽:随机选择剩余未屏蔽的情感词,最多10%,用[MASK]替换。
  • 通用标记掩蔽:如果步骤2中的token不足,即少于10%。则使用随机的token来补充。(与RoBerta中的随机标记相同)

3. 情感预训练函数Sentiment Pre-training Objectives

定义了三个情感预训练目标函数,训练transformer编码器恢复被替换的情感信息。

在这里插入图片描述

1. 情感词预测:情感词预测目标函数Lsw代表原始情感词xi出现的最大概率
在这里插入图片描述

  • Lsw也包括Common token mask 通用标记掩码
  • 其中xi是transformer中的encoder的输出向量,yi是xi经过输出层后在经过softmax得到的概率分布。mi用于筛选哪些词是情感词,mi=1则是情感词。

2. 单词极性预测

  • 传统的基于词典的模型直接利用单词的极性对文本的情感进行分类。为了将这个引入到编码器中,进一步引入的Lwp,类似于Lsw,区别在于Lsw计算的是token的loss,而Lwp计算的是polarity的loss,也可以把polarity看成两分类positif和negatif的token。
  • 对于每个被掩蔽的情感标记xi,Lwp使用最终状态的xi计算极性(正或负)。然后目标的极性对应的原始情感词的极性可以从挖掘出的情感知识中找到。

3. 方面-情感对预测:比情感词能揭露更多的信息。

采用多标签分类进行方面-情感对预测。使用分类标记的最终状态[CLS]。
在这里插入图片描述

  • x1表示[CLS]的输出向量。A是在一个损坏的序列中被屏蔽的方面-情感对的数量。 ˆya 由sigmoid归一化的单词概率. ya是目标方面-情感对的稀疏表示。
  • ya的每个元素对应于词汇表中的一个标记,如果目标的方面情感对包含相应的标记,则等于1。由于ya等于1有多个元素,这里的预测是多标签分类。

4. Evaluation

预训练的过程在Amazon-2数据集中的句子上进行。

  • 与12层RoBERTa base以及24层的RoBERTa large对比。如下图所示,使用了SKEP后,性能有了较大提高。
    在这里插入图片描述

  • 消融分析
    在这里插入图片描述

    • 情感知识更丰富效果更好
    • AP-I是将方面词和情感词作为单个token进行训练,效果不如结合起来的AP
  • 注意层可视化
    在这里插入图片描述

    • 表5显示了当使用SKEP模型对输入句子进行分类时,[CLS]标记最后一层注意力分布。
    • 在SST-2例子中,Roberta尽管给出了正确预测但是对情绪的关注不准确,而在Sem-L中根本没注意到“惊人”这个词,做出了错误预测。
    • SKEP模型可以正确预测以及产生对情感信息的恰当的关注,这表明SKEP具有更好的可解释性。

5. Conclusion

SKEP显著优于RoBERTa,在句子级、观点抽取以及方面级的情感分析任务上效果都很好,另外本文验证了将情感知识运用于预训练中是非常必要。

Future work

1. transformer学习
2. SKEP模型使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zoetu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值