Neural Sentiment Classification with User and Product Attention
Table3 Table4显示:
在NSC分别在词和句子level使用AVG和ATT,结果显示ATT效果最好。
后对比NSC 分别使用ATT、PA、UA、UPA结果显示UPA效果最好。
可以证明使用了用户产品注意力机制有增强效果。
################################################################
摘要
文档级别的情感分类致力于预测用户的总体情感在一个文档中关于一个产品。然而,大多现存的方法仅仅关注局部文本信息,忽略全局用户倾向和产品特征。尽管一些工作需要考虑一些信息,它们一般有高的模型复杂性,仅仅考虑word-level倾向而不是语义级别的。为了解决这个问题,我们提出一个等级神经网络融入全局用户和产品信息到情感分类。我们的模型首先建立一个等级LSTM模型产生句子和文档表示。之后,用户和产品信息被考虑,通过不同语义级别的注意力由于它的捕获关键语义成分的能力。这个实验结果表明这个模型达成重大且一贯的进步对比于所有现存的方法。
源码
1 介绍
情感分类致力于分析人们情感或观点依据他们产生的文本并扮演一个关键的角色在数据挖掘和自然语言处理领域。最近,情感分析有越来越多的注意力到研究急速的增长网上评论网站例如亚马逊,yelp,IMDB,由于它的重要性去个性化推荐。
这个工作中,我们关注文档级别的情感分类任务,是一个情感分类的基础问题。文档界别的情感分类假设每个文档表达一个情感在一个单独的产品上并关注决定关于产品的整体情感。
大多现存方法对情感分类作为一个文本分类问题的特别的例子。这些方法对待标注的情感极性或者评分作为类别并应用机器学习算法训练分类伴随文本特征,也就是词袋向量。自从文本分类的表现严重依赖抽取的特征,这种研究经常设计有效的特征从文本或额外句子词典。
被成功的利用深度网络在计算机视觉,演讲辨识和自然语言处理激励,一些神经网络基于情感分析模型被提出去学习及维度文本特征不带任何特征工程。大多提出的神经网络模型用一个句子或文档的文本信息作为输入并产生语义表示使用设计好的神经网络。然而,这些方法仅仅关注文本内容忽略关键的用户和产品特征。这很常见在用户倾向和产品特征有很大的影响在打分时。
为了合并用户和产品信息到情感分类中,带入一个文本倾向矩阵和一个表示向量用于每个用户和产品到CNN情感分类中。它修正这个词意思在输入层伴随倾向矩阵和拼接用户/产品表示向量并产生文档表示在softmax层之前。提出的模型达成一些改进但是有如下问题:(1)介绍的倾向矩阵对于每个用户/产品不足而且训练很难由于很少的评论。例如,大多IMDB用户和Yelp用户仅仅有几十个评论,不够获得well-tuned倾向矩阵。(2)用户和产品特征应该反映在语义等级除了词等级。例如,一个在Yelp两星的评级说“吃牛排的好地方并且我是夏威夷披萨的粉丝,但是我不喜欢不得不使用100元只一顿饭和两个饮料”。很显然低评分结果主要相对依赖最后句子。
为了解决这些问题,我们提出一个新等级LSTM模型去引入用户和产品信息到情感分类。如展示在Fig. 1,我们的模型主要有两部分构成。首先,我们见啥一个等级LSTM产生句子级别表示和文档级别表示共同的。之后,我们引入用户和产品信息作为attention对于文档的不同语义级别。考虑到用户和产品信息,我们的模型可以很大增进在真实数据集的情感分类的表现。
总结,我们的努力提供下列三个贡献:
(1)我们提出一个有效的神经情感分类模型通过使用全局用户和产品信息进入考虑。对比【】,我们的模型包括更少参数并且训练更有效率。
(2)我们引入用户和产品信息基于attention在文档的不同语义级别。传统基于attention的神经网络模型仅仅考虑局部文本信息。对比的,我们模型引入用户-产品attention通过利用全局用户倾向和产品特征。
(3)我们执行实验在几个真实数据集去证实模型有效性。这个模型结果表明我们的模型重大且一贯的表现好于现有模型。
2 相关工作
伴随深度学习在计算机视觉,语音辨识和自然语言处理的趋势,神经模型引入到情感分类领域由于它的文本表示学习能力。【】第一次使用Stacked Denoising Autoencoder在情感分类。Socher执行一系列循环神经网络模型去学习表示基于句子的循环树结构,包括Recursive Autoen- coder (RAE),Matrix-Vector Recursive Neural Network (MV-RNN),Recursive Neural Tensor Network (RNTN)。除了【】和【】采用卷积神经网络CNN去学习句子表示并达成显著的表现在句子分类。
循环神经网络还有利于句子分类因为它能够捕获序列信息。【】,【】调查树结构的long-short term memory (LSTM) 网络到文本或情感分类。还有一些等级模型提出去解决文档级别情感分类,从而产生不同级别(短语句子文档)的语义表示在一个文档。更多的,attention机制还引入到情感分类,从而致力于选择重要的词从一个句子或者选一个句子从一个文档。
大多存在的情感分类模型忽略全局用户倾向和产品特征,这拥有关键影响在情感极性上。去处理这个问题,【】提出添加用户/产品倾向矩阵和表示向量到CNN模型。不管如何,它有高模型复杂度和仅仅考虑词级别倾向而不是语义级别。对比的,我们提出一个有效的神经情感分类模型使用用户和产品用到attention中同时在词和语义级别。
方法
在这个部分,我们将会介绍我们的User Product Attention (UPA)基于Neural Sentiment Classification (NSC)模型的细节。首先,我们给出文档级别的情感分类的形式化。之后,我们讨论如何获得文档语义表示通过Hierarchical Long Short-term Memory (HLSTM)网络。最后,我们呈现我们的attention机制从而加入用户和产品的全局信息去增强文档表示。增强的文档表示被使用为特征用于情感分类。总的描述UPA基于NSC模型展示在Fig. 1。
3.1 Formalizations
假设一个用户u ∈ U
有一个评论关于一个产品p ∈ P
。我们呈现评论作为一个文档d伴随n个句子 {S1, S2, · · · , Sn}。这里,l_i
是第i个句子的长度。第i个句子S_i
包括l_i
个词 {w^1_i,w^2_i,··· ,w^l_i }
。文档级别情感分类致力于预测情感分布或评分对于这些评论依据他们的文本信息。
3.2 神经情感分类模型
依据组合型的原则,我们建模文档的语义通过一个等级结构包括word-level, sentence-level and document-level。去建模句子语义表示,我们采用LSTM网络因为他在情感分类的非凡表现,特别对于长文本。简单的,我们还是用LSTM学习文档表示。
在词级别,我们嵌入每个句子中的词到一个低维度语义空间。这表示,每个词w^i_j
映射到它的embeddingw^i_j ∈ R^d
。每个步骤,给一个输入词w^i_j
当前cell状态c^i_j
和h^i_j
可以更新伴随之前cell状态c^i_{j-1}
和隐藏层h^i_{j-1}
如下:
其中i,f,o是激活门,⊙表示点乘积, σ 是 sigmoid函数,W,b是参数我们需要训练的。我们接着输入隐藏状态[h^i_1, h^i_2, ··· , h^i_l ]
到平均池化层去获得句子表示s_i
。
在句子级别,我们还输入句子embedding [s1, s2, · · · , sn] 到LSTM并获得文档表示d通过一个平均池化层相似的方式。
3.3 用户产品Attention
我们引入用户产品注意力去捕获关键元素在不同语义级别用于情感分类。特别的,我们采用词级别UPA去产生句子表示和句子级别UPA去获得文档表示。我们给出细节设置在下面的部分。
显然不是所有词贡献相等的句子意思对于不同的用户和产品。因此,在词级别,不是输入隐藏状态到一个平均池化层,我们采用一个用户产品注意机制去提取对于句子意思重要的用户产品特别词。最终,我们合计这些信息词的表示去形成句子表示。正式的,增强的句子表示是一个隐藏状态的权重加总如下:
其中a^i_j
测量第j个词的重要性对于当前用户和产品。这里,我们嵌入每个用户u和每个产品p作为连续喝真实价值向量u ∈ R^(d_u) and p ∈ R^(d_p)
,其中d_u和d_p是用户embedding和产品embedding的维度分别得。因此,这个attention权重a^i_j
对于每个隐藏层可以定义如下:
其中e是一个分数函数其中打分重要的词用于构成句子表示。这个分数函数e定于如下:
其中W_H
,W_U
,W_P
是权重矩阵,v是权重向量,v_T
表示它的转置。
文档意思的线索句子在不同的用户和产品中各种各样。因此,在句子级别,我们还使用一个attention机制伴随用户向量u和产品向量p在此级别去选择信息句子去构成文档表示。文档表示d获得如下:
其中β_i
是隐藏层h_i
的权重在句子级别,可以计算相似于词attention。
3.4 情感分类
由于文档表示d是等级的抽取于词和句子在文档中,这是文档的高等表示。因此,我们认为他是文档情感分类的特征。我们使用一个非线性层去投射文档表示d到目标空间C类:
之后,我们使用一个softmax层去获得文档情感分布:
其中C是情感类别的数量,p_c
是情感类别c的预测概率。在我们的模型,在金情感分布和我们的模型的情感分布之间的cross-entropy error
定义为loss函数用于训练时优化:
其中p^g_c
是情感类别c的金概率伴随ground truth being 1 and others being 0,D表示训练文档。
4 实验
在这个部分,我们引入实验设置和一实验为依据的结果在文档级别情感分类任务。
4.1 实验设置
我们评估我们的NSC模型的有效性在三个情感分类数据集和用户产品信息:IMDB,Yelp2013和Yelp2014。数据的统计总结在Table 1。我们分割数据到训练,发展和测试集按8:1:1,伴随标记化和句子分割通过Stanford CoreNLP。我们使用两个度量包括 Accuracy,测量整个情感类别表现和 RMSE测量预测情感分类和ground truth 类别的分歧。
其中T是预测情感评分的数量,和金情感评分相同,N是文档的数量gd_i
,pr_i
表示金情感评分和预测的情感评分分别得。
词embedding可以随机初始化或预训练。我们预训练200维度词embedding在每个数据集伴随SkipGram。我们设置用户embedding维度和产品embedding维度为200,初始化为0。隐藏层维度和cell状态在lstm中设置为200。我们调试超参数在发展集并使用adadelta更新参数当训练时。我们选择最好的配置基于发展集的表现,并在测试集评估配置。
4.2 基准方法
我们对比NSC模型和一些一准方法用于文档情感分类:
大多数认为大多情感类别在训练集为测试集中每个文档的情感类别。
Trigram训练一个SVM分类器伴随unigrams,bigrams和trigrams作为特征。
TextFeature抽取文本特征包括词和特征n-grams,情感词典特征等等,接着训练SVM分类器。
UPF抽取use-leniency特征和相关产品特征从训练数据,进一步拼接特征在Trigram一个TestFeature。
AvgWordvec平均词embedding在一个文档中获得文档表示,输入到SVM分类器作为特征。
SSWE产生特征伴随情感特别词embedding(SSWE)并训练一个SVM分类器。
RNTN+RNN表示每个句子伴随循环神经张量网络(RNTN)并输入句子表示到RNN。之后,RNN的隐藏向量是平均的获得文档表示对于情感分类。
Paragraph Vector实施PVDM用于文档情感分类。
JMARS考虑用户信息和方面伴随合作的过滤和主题的模型对于文档情感分类。
UPNN带入一个文本倾向矩阵和一个表示向量对于每个用户和产品到CNN情感分类器。它建模词的意思到输入层伴随倾向矩阵并拼接用户产品表示向量和产生的文档表示在softmax层之前。
对所有基准方法,我们报告结果在【】由于我们使用相同数据集。
4.3 模型对比
我们列表实验结果在Table 2。如展示在表格中,我们手工分离结果到两个部分,第一个仅仅考虑局部文本信息,另一个合并局部文本信息和全局用户产品信息。
在Table 2的第一部分,我们观察到NSC,我们的模型的基本装置,重大的超过其他所有基准方法只考虑局部文本信息的表现。特别的,NSC完成多过4%改进对于所有数据集对比特别设计好的神经网络模型。表明NSC是有效的捕获序列信息,可以是一个关键因素用于情感分类。更多的,我们采用局部语义注意力LA的想法并应用到NSC模型中。结果显示注意力基于NSC获得一个显著的进步比起原始的。它证明了选择更多有意义的词的重要性在情感分类中,这也是引入全局用户产品信息到注意力形式的主要原因。
在Table 2的第二部分,我们展示模型伴随用户产品信息的表现。在这个部分,我们有下列观察:
(1)全局用户产品信息是有用的对于神经网络基于模型用于情感分类。考虑到这些信息在IMDB中,UPNN在准确率上达成3%的增进。这个重大的增进表明考虑这些全局信息到情感分类的需要。
(2)我们提出NSC模型伴随用户产品注意力(NSC+UPA)表现好于所有基准方法。它表明我们模型的可灵活性在各种真实数据集上。注意到,我们还设置了【】的方法去解决用户产品信息在NSC上(表示为UPNN(NSC))。尽管NSC的使用增进了UPNN的表现,它还是无法媲美于我们的模型。特别的,UPNN超越了我们GPU的内存当训练Yelp2014数据集由于它参数的复杂度。对比UPNN利用用户产品信息的矩阵和向量同时的,我们的模型仅仅嵌入每个用户和产品作为向量,使得它合适大规模数据集。它描述我们的NSC模型更有效和有效率的解决附加用户产品信息。
观察上面的描述NSC伴随用户产品注意力(NSC+UPA)可以在一个文档中捕获多重语义层的意思。对比其他基于用户产品模型,我们模型合并全局用户产品信息有效且有效率的。更多,这个模型还强壮并达成连续增进相比于现存方法在各种真实数据集。
4.4 模型分析:注意力机制的影响在词和句子级别
Table 3展示注意力机制的效果在词或句子 级别。在表格中我们可以看到:(1)注意力机制应用到词级别和句子级别增进文档情感分类的表现对比于利用平均池化在词和句子级别;(2)注意力机制在次级别改进更多我们的模型对比句子级别。原因是词注意力机制可以捕获信息词在所有文档,当句子注意力机制可能仅仅在长文本的各种主题下工作。(3)这个模型考虑词level注意力和句子level注意力的表现好于仅仅考虑语义level注意力。它证明用户特征和产品反应在多重语义level,也是一个关键动机去引入用户产品注意力到情感分类。
4.5 模型分析:用户产品注意力机制的效果
Table 4展示注意力机制伴随用户产品信息的表现。从表中观察到:
(1)用户和产品的信息贡献到我们的模型作为对比一个语义注意力。它表明我们的注意力机制可以捕获特别的用户或产品特征
(2)用户信息更有效于产品对于增强文档表示。因此,用户倾向鉴赏力比产品特征更显然。
4.6 模型分析:句子数量和长度的表现
为了调查我们模型在文档上的表现对于各种长度,我们对比不同设置的NSC在不同文档长度和句子数量下的表现。Fig. 2看到魔们的模型NSC伴随用户和产品信息的注意力机制一贯的表现好于其他基准方法对所有输入文档长度和句子数量。它表明了NSC的鲁棒性和灵活性在不同数据集。
4.7 例子学习
为了展示全局注意力的有效性,我们提供一个Yelp2013数据集的例子。这个评论的内容是“Great wine, great ambiance, amazing music!”。我们视觉化注意力权重在词级别,用于两个分别得用户和局部语义注意力LA在Fig 3。这里,局部语义注意力表示【】中的设置计算了注意力不考虑全局用户产品信息。注意到,更深的颜色代表更低的权重。
依据我们的统计,第一个用户经常提到“wine”在他的评论中。相反,第二个用户从不说“wine”相关的在它的评论中。因此,我们推断第一个用户可能有特别倾向对于wine而第二个用户对wine没有关注。从图中我们看到一个有趣的现象正式我们的推断。对于词wine,第一个用户有最高的注意力权重,第二个用户有最低注意力权重,它表明我们的模型可以捕获全局用户倾向通过我们的用户注意力。
5 总结和未来工作
在这个paper,我们提出一个等级神经网络合并用户产品信息通过词和句子级别注意力。伴随用户产品注意力,我们的模型可以考虑全局用户倾向和产品特征在词和语义级别。在实验中,我们评估我们的模型在语义分析任务中。这个实验结果显示我们模型达成重大且一贯的改进相比于其他现存模型。
我们将会探索更多在将来:
(1)在这个paper,我们仅仅考虑全局用户倾向和产品特征依据他们个人行为。实施,大多用户和产品经常有一些文本信息例如用户产品profile。我们将会利用这些信息到情感分析在将来。
(2)aspect级别情感分类也是一个基础任务在情感分析领域。用户倾向和产品特征也可能隐隐的影响aspect的情感极性。我们将会探索我们模型在aspect级别情感分类的有效性。