35

【论文串烧】基于特定实体的文本情感分类总结(PART I)

 5 years ago
source link: https://www.tuicool.com/articles/bMvYneV
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

作者: 高开远

学校: 上海交通大学

研究方向: 自然语言处 理

0. 写在前面

最近在看一个比赛:2019 搜狐校园算法大赛,赛题说的是

给定若干文章,目标是判断文章的核心实体以及对核心实体的情感态度。每篇文章识别最多三个核心实体,并分别判断文章对上述核心实体的情感倾向(积极、中立、消极三种)。

这里说的是实体识别,马上想到的就是利用分步走解决:先去对文章进行实体识别,然后对提取出来的实体进行情感分类。但是后来一想这样两步的话会使得最终结果的错误率叠加,也就是说第一步做的不好的话会很大程度影响到第二步的结果。其实仔细看一下数据集会发现,它给出的很多样本实体并不是传统实体识别的实体,而是句子中的某一个token。这就跟SemEval2014的subtask 4非常像了,也就是 Aspect Based Sentiment Analysis (ABSA) 。不说废话了,接下来我们来看看关于ABSA问题都有哪些常用的算法。

1. A glance at ABSA(什幺是ABSA)

在介绍具体算法之前,先来看一下什幺是ABSA?可以粗暴翻译为基于方面的情感分析,本质就是对句子中不同对象可能会存在不同的情感倾向,例如: “I bought a new camera. The picture quality is amazing but the battery life is too short” ,这句话中对于 target=picture quality ,情感是正的;而对于 target=battery ,情感就是负的了。ABSA任务的目的就是去找出给定句子中的不同target的情感倾向。

一个关于ABSA的PPT介绍

2. Effective LSTMs for Target-Dependent Sentiment Classification(Tang/COLING2016)

在这篇论文里面作者主要是介绍了三种解决ABSA任务的模型:

LSTM

Target-Dependent LSTM (TD-LSTM)

Target-Connection LSTM (TC-LSTM)

LSTM

第一种方法就是直接使用NLP中的万金油模型LSTM,在该模型中,target words是被忽略的,也就是说跟普通的对文本情感分析的做法没有区别,最终得到的也是这个句子的全局情感,可想而知最后的效果一般般。具体做法就是对句子中的token进行embedding处理作为模型的输入,经过一次一次的计算隐层和输入之后得到一个句子表示hn,接着对这个向量进行softmax计算概率, 其中C是情感类别种类。

iMzMNfq.png!web

TD-LSTM

为了解决上面LSTM忽略目标词的问题,提出了TD-LSTM模型,如下图所示。

J36NjqB.png!web

其基本思想是对于一个target-word,充分考虑其上下文信息,具体来说使用了两个LSTM,从左往右的和从右往左的,分别对target word的左边和右边的信息建模。接着将两个LSTM得到的隐状态hl和hr concat一下,也就得到了关于这个词的句子情感表示,然后一样也是送入到softmax进行分类。除了concat作者也提到可以尝试进行sum或者average。

TC-LSTM

TC-LSTM在TD-LSTM的基础上进一步加强了target-word与句子中每个token的关联,看模型框架就会很清晰,

JJrQnu6.png!web

可以看出,这里在模型输入的时候多加入了一部分:v_target,这样就可以加强target与句子的交互,使得最后的表示更为确切。那幺这个 v_target是怎幺得到的呢?其实就是简单地对target words的向量表示进行平均化处理得到一个向量。

实验结果比对

J32INna.jpg!web

3. Attention-based LSTM for Aspect-level Sentiment Classification(Wang/EMNLP2016)

这是在Effective LSTMs for Target-Dependent Sentiment Classification后面发出的文章,指出前者的不足之处:

However, those models can only take into consideration the target but not aspect information which is proved to be crucial for aspect-level classification.

作者这里提到了两个概念:target和aspect。我们可以认为target是包含在句子中出现的词,而aspect属于预先定义的比较high-level的类别刻画。

基于以上,提出了两种模型:

Attention-based LSTM (AT-LSTM)

Attention-based LSTM with Aspect Embedding (ATAE-LSTM)

Aspect Embedding

对于ABSA问题,aspect信息对于最终的情感判别是非常重要的。因此作者对每个aspect都学习一个相应地aspect embedding来表示,v_ai

AT-LSTM

既然学习出了aspect embedding,那幺怎幺把它结合进模型里呢?这里使用的是超级火的注意力机制,如下图所示

ba2U7v3.jpg!web

为了更好地理解上述模型,首先回顾一下 vanilla attention mechanism,也就是key-value-query模型,具体可以参考理解Attention机制原理及模型。这里可以认为

key=H ,

value=H ,

query=aspect embedding

,整个attention的过程可以用数学表示为:

其中r表示各hidden state带权重后的表示,然后最终句子的表示为:

得到句子的表示后再进行情感判别:

ATAE-LSTM

为了进一步利用aspect embedding的信息,类似于上一节中TC-LSTM中的思想,即将aspect embedding与word embedding共同组合成模型的输入。模型的其他部分与AT-LSTM相同。

bmMBrei.jpg!web

注意力结果可视化

aIz6J3N.jpg!web

试验分析

论文使用的数据集是SemEval 2014 Task 4,正如开篇提到的一样。

zMrIzeQ.jpg!webvyiUNrM.png!web

4. Learning to Attend via Word-Aspect Associative Fusion for Aspect-based Sentiment Analysis(Tay/AAAI2018)

对于上一节的ATAE-LSTM,作者认为仍然存在以下不足:

ATAE中的attention层学习上下文词之间的重要性关系,而不是对aspect和context之间建模。(???没懂,上下文词之间的重要性关系不就是相对于aspect而言的吗,就是上下文词与aspect之间的重要程度关系吧…)

简单的aspect embedding和word embedding拼接使得模型难以训练

针对以上提出了Aspect Fusion LSTM (AF-LSTM),模型整体框架如下:

YRJBZjq.jpg!web

Word-Aspect Fusion Attention Layer

在输入经过embedding层和LSTM层之后进入到Word-Aspect Fusion Attention Layer,这也是该模型的重点。

Normalization Layer(optional):在隐状态矩阵和aspect vector进行交互之前可以选择性地对其进行正规化操作,可以选用Batch Normalization;

Associative Memory Operators:用于计算context word 和 aspect word之间的关系。有两种:

circular correlation和circular convolution

BBrq2qQ.png!web

也可以用傅里叶变化得到:

circular convolution

bqYjEvv.png!web

Learning Attentive Representations:将aspect和context进行fusion之后得到的向量表示进行attention操作

试验分析

iiQzaqZ.jpg!web

5. Interactive Attention Networks for Aspect-Level Sentiment Classification(Ma/IJCAI2017)

这篇文章作者的思路也是将target和context进行交互获取句子的准确表达,利用的模型是attention。与上面几个模型不同的在于,这里考虑了target可能存在好几个word组成的短语,另外添加了一层对于target的attention操作用于计算权重。提出了Interactive Attention Networks(IAN), 整体模型框架如下:

fUzeuyq.jpg!web

IAN

输入包括n个单词的 context : 和m个单词的 target :

对输入进行embedding层后输入到LSTM网络中得到各个隐状态表示;

对所有隐状态求平均分别得到target和context的隐状态表示,以此作为后续attention两者的交互:

分别计算attention权重得分:

根据单词权重计算target和context的最终表示:

将cr和tr拼接起来作为整个输入句子的向量表示,并送入softmax计算类别概率

试验分析

同样数据集选用的也是SemEval 2014 Task 4,

YVVb2mr.png!web

原文链接:

https://blog.csdn.net/Kaiyuan_sjtu/article/details/89788314


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK