失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 研读Attention-based LSTM for Aspect-level Sentiment Classification

研读Attention-based LSTM for Aspect-level Sentiment Classification

时间:2018-08-31 21:20:48

相关推荐

研读Attention-based LSTM for Aspect-level Sentiment Classification

Attention-based LSTM for Aspect-level Sentiment Classification

基于注意的LSTM的方面级情感分类

Abstract

在情感分析中,方面级情感分类是一个细粒度的任务。由于方面级情感分析提供了更全面、更深入的结果,近年来受到了广泛的关注。本文揭示了句子的情感极性不仅由句子的内容决定,而且与句子所关注的方面密切相关。例如,“开胃菜还可以,但服务很慢。",对于外观味道,极性为正,而对于服务,极性为负。因此,探讨一个方面与一个句子的内容之间的联系是值得的。为此,我们提出了一个基于注意力的长短时记忆网络,用于方面级的情感分类。当不同方面作为输入时,注意机制可以集中在句子的不同部分。我们在SemEval 数据集上进行了实验,结果表明我们的模型在方面级情感分类上达到了最先进的性能。

1 Introduction

情感分析(Nasukawa and Yi,),也被称为意见挖掘(Liu,),是近年来备受关注的关键NLP任务。方面级情感分析是一个细粒度的任务,可以提供完整和深入的结果。在本文中,我们处理了方面级情感分类,发现一个句子的情感极性高度依赖于内容和方面。例如,“员工不是那么友好,但味道涵盖了一切”的情感极性。如果是食物方面,我会给你正面评价,但是如果是服务方面,我会给你负面评价。当考虑不同方面时,极性可能相反。

神经网络在各种NLP任务中取得了最先进的性能,如机器翻译(Lample等人,)、释义识别(Yin等人,)、问答(Golub和He,)和文本摘要(Rush等人,)。然而,神经网络模型在处理方面级情感分类方面仍处于起步阶段。在一些研究中,目标依赖的情感分类可以从考虑目标信息中获益,如目标依赖LSTM(TD-LSTM)和目标连接LSTM(TC-LSTM)(Tang等人,a)。然而,这些模型只考虑了目标信息,而没有考虑方面信息,而这一点对于方面级分类是至关重要的。

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

在方面级情感分类中,我们探讨了方面和情感极性之间的潜在相关性。为了捕捉响应特定方面的重要信息,我们设计了一个基于注意力的LSTM。我们在一个基准数据集(Pontiki等人,)上评估了我们的方法,其中包含餐厅和笔记本电脑的数据。

我们工作的主要贡献可总结如下:

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

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

2 Related Work

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

2.1 Sentiment Classification at Aspect-level 面向方面的情感分类

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

2.2 Sentiment Classification with Neural Networks 基于神经网络的情感分类

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

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

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

3 Attention-based LSTM with Aspect Embedding 基于方面嵌入的注意力LSTM

3.1 Long Short-term Memory (LSTM)

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

图一标准LSTM的体系结构。{w1, w2,…,wNw_NwN​}表示长度为N的句子中的词向量。{h1,H2, …,hNh_NhN​}是隐藏向量。

图一的核心思想是对已经向量化表示的词语按照语句顺序进行LSTM运算,得到对应的隐含层序列{h1,H2, …,hNh_NhN​},基于最后一个隐含层输出hNh_NhN​含有整个句子的信息,因此将其作为语句的最后表示,并对其进行softmax运算,进而完成句子分类等任务。

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

其中Wi,Wf,Wo ∈ Rd×2dR^{d×2d}Rd×2d是加权矩阵bi,bf,bo ∈ RdR^dRd是训练过程中要学习的LSTM的偏置,分别参数化输入、遗忘和输出门的变换σ是sigmoid函数⊙代表元素乘法xtx_txt​包括LSTM单元单位的输入,wtw_twt​表示图1中的字嵌入向量。隐藏层的向量为hth_tht​。

公式详解:

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

3.2 LSTM with Aspect Embedding (AE-LSTM) 具有方面嵌入的LSTM

在对一个句子给定方面的极性进行分类时,方面的信息至关重要。如果考虑不同的方面,我们可能得到相反的极性。为了更好地利用方面信息,我们建议为每个方面学习一个嵌入向量。向量vaiv_{ai}vai​∈RdaR^{da}Rda表示方面i的嵌入,其中dad_ada​是方面嵌入的维度。A∈Rda×∣A∣R^{da×|A|}Rda×∣A∣是由所有方面嵌入组成的。就我们所知,这是第一次提出方面嵌入。

其思想是:将训练语料中每个语句给定的评价对象词进行向量化,并且加入到LSTM模型中一起训练。原因在于:每个句子的aspect信息是非常重要的,为了让模型更好地学习到这部分词语的信息,那么将这部分词语一起加入到模型中训练,让模型学习到aspect的信息是十分有必要的,因此提出学习aspect的词向量。

3.3 Attention-based LSTM (AT-LSTM) 基于注意力的LSTM

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

图2:基于注意力的LSTM的结构。方面嵌入被用来决定注意力权重和句子表示。{w1, w2, . . . wNw_NwN​}代表一个长度为N的句子中的词向量,va代表方面嵌入。α是注意力权重。{h1, h2, … , hN}是隐藏向量

Aspect embedding:初始化一个包含所有aspect的矩阵Va,batch内的每一个sample只对应一个aspect,将aspect复制N次与序列长度一致,再将Aspect embedding矩阵与hidden矩阵连接得到矩阵M,Aspect embedding只参与attention weight(α)的计算。

从图中可以发现,该模型将aspect的词向量va与每一个隐含层hi进行连接,然后计算出注意力权重α后与隐含层H进行运算,得到最后与hN维度相同的输出r向量

设H∈Rd×NR^{d×N}Rd×N是一个由LSTM产生的隐藏向量[h1, …, hNh_NhN​]组成的矩阵,其中d是隐藏层的大小,N是给定句子的长度。此外,vav_ava​代表方面的嵌入,eNe_NeN​∈RNR^NRN是一个1s的向量。注意力机制将产生一个注意力权重向量α一个加权的隐藏表示r。【1s:矩阵的运算一秒钟的功率数值】

其中,M∈R(d+da)×NR^{(d+da)×N}R(d+da)×N,α∈RNR^NRN,r∈RdR^dRd。WhW_hWh​∈Rd×dR^{d×d}Rd×d,WvW_vWv​∈Rda×daR^{da×da}Rda×da和w∈Rd+daR^{d+da}Rd+da是投影参数α是一个由注意权重组成的向量,r是一个具有给定方面的句子的加权表示。7中的运算符(一个里面有乘号的圆圈,这里简称OP)意味着:va⊗eN = [v; v; . . . ; v],也就是说,运算符将v重复连接N次,其中eN是具有N个1s的列向量。WvvaW_vv_aWv​va​ ⊗ eN 是重复线性转换后的va,其次数与句子中的单词一样多

最终的句子表示为:

其中,h∗∈RdR^dRd,WpW_pWp​和WxW_xWx​是训练中要学习的投影参数。我们发现,如果我们将WxhNW_xh_NWx​hN​加入到句子的最终表示中,实际效果会更好,这是受(Rockt¨aschel等人,)的启发。【作者并不是直接将 r 输出就算了,作者是将 r 和 hNh_NhN​进行加权预算,作为最后的输出。作者的解释是:他们发现这样做效果更好,而这个灵感来自于(Rockt¨aschel等人,)】

如果只用 Attention 的结果作为整个句子的表示的话,可能靠后的单词的信息不容易被考虑进去(因为比如 Attention 对 hi 很看重,那么 hi 本身是包含之前 h 的信息的,而之后的 h 的信息则在 hi 中完全没有被考虑,这就容易导致 Attention 后的结果得到的表示包含着前面的信息更多)。而因为 LSTM 本身最后一个隐层表示可以作为整个句子的表示,并且其本身的特点是就是对越靠近出口的 input 考虑的越多,所以二者正好可以互补。

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

h∗被认为是给定输入方面的句子的特征表示。我们添加一个线性层,将句子向量转换为e,这是一个实值向量,其长度等于类号|C|。然后,再加一个softmax层,将e转化为条件概率分布。

其中WsW_sWs​和bsb_sbs​是softmax层的参数。【得到这个句子最后的表示之后,将其放入一个 linear layor 得到维度为情感类别个数的 output,之后用 softmax 处理来得到最后结果】

3.4 Attention-based LSTM with Aspect Embedding (ATAE-LSTM) 基于方面嵌入的注意力LSTM

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

【为了更好地利用aspect embedding的信息,在AT-LSTM的基础上,将aspect embedding append(concat)到每个输入的向量(比如词向量)中去,这样hidden representation(h)就带有了输入中的aspect的信息。这样就可以更好的利用到方面词与目标词之间的交互性。】

图3:基于注意力的LSTM与方面嵌入的结构。方面嵌入与词的嵌入一起被作为输入。{w1, w2, … wN}代表一个长度为N的句子中的词向量,va代表方面嵌入。α是注意力权重。{h1, h2, … , hN}是隐藏向量

3.5 Model Training

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

其中i是句子的索引,j是类别的索引。我们的分类有三种方式:λ是L2正则化项;θ是参数集。【λ用于对每次训练的参数进行取舍】

类似于标准LSTM,参数集是{Wi,bi,Wf,bf,Wo,bo,Wc,bc,Ws,bs}。此外,词嵌入也是参数。注意,Wi、Wf、Wo、Wc的尺寸随着不同的模型而变化。如果在LSTM单元单元的输入中加入方面嵌入,则Wi、Wf、Wo、Wc的维度将相应增大。其他参数如下所示:

AT-LSTM:将方面嵌入A自然地添加到参数集合中。此外,Wh、Wv、Wp、Wx、w是注意力的参数。因此,ATLSTM的附加参数集是{A,Wh,Wv,Wp,Wx,w}。

AE-LSTM:参数包括方面嵌入A。此外,由于方面向量被串联起来,因此Wi、Wf、Wo、Wc的维度将被扩大。因此,附加参数集由{A}组成。

ATAE-LSTM:参数集由{A,Wh,Wv,Wp,Wx,w}组成。另外,通过方面嵌入的连接,Wi,Wf,Wo,Wc的维度将被扩大。

在训练过程中对单词嵌入和方面嵌入进行了优化。词汇表外单词的百分比约为5%,它们从U(-ϵ, ϵ)随机初始化,其中ϵ=0.01。

在我们的实验中,我们使用AdaGrad(Duchi等人,)作为我们的优化方法,显著提高了SGD在分布式环境中对大规模学习任务的鲁棒性(Dean等人,)。AdaGrad根据参数调整学习速率,对不频繁的参数执行较大的更新,对频繁的参数执行较小的更新。

4 Experiment

我们将提出的模型应用于方面级的情感分类。在我们的实验中,所有的词向量都由Glove(Pennington等人,)初始化。词嵌入向量是在一个大小约为8400亿的无标签语料库中预训练的。其他参数是通过从均匀分布U(-ϵ, ϵ)中抽样初始化的。词向量、方面嵌入和隐藏层的维度为300。注意力权重的长度与句子的长度相同。Theano(Bastien等人,)用于实现我们的神经网络模型。对于AdaGrad,我们使用25个样本的批量大小、0.9的动量、0.001的L2正则化权重和0.01的初始学习率来训练所有模型。

4.1 Dataset

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

表1每个情感类别的方面分布。{Fo., Pr., Se, Am., An.}指的是{食物、价格、服务、环境、轶事/杂事}。"Asp. "指的是方面。

4.2 Task Definition

方面级分类给定一组预先确定的方面,这个任务是确定每个方面的极性。例如,给出一个句子,“这家餐馆太贵了",存在极性为负的价格方面。方面的集合是{食物、价格、服务、环境、轶事/杂事}。在SemEval 任务4的数据集中,只有餐馆数据具有特定方面的极性。表2说明了比较结果。

表2关于餐馆的方面级极性分类的准确性。Three-way代表三分类预测。Pos./Neg.表示二元预测,忽略所有的中性实例。最好的分数是黑体字。

方面术语级分类对于一个句子中的一组方面术语,这项任务是确定每个方面术语的极性是积极的、消极的还是中性的。我们在SemEval Task 4的数据集上进行了实验。在餐厅和笔记本电脑数据集的句子中,每个方面术语的出现都有其位置和情感极性。例如,在句子 "我喜欢他们的炸鸡 "中,有一个方面术语fajitas的极性是负面的。

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

表3关于餐馆的方面术语极性分类的准确性。Three-way代表3类预测。Pos./Neg.表示二元预测,忽略所有的中性实例。最好的分数是黑体字。

表4笔记本电脑方面术语极性分类的准确性。Three-way代表3类预测。Pos./Neg.表示二元预测,忽略所有的中性实例。最好的分数是黑体字。

4.3 Comparison with baseline methods 与基线方法的比较

我们将我们的模型与几个基线进行了比较,包括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单元的输入中加入了由词向量得到的目标表示。【前面提到:TD-LSTM和TC-LSTM考虑了目标信息,在目标依赖的情感分类中取得了最先进的表现。TC-LSTM通过对目标短语包含的单词向量进行平均来获得目标向量。但是,仅对目标短语的词嵌入进行平均不足以表示目标短语的语义,从而导致性能欠佳。】

在我们的模型中,我们将方面嵌入到另一个向量空间中。在训练过程中可以很好地学习方面的嵌入向量。ATAELSTM不仅解决了词向量和方面嵌入之间不一致的问题,而且还能捕捉到针对某个方面的最重要的信息。此外,ATAE-LSTM还可以在给定不同方面时捕捉到句子的重要和不同的部分。

4.4 Qualitative Analysis 定性分析

分析哪些词决定了句子的情感极性,对于分析句子的情感极性具有一定的启发意义。我们可以在等式8中获得注意力权重α,并相应地将注意力权重可视化。

图4显示了注意力如何集中在受特定方面影响的单词上。我们使用可视化工具Heml(Deng等人,),对句子进行可视化。颜色深度表示注意力向量α中权重的重要程度,颜色越深越重要。图4中的句子是"我不得不说他们是这个城市中送货速度最快的餐厅之一。”和"我们试吃的法吉塔没有味道而且烧焦了,鼹鼠酱又太甜了"。对应的方面分别是服务和食品。显然,注意力可以动态地从整个句子中获取重要部分。在图4(a)中,“最快的送货时间” 是一个多词短语,但如果服务可以是输入方面,我们基于注意力的模型可以检测到这样的短语。此外,如果存在多个关键词,注意力可以检测到多个关键词。在图4(B)中,检测到无味和太甜。

图4:注意力的可视化。(a)和(b)的内容分别是服务和食物。颜色深度表达了注意力向量α中权重的重要程度。从(a)中,注意力可以从整个句子中动态地检测出重要的词,即使是多语义的短语,如 “最快的交货时间”,也可以在其他领域使用。从(b)中,如果存在多个关键点,注意力可以知道多关键点。

4.5 Case Study 案例研究

正如我们所展示的,我们的模型获得了最先进的性能。在本节中,我们将通过一些典型的例子进一步展示我们的建议的优势。在图5中,我们列出了测试集中一些具有典型特征的例子,这些例子不能被LSTM推断出来。在句子(a)中,“开胃菜还行,但服务很慢。”,有食物和服务两个方面。我们的模型可以分辨出不同方面中的不同的情感极性。在句子(b)中,“我强烈推荐它,不仅因为它的美味佳肴,还因为它友好的老板和员工。”,其中有一个否定词not。我们的模型可以获得正确的极性,不受否定词的影响,在这里not不代表否定词。在最后一个例子(c)中,“然而,服务比食物的质量要差一两个档次(糟糕的酒保),而顾客,大部分是吵闹的、大声说话的上班族(这可以解释工作人员的恶劣态度),他们正在为AC/DC音乐会或尼克斯队比赛而疯狂”,这个句子有一个长而复杂的结构,所以现有的解析器可能很难获得正确的解析树。因此,基于树的神经网络模型很难正确预测极性。而我们基于注意力的LSTM在注意力机制和方面嵌入的帮助下,可以很好地处理这些句子。

图5:分类示例。(a)是具有不同方面的实例。(b)表示我们的模型可以关注的关键点在哪里,而不受否定词not的干扰。©代表长而复杂的句子。我们的模型可以得到正确的情感极性。

5 Conclusion and Future Work

本文提出了一种基于注意力的LSTMs,用于方面级情感分类。这些方案的核心思想是学习方面嵌入,并让方面参与注意力权重的计算。我们提出的模型可以在给出不同方面的情况下集中于句子的不同部分,因此它们在方面级分类方面更有竞争力。实验表明,我们提出的模型,AE-LSTM和ATAE-LSTM,获得了比基线模型更好的性能。 尽管这些建议已经显示了方面级情感分析的潜力,但是不同的方面是分开输入的。作为未来的工作,一个有趣的和可能的方向是用注意力机制同时为多个方面建模。

公式详解参考: /hanbingtao/note/581764

如果觉得《研读Attention-based LSTM for Aspect-level Sentiment Classification》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。