Attention-based LSTM for Aspect-level Sentiment Classification

Baileys2022年8月11日
大约 17 分钟...

论文名称

Do Transformers Really Perform Bad for Graph Representation?open in new window

会议: ACL2016

Abstract

Aspect-level情感分类是情感分析中的一项细化任务。由于它能提供更完整和深入的结果,这些年Aspect-level情感分析受到了广泛的关注。在本文中,我们揭示了一个句子的情感属性不仅由内容决定,而且与相关方面高度相关。例如,"开胃菜还不错,但服务很慢",对于口味方面,极性是积极的,而对于服务,极性是消极的。因此,探索一个方面和一个句子的内容之间的联系是值得的。为此,我们提出了一个基于注意力的长短时记忆网络,用于Aspect-level情感分类。当不同的方面被作为输入时,注意力机制可以集中在一个句子的不同部分。我们在SemEval 2014数据集上进行了实验,结果表明,我们的模型在方面级情感分类上取得了最先进的性能。

Introduction

情感分析(Nasukawa and Yi, 2003),也被称为意见挖掘(Liu, 2012),是这些年备受关注的一项关键的NLP任务。Aspect-level情感分析是一项细粒度的任务,可以提供完整而深入的结果。在本文中,我们处理了Aspect-level情感分类,我们发现,一个句子的情感极性高度依赖于内容和方面。例如,"工作人员不是那么友好,但是味道很好",如果是食品方面,其情感极性是积极的,但是如果考虑到服务方面,其情感极性是消极的。当考虑不同方面时,情感属性可能是相反的。

神经网络在各种NLP任务中取得了最先进的性能,如机器翻译(Lample等人,2016)、转述识别(Yin等人,2015)、问题回答(Golub和He,2016)和文本总结(Rush等人,2015)。然而,神经网络模型在处理aspect-level情感分类方面仍处于起步阶段。在一些工作中,目标依赖的情感分类可以从考虑目标信息中受益,例如在目标依赖的LSTM(TD-LSTM)和目标连接的LSTM(TC-LSTM)(Tang等人,2015a)。然而,这些模型只能考虑目标而不能考虑方面信息,而方面信息被证明是aspect-level的关键。

注意力已经成为获得卓越结果的有效机制,这在图像识别(Mnih等人,2014年)、机器翻译(Bahdanau等人,2014年)、关于连带关系的推理(Rocktaschel等人,2015年)和句子总结(Rush等人,2015年)中得到证明。更有甚者,神经注意力可以提高阅读理解的能力(Hermann等人,2015)。在本文中,我们提出了一种注意力机制,以强制模型关注一个句子的重要部分,以回应一个特定的方面。我们设计了一个方面对句子的注意机制,它可以在给定方面的情况下集中注意句子的关键部分。

我们探讨了方面和情感极性在aspect-level情感分类中的潜在关联性。为了捕捉对特定方面的重要信息,我们设计了一个基于注意力的LSTM。我们在一个基准数据集(Pontiki等人,2014)上评估了我们的方法,该数据集包含餐馆和笔记本电脑数据。

提示

我们工作的主要贡献可以概括为以下几点。

  • 我们提出了基于注意力的长短时记忆,用于aspect-level情感分类。当涉及到不同的方面时,这些模型能够关注一个句子的不同部分。结果表明,这种注意力机制是有效的。
  • 由于方面在这一任务中起着关键作用,我们提出了两种在注意过程中考虑方面信息的方法:一种方法是将方面向量串联到句子的隐藏表征中以计算注意权重,另一种方法是将方面向量额外附加到输入词向量中。
  • 实验结果表明,与几个baselines相比,我们的方法可以提高性能,而且进一步的例子表明,注意力机制对aspect-level情感分类很有效。

我们论文的其余部分结构如下。第2节讨论了相关的工作,第3节详细描述了我们基于注意力的模型,第4节提出了广泛的实验来证明我们建议的有效性,第5节总结了这项工作和未来的方向。

在本节中,我们将简要回顾关于aspect-level情感分类和用于情感分类的神经网络的相关工作。

Sentiment Classification at Aspect-level

在文献中,方面级情感分类通常被认为是一个分类问题。正如我们之前提到的,方面级情感分类是一个细粒度的分类任务。目前大多数的方法都试图检测整个句子的极性,而不考虑提到的实体或方面。解决这些问题的传统方法是手动设计一组特征。随着情感词典的大量出现(Rao和Ravichandran,2009;Perez-Rosas等人,2012;Kaji和Kitsuregawa,2007),基于词典的特征被构建为情感分析(Mohammad等人,2013)。这些研究大多集中在使用SVM(Mullen和Collier,2004)建立具有特征的情感分类器,其中包括词包和情感词典。然而,其结果高度依赖于特征的质量。此外,特征工程是劳动密集型的。

Sentiment Classification with Neural Networks

自从一个简单有效的学习分布式表征的方法被提出后(Mikolov等人,2013),神经网络大大推进了情感分析。目前,包括递归神经网络(Socher等人,2011;Dong等人,2014;Qian等人,2015)、递归神经张量网络(Socher等人,2013)、递归神经网络(Mikolov等人,2010;Tang等人,2015b)、LSTM(Hochreiter和Schmidhuber,1997)和Tree-LSTMs(Tai等人,2015)等经典模型被应用于情感分析。通过利用句子的语法结构,基于树的LSTMs已经被证明对许多NLP任务相当有效。然而,这种方法可能会受到语法解析错误的影响,这在资源匮乏的语言中很常见。

LSTM在各种NLP任务中取得了巨大的成功。考虑到目标信息的TD-LSTM和TC-LSTM(Tang等人,2015a)在目标依赖的情感分类中取得了最先进的性能。TCLSTM通过对目标短语所包含的词的向量进行平均,得到了一个目标向量。然而,简单地对目标短语的词嵌入进行平均化并不足以代表目标短语的语义,导致性能不理想。

尽管这些方法很有效,但要在细粒度的方面层面上区分不同的情感极性仍然是一个挑战。因此,我们有动力设计一个强大的神经网络,它可以充分运用方面信息进行情感分类。

Attention-based LSTM with Aspect Embedding

Long Short-term Memory (LSTM)

递归神经网络(RNN)是传统前馈神经网络的延伸。然而,标准的RNN有梯度消失或爆炸的问题。为了克服这些问题,人们开发了长短时记忆网络(LSTM),并取得了卓越的性能(Hochreiter和Schmidhuber,1997)。在LSTM的结构中,有三个门和一个单元存储状态。图1说明了一个标准的LSTM的结构。

模型结构

更正式地说,LSTM中的每个单元可以按以下方式计算:

X=[ht1xt]ft=σ(WfX+bf)it=σ(WiX+bi)ot=σ(WoX+bo)ct=ftct1+ittanh(WcX+bc)ht=ottanh(ct) \begin{align} X&=\begin{bmatrix} h_{t-1} \\ x_t \end{bmatrix} \\ f_t&=\sigma(W_f{\cdot}X+b_f) \\ i_t&=\sigma(W_i{\cdot}X+b_i) \\ o_t&=\sigma(W_o{\cdot}X+b_o)\\ c_t&=f_t{\odot}c_{t-1}+i_t{\odot}{\tanh}(W_c{\cdot}X+b_c) \\ h_t&=o_t{\odot}\tanh(c_t)\\ \end{align}

其中Wi,Wf,WoRd×2dW_i,W_f,W_o{\in}\mathbb{R}^{d{\times}2d}是权重矩阵,bi,bf,boRdb_i,b_f,b_o{\in}\mathbb{R}^{d}是LSTM在训练中要学习的偏置,分别对输入、遗忘和输出门的变换进行参数化。 σ\sigma是sigmoid函数,\odot代表元素相乘。xtx_t包括LSTM单元的输入,代表图1中的词嵌入向量wtw_t。隐层的向量为hth_t

我们将最后一个隐藏向量hNh_N视为句子的表示,并将hNh_N线性化为一个长度等于类标签数量的向量后放入softmax层。在我们的工作中,类标签的集合是{正、负、中性}\{\text{正、负、中性}\}

LSTM with Aspect Embedding (AE-LSTM)

在对一个句子的情感属性进行分类时,方面的信息是至关重要的。如果考虑不同的方面,我们可能得到相反的极性。为了更好地利用方面信息,我们建议为每个方面学习一个嵌入向量。

矢量vaiRdav_{ai}{\in}\mathbb{R}^{d_a}表示为方面ii的嵌入,其中dad_a是方面的嵌入的维度。ARda×AA{\in}\mathbb{R}^{d_a{\times}|A|}是由所有方面的嵌入组成的。就我们所知,这是第一次提出方面嵌入(aspect embedding)。

Attention-based LSTM (AT-LSTM)

模型结构

标准的LSTM不能检测出哪些是aspect-level情感分类的重要部分。为了解决这个问题,我们建议设计一种注意力机制,它可以捕捉到句子中针对特定方面的关键部分。图2表示基于注意力的LSTM(AT-LSTM)的结构。

HRd×NH{\in}\mathbb{R}^{d{\times}N}是一个由LSTM产生的隐藏向量[h1,...,hN][h_1,...,h_N]组成的矩阵,其中dd是隐藏层的大小,NN是给定句子的长度。此外,vav_a代表方面的嵌入,eNRNe_N{\in}\mathbb{R}^N是一个1s1s的向量。注意机制将产生一个注意权重向量α\alpha和一个加权的隐藏表示γ\gamma

M=tanh([WhHWvvaeN])α=softmax(wTM)γ=HαT \begin{align} M&=\tanh(\begin{bmatrix} W_hH \\ W_vv_a{\otimes}e_N \end{bmatrix}) \\ \alpha&=\text{softmax}(w^TM) \\ \gamma&=H{\alpha}^T \end{align}

其中,MRd+da×NM{\in}\mathbb{R}^{d+d_a}{\times}NαRN\alpha{\in}\mathbb{R}^NγRd\gamma{\in}\mathbb{R}^dWhRd×dW_h{\in}\mathbb{R}^{d{\times}d}WvRda×daW_v{\in}\mathbb{R}^{d_a{\times}d_a}wRd+daw{\in}\mathbb{R}^{d+d_a}是投影参数。α\alpha是一个由注意力权重组成的向量,γ\gamma是具有给定方面的句子的加权表示。7中的运算符(一个里面有乘号的圆圈,这里简称OP)意味着:vaeN=[v;v;...;v]v_a{\otimes}e_N=[v;v;...;v],也就是说,运算符重复concatenates vvNN次,其中eNe_N是一个有NN11的列向量。WvvaeNW_vv_a{\otimes}e_N是重复线性转换后的vav_a,其次数与句子中的词一样多。

最后的句子表示是:

h=tanh(Wpγ+WxhN) \begin{align} h^*&=\tanh(W_{p^\gamma}+W_xh_N) \end{align}

其中,hRdh^*{\in}\mathbb{R}^dWpW_pWxW_x是训练期间要学习的投影参数。我们发现,如果我们将WxhNW_xh_N加入到句子的最终表示中,这实际上效果更好,这是受(Rocktaschel等人,2015)的启发。

注意力机制允许模型在考虑到不同方面的情况下捕捉到一个句子中最重要的部分。

hh^*被认为是一个句子在输入方面的特征表示。我们添加一个线性层将句子向量转换为ee,这是一个实值向量,其长度等于类号C|C|。然后,接着是一个softmax\text{softmax}层,将ee转化为条件概率分布。

y=softmax(Wsh+bs) \begin{align} y=\text{softmax}(W_sh^*+b_s) \end{align}

其中WsW_sbsb_ssoftmax\text{softmax}层的参数。

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

模型结构

在AE-LSTM中使用方面信息的方法是让方面嵌入在计算注意力权重时发挥作用。为了更好地利用方面信息,我们将输入的方面嵌入附加到每个词的输入向量中。这个模型的结构如图3所示。 这样,输出的隐藏表征(h1,h2,...,hN)(h_1,h_2,...,h_N)可以有来自输入方面的信息(va)(v_a)。因此,在接下来计算注意力权重的步骤中,单词和输入方面之间的相互依赖关系可以被建模。

Model Training

该模型可以通过反向传播的方式进行端到端的训练,其中目标函数(损失函数)是交叉熵损失。让yy是句子的目标分布,y^\hat{y}是预测的情感分布。训练的目标是使所有句子的yyy^\hat{y}之间的交叉熵误差最小。

loss=ijyijlogy^ij+λθ2 \begin{align} loss=-\sum\limits_i\sum\limits_jy_i^j{\log}\hat{y}_i^j+{\lambda}||\theta||^2 \end{align}

其中ii是句子的索引,jj是类别的索引。我们的分类是三方面的。λ\lambda是L2-正则化项。θ\theta是参数集。

与标准LSTM类似,参数集为{Wi, bi, Wf, bf, Wo, bo, Wc, bc, Ws, bs}\{W_i,\ b_i,\ W_f,\ b_f,\ W_o,\ b_o,\ W_c,\ b_c,\ W_s,\ b_s\}。此外,词的嵌入也是参数。请注意,Wi, Wf, Wo, WcW_i,\ W_f,\ W_o,\ W_c的维度随着不同的模型而变化。如果方面嵌入被添加到LSTM单元的输入中,Wi, Wf, Wo, WcW_i,\ W_f,\ W_o,\ W_c的维度将相应地被扩大。其他参数列举如下。

  • AT-LSTM: 方面嵌入AA被自然地加入到参数集中。此外,Wh, Wv, Wp, Wx, wW_h,\ W_v,\ W_p,\ W_x,\ w是注意力的参数。因此,ATLSTM的额外参数集是{A, Wh, Wv, Wp, Wx, w}\{A,\ W_h,\ W_v,\ W_p,\ W_x,\ w\}.

  • AE-LSTM: 这些参数包括方面嵌入AA。此外,由于方面向量被concatenated,Wi, Wf, Wo, WcW_i,\ W_f,\ W_o,\ W_c的维度将被扩大。因此,附加参数集由{A}\{A\}组成。

  • ATAE-LSTM: 参数集由{A, Wh, Wv, Wp, Wx, w}\{A,\ W_h,\ W_v,\ W_p,\ W_x,\ w\}组成。此外,Wi, Wf, Wo, WcW_i,\ W_f,\ W_o,\ W_c的维度将通过方面嵌入的连接来扩展。

在训练过程中,词的嵌入和方面的嵌入被优化。词汇外的百分比约为5%5\%,并从U(ϵ,ϵ)U(-\epsilon, \epsilon)随机初始化,其中ϵ=0.01\epsilon=0.01

在我们的实验中,我们使用AdaGrad(Duchi等人,2011)作为我们的优化方法,该方法在分布式环境中明显改善了SGD在大规模学习任务上的稳健性(Dean等人,2012)。AdaGrad使学习率适应参数,对不经常出现的参数进行较大的更新,对经常出现的参数进行较小的更新。

Experiment

我们将提出的模型应用于aspect-level情感分类。在我们的实验中,所有的词向量都由Glove1(Pennington等人,2014)初始化。词嵌入向量是在一个大小约为84008400亿的无标签语料库中预训练的。其他参数是通过从均匀分布U(ϵ, ϵ)U(-\epsilon,\ \epsilon)中抽样初始化的。词向量、方面嵌入和隐藏层的大小为300300。注意力权重的长度与句子的长度相同。Theano(Bastien等人,2012)被用来实现我们的神经网络模型。我们用2525个例子的批处理量来训练所有模型,AdaGrad的动量为0.90.9,L2-规则化权重为0.0010.001,初始学习率为0.010.01.

Dataset

模型结构

我们在SemEval 2014 Task 4 2(Pontiki等人,2014)的数据集上进行实验。该数据集由客户评论组成。每条评论都包含一个方面和相应极性的列表。我们的目的是用相应的方面来识别一个句子的方面情感属性。统计资料见表1。

Task Definition

Aspect-level Classification

模型结构

给定一组预先识别的方面,这项任务是确定每个方面的极性。例如,给定一个句子,"这家餐馆太贵了",对于价格方面,其极性为负。方面的集合是{食物、价格、服务、氛围、轶事/杂事}。在SemEval 2014任务4的数据集中,只有餐馆数据具有特定方面的极性。表2说明了比较结果。

Aspect-Term-level Classification

对于一个句子中的一组方面,这项任务是要确定每个方面的极性是积极的、消极的还是中性的。我们在SemEval 2014 Task 4的数据集上进行了实验。在餐厅和笔记本电脑数据集的句子中,每个方面术语的出现都有其位置和情感极性。例如,在句子"I loved their fajitas."中,方面fajitas的极性为负。(为什么为负,这段读了好几遍,感觉是不是写错了)

模型结构

模型结构

实验结果见表3和表4。与方面级分类的实验类似,我们的模型取得了最先进的性能。

Comparison with baseline methods

我们将我们的模型与几个baselines进行比较,包括LSTM、TD-LSTM和TC-LSTM。

  • LSTM: 标准的LSTM不能捕捉句子中的任何方面信息,所以它只能得到相同的情感极性,尽管给了不同的方面。由于它不能利用方面的信息,所以毫不奇怪,该模型的性能最差。

  • TD-LSTM: TD-LSTM可以通过将一个方面作为一个目标来提高情感分类器的性能。由于TD-LSTM中没有注意机制,它不能"知道"哪些词对某个方面是重要的。

  • TC-LSTM: TC-LSTM通过将目标纳入句子的表示中来扩展TD-LSTM。值得注意的是,在表2中,TC-LSTM的表现比LSTM和TD-LSTM差。TC-LSTM在LSTM单元的输入中加入了目标表示,这是从词向量中获得的。

Qualitative Analysis

分析哪些词决定了给定方面的句子的情感极性是有启发性的。我们可以在方程8中得到注意力权重α\alpha,并相应地将注意力权重可视化。

可视化

图4显示了注意力如何集中在具有特定方面影响的单词上的表现。我们使用可视化工具Heml(Deng等人,2014)来对句子进行可视化。颜色深度表示注意力向量α中权重的重要程度,越深越重要。图4中的句子是:“I have to say they have one of the fastest delivery times in the city .”和“The fajita we tried was tasteless and burned and the mole sauce was way too sweet.”对应的方面分别是服务和食物。显然,注意力可以从整个句子中动态地获得重要的部分。在图4(a)中,“fastest delivery times”是一个多词短语,但如果服务可以是输入方面,我们基于注意力的模型可以检测到这样的短语。此外,如果存在一个以上的关键词,注意力可以检测到多个关键词。在图4(b)中,tastless和too sweet都被检测出来。

Case Study

正如我们所展示的,我们的模型获得了最先进的性能。在本节中,我们将通过一些典型的例子进一步展示我们模型的优势。

在图5中,我们列出了测试集中一些具有典型特征的例子,这些例子不能被LSTM推断出来。在句子(a)中,“The appetizers are ok, but the service is slow.”,有两个方面的食物和服务。我们的模型可以分辨出不同方面的情感极性。在句子(b)中,“I highly recommend it for not just its superb cuisine, but also for its friendly owners and staff.”,其中有一个否定词not。我们的模型可以获得正确的极性,不受否定词的影响,在这里不代表否定。在最后一个例子(c)中,“The service, however, is a peg or two below the quality of food (horrible bartenders), and the clientele, for the most part, are rowdy, loud-mouthed commuters (this could explain the bad attitudes from the staff) getting loaded for an AC/DC concert or a Knicks game.”,这个句子有一个长而复杂的结构,所以现有的解析器可能很难获得正确的解析树。因此,基于树的神经网络模型很难正确预测极性。而我们基于注意力的LSTM在注意力机制和方面嵌入的帮助下,可以在这些句子中很好地工作。

Conclusion and Future Work

在本文中,我们提出了基于注意力的LSTMs,用于aspect-level情感分类。这些建议的关键思想是学习方面嵌入并让方面参与计算注意力权重。我们提出的模型可以在给定不同方面的情况下集中于句子的不同部分,因此它们在方面级分类中更具有竞争力。实验表明,我们提出的模型,AE-LSTM和ATAE-LSTM,获得了比基线模型更优越的性能。

尽管这些建议显示了方面级情感分析的潜力,但不同的方面是单独输入的。作为未来的工作,一个有趣的和可能的方向是用注意力机制同时模拟一个以上的方面。

评论
Powered by Waline v2.6.1