Aspect Level Sentiment Classification with Attention-over-Attention Neural Networks

Paper

摘要:

方面级情感分类的目的是识别上下文句子中对某些方面表达的情感。本文提出了一种用于方面级情绪分类的Attention over Attention(AOA)神经网络。我们的方法以联合的方式为方面和句子建模,并明确地捕捉方面和上下文句子之间的交互。通过AOA模块,我们的模型共同学习方面和句子的表示,并自动关注句子中的重要部分。

Introduction

基于神经网络的优点,我们基于长短期记忆(LSTM)神经网络,对情绪分类问题进行了研究。以往基于lstm的方法主要是分别对文本进行建模,而我们的方法使用LSTMs同时建模方面和文本。此外,由LSTMs生成的目标表示和文本表示通过AOA(attention-over-attention, AOA)模块相互作用。AOA不仅自动从方面到文本,而且从文本到方面也自动生成相互关注。这是受到一句话中只有几个字有助于对一个方面的感情的观察的启发。很多时候,这些带有情感的词语与各方面高度相关。在前面的例子中,开胃菜和服务这两个方面。the appetizers are ok, but the service is slow。根据我们的语言经验,我们知道“慢”这个贬义词更可能用来形容服务,而不是开胃菜。同样地,对于一个方面短语,我们也需要关注最重要的部分。这就是为什么我们选择AOA来关注方面和句子中最重要的部分。

Related Work

情感分类

情感分类的目的是检测文本的情感极性。对于这个研究问题[,有各种各样的方法被提出。现有的大多数作品都是使用机器学习算法以监督的方式对文本进行分类。朴素贝叶斯和支持向量机(SVM)等算法被广泛应用于该问题。这些方法中的大多数要么依赖于n-gram特性,要么依赖于手动设计的特性。多重情感词汇就是为此目的而建立的。近年来,神经网络在情绪分类方面取得了显著的进展。基于神经网络的方法自动学习特征表示,不需要密集的特征工程。研究人员提出了多种神经网络结构。经典方法包括卷积神经网络递归神经网络循环神经网络。这些方法在情绪分析方面取得了良好的效果。

层次情感分析

层次级情感分类是情绪分类的一个分支,其目的是识别句子中某一特定面的情绪极性。早期的一些作品设计了基于规则的aspect level sentiment classification模型,如。
Nasukawa等人首先对句子进行依赖解析,然后使用预定义的规则来确定[13]方面的情绪。Jiang等人基于句子语法结构[6],通过创建几个目标依赖特征,改进了目标依赖情绪分类。这些与目标相关的特征与其他内容特征一起被进一步输入到SVM分类器中。随后引入了各种基于神经网络的方法来解决这一层面的情绪分类问题。典型的方法是基于LSTM神经网络。TD-LSTM通过开发两个LSTM网络来建模方面目标[23]的左右上下文来解决这个问题。该方法使用这两个lstm的最后一个隐藏状态来预测情绪。为了更好地捕捉句子中重要的部分,Wang等人使用aspect term embedding来生成一个注意向量来集中在句子[28]的不同部分。按照这种思路,Ma等人使用两个LSTM网络分别对句子和方面[11]进行建模。它们进一步利用句子生成的隐藏状态通过池化操作计算方面目标的关注量,反之亦然。
因此,他们的IAN模型既能兼顾句子中的重要部分,也能兼顾目标部分。他们的方法和我们的相似。但是,pooling操作会忽略句子与目标之间的词对交互,实验表明,我们的方法优于它们的模型。

Method

模型框架
词嵌入,分别对句子和目标进行Word Embedding,之后通过双向LSTM得到Sentence和Aspect的隐藏状态,然后通过AOA模块计算文本的注意权重,

AOA模块

通过Bi-LSTM得到了文本和target的隐藏语义表示,接下来通过AOA模块计算文本的注意权重。
给定目标表示ht Rm 2dh
和句子表示hs Rn 2dh
首先计算成对交互矩阵I = hs·htT,
其中,每个值表示句子和目标之间的一对单词的相关性。
分别按列和按行进行softmax,得到了目标到句子的attention α和句子到目标的attention β。
按列对β进行求平均值,得到target-level attention,在这里插入图片描述
该向量包含了aspect target的重要部分。
最终的sentence-level attention γ是目标到句子的注意α和β平均值的的点积。
通过明确地考虑各方面词的贡献,我们可以知道句子中每个词的重要权重。

Final Classification

最终的句子表示是利用AOA模块中的句子注意量对句子隐含语义状态的加权和。
在这里插入图片描述
我们将该句子表示作为最终的分类特征,将其输入到线性层,将r投射到目标C类的空间里。
在这里插入图片描述
W和b为权重和偏差。线性层之后,用softmax层来计算句子S的情感极性c∈C在这里插入图片描述
Aspect target的最终预测情感极性就是概率最高的标签。

实验

在SemEval 2014 Task 4 [26]中针对笔记本电脑和餐厅的两个特定于域的数据集进行了实验。经验丰富的注释者标记了句子的方面术语及其极性。表1列出了按情感极性分类的分布。
在这里插入图片描述
在这里插入图片描述
在我们的实验中,我们发现随着不同的随机初始化,性能会发生波动,这在训练神经网络中是一个众所周知的问题。因此,我们运行了10次训练算法,并在表2中报告了平均准确率和最好的准确率。所有的基线方法在他们的论文中只报告了一个最佳的数字。平均而言,我们的算法比这些基线方法要好,我们训练得最好的模型也大大优于它们。
在表3中,我们列出了测试集中的五个例子。为了分析哪个词对情绪极性方面的影响最大,我们将最后一句话的注意向量可视化为表3。颜色深度表示一个单词在句子中的重要性,颜色越深越重要。
在前两个例子中,有开胃菜和服务两个方面。在句子中,开胃菜还可以,但是服务太慢了。我们可以观察到,当句子中有两个方面时,我们的模型可以自动地为每个方面指向正确的情绪指示词。同样的事情也发生在第三和第四个例子中。在最后一个示例中,方面是短语引导时间。从句子内容启动时间超快,在任何地方从35秒到1分钟,这个模型都可以学习到时间是方面最重要的词,这进一步帮助它超快地找到情绪指示部分。
在这里插入图片描述

误差分析

三类情况会造成误差,
第一类是情感表达不是很明确的,比如“it took about 2 1/2 hours to be served our 2 courses”花两个半小时才能上完我们的两道菜。
第二类是习语的应用:“the service was on point - what else you would expect from a ritz?”,其中 on point 不能够被模型识别。
第三类是复杂的情感表达,比如“i have never had a bad meal (or bad service) @ pigalle.”

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值