来自:AINLP
作者:高开远
学校:上海交通大学
研究方向:自然语言处理
最近在看一个比赛:2019 搜狐校园算法大赛,赛题说的是
给定若干文章,目标是判断文章的核心实体以及对核心实体的情感态度。每篇文章识别最多三个核心实体,并分别判断文章对上述核心实体的情感倾向(积极、中立、消极三种)。
这里说的是实体识别,马上想到的就是利用分步走解决:先去对文章进行实体识别,然后对提取出来的实体进行情感分类。但是后来一想这样两步的话会使得最终结果的错误率叠加,也就是说第一步做的不好的话会很大程度影响到第二步的结果。其实仔细看一下数据集会发现,它给出的很多样本实体并不是传统实体识别的实体,而是句子中的某一个token。这就跟SemEval2014的subtask 4非常像了,也就是Aspect Based Sentiment Analysis (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介绍
在这篇论文里面作者主要是介绍了三种解决ABSA任务的模型:
第一种方法就是直接使用NLP中的万金油模型LSTM,在该模型中,target words是被忽略的,也就是说跟普通的对文本情感分析的做法没有区别,最终得到的也是这个句子的全局情感,可想而知最后的效果一般般。具体做法就是对句子中的token进行embedding处理作为模型的输入,经过一次一次的计算隐层和输入之后得到一个句子表示hn,接着对这个向量进行softmax计算概率, 其中C是情感类别种类。
为了解决上面LSTM忽略目标词的问题,提出了TD-LSTM模型,如下图所示。
其基本思想是对于一个target-word,充分考虑其上下文信息,具体来说使用了两个LSTM,从左往右的和从右往左的,分别对target word的左边和右边的信息建模。接着将两个LSTM得到的隐状态hl和hr concat一下,也就得到了关于这个词的句子情感表示,然后一样也是送入到softmax进行分类。除了concat作者也提到可以尝试进行sum或者average。
TC-LSTM在TD-LSTM的基础上进一步加强了target-word与句子中每个token的关联,看模型框架就会很清晰,
可以看出,这里在模型输入的时候多加入了一部分:v_target,这样就可以加强target与句子的交互,使得最后的表示更为确切。那么这个 v_target是怎么得到的呢?其实就是简单地对target words的向量表示进行平均化处理得到一个向量。
这是在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的类别刻画。 基于以上,提出了两种模型:
对于ABSA问题,aspect信息对于最终的情感判别是非常重要的。因此作者对每个aspect都学习一个相应地aspect embedding来表示,v_ai
既然学习出了aspect embedding,那么怎么把它结合进模型里呢?这里使用的是超级火的注意力机制,如下图所示
为了更好地理解上述模型,首先回顾一下 vanilla attention mechanism,也就是key-value-query模型,具体可以参考理解Attention机制原理及模型。这里可以认为key=H
, value=H
, query=aspect embedding
,整个attention的过程可以用数学表示为:
其中r表示各hidden state带权重后的表示,然后最终句子的表示为:
得到句子的表示后再进行情感判别:
为了进一步利用aspect embedding的信息,类似于上一节中TC-LSTM中的思想,即将aspect embedding与word embedding共同组合成模型的输入。模型的其他部分与AT-LSTM相同。
论文使用的数据集是SemEval 2014 Task 4,正如开篇提到的一样。
对于上一节的ATAE-LSTM,作者认为仍然存在以下不足:
针对以上提出了Aspect Fusion LSTM (AF-LSTM),模型整体框架如下:
在输入经过embedding层和LSTM层之后进入到Word-Aspect Fusion Attention Layer,这也是该模型的重点。
也可以用傅里叶变化得到:
这篇文章作者的思路也是将target和context进行交互获取句子的准确表达,利用的模型是attention。与上面几个模型不同的在于,这里考虑了target可能存在好几个word组成的短语,另外添加了一层对于target的attention操作用于计算权重。提出了Interactive Attention Networks(IAN), 整体模型框架如下:
和m个单词的target :
同样数据集选用的也是SemEval 2014 Task 4,
原文链接:
https://blog.csdn.net/Kaiyuan_sjtu/article/details/89788314