aspect-level层级的分类,分为两种,一种是term-target级别,即term存在于文本中;另一种是aspect-category级别,即aspect不存在于文本当中。
semeval评测会议有相关数据集和任务,大多数论文都使用这些数据集:2014、2015、2016
1、Attention-based LSTM for Aspect-level Sentiment Classification
最基本的框架,lstm+attention
2、Aspect Level Sentiment Classification with Deep Memory Network
在lstm+attention,引入多跳机制,同时使用位置信息(自我感觉位置信息很重要)
3、Interactive Attention Networks for Aspect-Level Sentiment Classification aaai2017
使用交互机制,context-target-attention和target-context-attention。一方取平均值,另一方每个词与这个平均值进行交互。
4、Aspect Level Sentiment Classification with Attention-over-Attention Neural Networks
同时使用交互机制,但是比3更细一些,每个aspect词都要与context进行交互,得到一个矩阵。
5、Learning to Attend via Word-Aspect Associative Fusion for Aspect-based Sentiment Analysis
使用了fusion attention机制,待理解。
5(1):emnlp2018的新文章 Multi-grained Attention Network for Aspect-Level Sentiment Classification
在3的基础上,句子和aspect在单词粒度上进行交互得到一个矩阵,然后再进行加权。其中作者增加的loss是一个可取的想法
5(2):Aspect Level Sentiment Classification with Attention-over-Attention Neural Networks
文章的方法来自机器阅读的一篇文章,attention-over-attention neural networks for reading comprehension,也是在单词粒度上得到一个矩阵,完全是一个匹配问题。
6、Target-Sensitive Memory Networks for Aspect Sentiment Classification
更改了句子s的表示方式,多种。
7、Content Attention Model for Aspect Based Sentiment Analysis
左右分开,在attention中加入整个句子的表示
6、Aspect Based Sentiment Analysis with Gated Convolutional Networks
attention的方法,但是又略有不同。向量中每一个维度都有一个权重。
7、基于多注意力卷积神经网络的特定目标情感分析
使用位置、词性、aspect这3种注意力,得到文本的更新表示,然后这3个表示,通过同构或异构的方式送入卷积网络,max-pooling。
8、Parameterized Convolutional Neural Networks for Aspect Level sentiment analysis。 emnlp2018
8、Effective LSTMs for Target-Dependent Sentiment Classification
左右两边分布lstm,然后concat
9、Gated Neural Networks for Targeted Sentiment Analysis
左右两边分别bi-lstm后,然后使用gate进行选择,gate进行选择的时候会用到target信息,
10、Attention Modeling for Targeted Sentiment
左边,右边,全体分别与aspect进行attention,得到3个表示,然后使用一个gate得到这3个的权重
11、 Left-Center-Right Separated Neural Network for Aspect-based Sentiment Analysis with Rotatory Attention 还没有发表
对于target的表示,分别用left和right与其交互,所以最好得到4个表示,然后concat
2、Aspect Level Sentiment Classification with Deep Memory Network
12、Recurrent Attention Network on Memory for Aspect Sentiment Analysis
在2的基础上改进,attention中target的更新,不是简单的相加,而是使用了一个gru结构来进行更新。
7、基于多注意力卷积神经网络的特定目标情感分析
13、Feature-based Compositing Memory Networks for Aspect-based Sentiment Classification in Social Internet of Things
每个词有个position向量,sentiment向量,词性POS向量,基本方法是lstm+att+多跳机制。
14、Feature-enhanced attention network for target-dependent sentiment classification
词向量、sentiment向量、词性,位置position向量,lstm后得到文本向量,情感词向量,target向量,每个以其他两个为依据计算attention,所以得到3个加权之后的向量表示,然后连接。
15、Targeted Aspect-Based Sentiment Analysis via Embedding Commonsense Knowledge into an Attentive LSTM
16、Implicit Syntactic Features for Targeted Sentiment Analysis
隐式表达语法信息
17、Recurrent Entity Networks with Delayed Memory Update for Targeted Aspect-based Sentiment Analysis
entity networks的应用
172、Transformation Networks for Target-Oriented Sentiment Classification
多跳机制,每次更新每个单词的表示,最后使用cnn提取。
18、A Hierarchical Model of Reviews for Aspect-based Sentiment Analysis
每个文本由多个review组成,每个review先进行bi-lstm,然后多个review之间再lstm,输入同时包括review相对应的target
19、一种用于基于方面情感分析的深度分层网络模型
作者在18的基础上进行改进,先cnn再lstm,但是lstm的输入多了一项s,s:文本整体上进行lstm的最后一个结果,但是这个lstm时,hi会和target进行结合再输入到下一个。略微复杂
20、Aspect Sentiment Classification with both Word-level and Clause-level Attention Networks ijcai2018
这个比较简单,就是先识别出多个clause,每个clause代表一个target的review,然后每个clause应用lstm-att,然后clause之间再应用lstm-att,但是aspect始终是同一个,并没有像18一样每个review有自己的aspect。
21、Document-level Multi-aspect Sentiment Classification by Jointly Modeling Users, Aspects, and Overall Ratings
引入了user、整体评论打分信息。和22有点像,每个d和一个aspect有一个classier,k个aspect得到k个classier(类似于multi-task)。先是word-level,att的时候有user和aspect信息,然后是sentence-level,得到文本表示后,和整体评分r向量和user向量结合。
22、Document-Level Multi-Aspect Sentiment Classification as Machine Comprehension
一个文本d有多个aspect,每个d和一个aspect作为输入得到一个classiser,k个aspect得到k个classier。内部有点复杂
23、CAN---Constrained Attention Networks for Multi-Aspect Sentiment Analysis
这个方法比较好,因为attention分布中确实是存在这2个问题
24、“Iarm: Inter-aspect relation modeling with memory networks in aspect-based sentiment analysis,
基本思路也是每个文本和aspect进行lstm-attention,然后aspect之间再进行gru,计算方法比25复杂一些
25 Modeling Inter-Aspect Dependencies for Aspect-Based Sentiment Analysis
基本思路也是每个文本和aspect进行lstm-attention,然后aspect之间再进行lstm
23、A Position-aware Bidirectional Attention Network for Aspect-level Sentiment Analysis
作者想强调位置信息的引入,但是吸引我的是网络架构:先给每个target的每个词得到一个权重,然后target和context进行交互得到一个句子,在target每个词下,文本每个词都有一个相对应的权重,然后加权相加得到该词下的文本表示。最后,target中每个词有一个权重,然后有一个对应的文本表示,加权相加得到最后的文本表示。
24、Effective Attention Modeling for Aspect-Level Sentiment Classification
作者的意思是单独平均target向量,可能不能很好的捕捉target的语义,于是重新定义了一个矩阵aspect,k*d, k是aspect的个数,得到target的一个重新表示,然后再做lstm+att。
25、Enhanced Aspect Level Sentiment Classification with Auxiliary Memory
作者提出要同时使用aspect和target两方面的信息,因为一般只有一个,对于只有target信息,初始化一个aspect矩阵,target与aspect进行attention,得到aspect的加权表示,然后这2个表示一起与context进行attention,其实这个**对于category来说很适用。
26、Transformation Networks for Target-Oriented Sentiment Classification
作者不断更新文本中每个单词的表示,根据target,最后用一个cnn来进行提取。
27、Aspect-level Sentiment Classification with HEAT (HiErarchical ATtention) Network (想法不错)
针对category(aspect)方向,第一次attention,找出与aspect相关的word(也就是越相关,权重越大),加权求和后得到category的另一种表示,然后使用这个表示再次进行attention。(其实这里还可以改进一下,就是不知道效果好不好,结合A Position-aware Bidirectional Attention Network for Aspect-level Sentiment Analysis这篇文章)
28、CAN: Constrained Attention Networks for Multi-Aspect SentimentAnalysis
这篇文章的motivation是这些文章中最吸引我的,针对一个文本中有多个multi-aspect的情况,每个aspect的attention的稀疏的,不同aspect的attention应该是不重叠的,但是在at-lstm中针对multi-aspect情况,attention经常重叠,尤其是不同aspect情况,sentiment情况不同时,往往不能判断出正确的sentiment,经常是所有aspect的sentiment判为同一个,解决了这个问题,准确率可以提高很多。
19年bert上有几篇文章
29、
30、
Model | semeval2014-laptop | semeval2014-res(t) | semeval2014-res(c) | semeval2015 | semeval2016 | dong | vo zhang |
---|---|---|---|---|---|---|---|
1 | -------------------- | / | 84.0 | / | / | ------ | ------ |
2 | 72.37 | 80.95 | / | / | / | ------ | ------ |
3 | 72.1 | 78.6 | / | / | / | ------ | ------ |
4 | 74.5 | 81.2 | / | / | / | ------ | ------ |
5 | 68.8 | 75.44 | 81.29 | / | / | ------ | ------ |
6 | 69.14 | 77.28 | 79.67 | / | / | ------ | ------ |
7 | 68.22 | 79.17 | / | / | / | ------ | ------ |
8 | / | / | / | / | / | 71.5 | / |
9 | / | / | / | / | / | 71.96 | |
10 | / | / | / | / | / | 73.6 | 75 |
11 | 75.24 | 81.34 | / | / | / | ------ | ------ |
12 | 74.49 | 80.23 | / | / | / | ------ | ------ |
13 | 73.94 | 82.03 | / | / | / | ------ | ------ |
14 | / | / | / | / | / | ------ | ------ |
15 | / | / | / | / | / | ------ | ------ |
16 | / | / | / | / | / | 72.8 | 74.3 |
23 | 74.12 | 81.16 | / | / | / | ------ | ------ |
24 | 72.57 | 80.63 | / | / | / | ------ | ------ |
25 | 74.45 | 82.32 | 86.33 | / | / | ------ | ------ |
26 | 76.54 | 80.79 | 86.33 | / | / | ------ | ------ |
1、针对term-target级别,有一个想法:来自Gated-Attention Readers for Text Comprehension这篇文章,target不更新,而是更新每个词多次,有1篇文章就是这个思路:Transformation Networks for Target-Oriented Sentiment Classification 在这个更新单词表示上,是否可以做到使用cnn的方法来更新单词呢
2、针对category-aspect级别,暂时有一个思路,还在写代码, 但是效果没有跑出来(是模型的问题还是我的问题)
3、考虑多信息(情感词、距离)是我觉得最重要的 但是怎么把这些信息加入网络中却无法找到自己满意的答案,抽象来讲,一个词越是情感词,距离target越近,则权重应该越大,因此一个想法是 文本与情感词典形成矩阵,通过相似度计算和softmax的方法,使得文本中的情感词的权重大(凸显出来),同时利用距离使得与target更相关的的情感词凸显出来。 (wword+waspect+w*sentiment_word),可是这样好不好呢?