综述:基于深度学习的情感分析

近年来,深度学习有了突破性发展,NLP 领域里的情感分析任务逐渐引入了这种方法,并形成了很多业内最佳结果。本文中,来自领英与伊利诺伊大学芝加哥分校的研究人员对基于深度学习的情感分析研究进行了详细论述。

 

目录

一、摘要

二、介绍

三、神经网络

四、深度学习

五、词嵌入

六、自动编码器和去噪自动编码器

七、卷积神经网络

八、循环神经网络

九、LSTM网络

十、基于注意力机制的循环神经网络

十一、记忆网络

十二、递归神经网络

十三、情感分析

十四、文档级情感分类

十五、语句级情感分类

十六、方面级分类

十七、方面提取和分类

十八、意见表达提取

十九、情感组成

二十、意见来源提取

二十一、时态意见挖掘

二十二、基于词嵌入的情感分析

二十三、嘲讽检测

二十四、情感分析

二十五、用于情感分析的多模态数据

二十六、资源匮乏的语言和多语言情感分析

二十七、其他相关任务

二十八、结论


一、摘要

作为一项学习数据的多层特征或表征的强大机器学习技术,深度学习的出现实现了当前最优的结果预测。伴随着在诸多应用领域的成功,深度学习近年来也被广泛应用于情感分析。本论文首先概述深度学习,接着全面调研深度学习在情感分析领域的应用现状。

 

二、介绍

情感分析或观点挖掘是对人们对产品、服务、组织、个人、问题、事件、话题及其属性的观点、情感、情绪、评价和态度的计算研究。该领域的开始和快速发展与社交媒体的发展相一致,如评论、论坛、博客、微博、推特和社交网络,因为这是人类历史上第一次拥有如此海量的以数字形式记录的观点数据。早在 2000 年,情感分析就成为 NLP 中最活跃的研究领域之一。它在数据挖掘、Web 挖掘、文本挖掘和信息检索方面得到了广泛的研究。实际上,因其对商业和社会的整体重要性,它已经从计算机科学扩展到管理学和社会学,如营销、金融、政治学、传播学、健康科学,甚至历史学。这种发展原因在于观点是几乎所有人类活动的核心,是人类行为的重要影响因素。我们的信念、对现实的感知,以及我们所做的决策在很大程度上依赖于别人看到和评价世界的方式。因此,我们在做决策的时候,通常会寻求别人的意见。

现在,如果您想购买一种消费产品,就不再局限于向朋友和家人征求意见,因为在Web的公共论坛上有许多关于该产品的用户评论和讨论。 对于组织而言,可能不再需要进行调查,民意调查和焦点人群来收集公众意见,因为有大量此类信息可以公开获得。 近年来,我们见证了在社交媒体上发表有见地的言论,有助于重塑企业,影响公众的情绪和情感,这对我们的社会和政治体系产生了深远的影响。 这些帖子也动员了民众参与政治变革,例如2011年在某些阿拉伯国家发生的政治变革。因此,收集和研究观点成为了必要。

然而,由于各种网站的激增,在网上查找和监测意见网站并提取其中的信息仍然是一项艰巨的任务。每个站点通常包含大量的意见文本,且在长博客和论坛帖子中不易被破译,普通读者很难识别相关的网站,也很难提取和总结其中的观点。因此需要自动情绪分析系统。正因为如此,许多公司都专注于提供情绪分析服务,这些实际应用和行业兴趣为情绪分析的研究提供了强大的动力。

现有研究已经产生了可用于情感分析多项任务的大量技术,包括监督和无监督方法。在监督方法中,早期论文使用所有监督机器学习方法(如支持向量机、最大熵、朴素贝叶斯等)和特征组合。无监督方法包括使用情感词典、语法分析和句法模式的不同方法。

大约十年前,深度学习成为强大的机器学习技术,在很多应用领域产生了当前最优的结果,包括计算机视觉、语音识别、NLP 等。近期将深度学习应用到情感分析也逐渐变得流行。本文首先概述深度学习,然后对基于深度学习的情感分析进行综述。

 

三、神经网络

深度学习是人工神经网络(简称神经网络)在多层网络学习任务中的应用,它可以充分发挥神经网络的学习(表示)能力,以前人们认为神经网络只有一层或两层,数据量很小。

受生物大脑结构的启发,神经网络由大量的信息处理单元(称为神经元)组成,这些信息处理单元层层组织、协同工作。可以通过调整神经元之间的连接权重来学习执行任务(例如分类),类似于生物大脑的学习过程。

图1:前馈神经网络

基于网络拓扑结构,神经网络一般可以分为前馈神经网络和递归神经网络,它们也可以混合和匹配,我们稍后将描述循环神经网络。图1给出了一个前反馈神经网络的简单例子,有L_{1}L_{2}L_{3}三层组成。L_{1}为输入层,对应于输入向量\left ( x_{1},x_{2},x_{3} \right )和截距+1L_{3}是输出层,对应于输出向量\left ( s_{1} \right )L_{2}为隐藏层,其输出作为网络输出不可见。L_{1}中的节点代表的是输入向量中的元素,L_{2}L_{3}中的节点代表的是神经元,是神经网络的基本计算单元,我们还称之为激活函数。两个神经元之间的线表示信息流的连接。 每个连接都与权重相关联,权重是一个值,用于控制两个神经元之间的信号。神经网络的学习是通过调整神经元之间的权值来实现的。神经元读取前一层神经元的输出作为输入,进行详细的处理,然后输出到下一层神经元。如图1所示,神经网络根据训练示例\left ( x^{\left ( i \right )} ,y^{\left ( i \right )}\right )调整权重,当训练过程结束,将会得到一个适合数据的复杂假设h_{w,b}\left ( x \right )

在隐藏层中,我们可以看到每个神经元的输入都为x_{1},x_{2},x_{3}和截距+1,并通过激活函数f输出一个值:f\left ( W^{t}x \right ) = f\left ( \sum_{i=1}^{3}w_{i}x_{i}+b \right )w_{i}为连接权重;b为截距或偏置;f通常为非线性激活函数。一般可选sigmoid函数、双曲正切函数(tanh)、ReLU函数。

Sigmoid函数接受一个实值,并将其映射到0到1之间。这个函数十分常见,因为它很好地解释了神经元的放电率:0表示不放电,1表示放电。但Sigmoid的非线性也有不足,因为它的激活很容易在0或1的尾部饱和,那里梯度几乎为零,信息流将被切断。此外,它的输出不是零中心的,这可能会在训练中对连接权值的梯度更新中引入不希望的曲折动力学。因此,由于tanh函数的输出范围是以零为中心的,[-1,1]而不是[0,1],因此它在实际中通常更受青睐。ReLu函数最近也很流行,当输入小于0时,其激活仅在0处设置阈值。与Sigmoid函数和tanh函数相比,ReLu计算简单,训练收敛快,在神经网络中的性能更好。 

 在L_{3}输出层,我们可以用Softmax函数作为神经元,它是Logistic函数的一般化,将任意实数值的k维向量映射至\left ( 0,1 \right )范围内的实值的k维向量(它们的和为1)。函数定义如下:

通常,在前馈神经网络的最后一层使用softmax进行最终分类。 

通过连接所有的神经元,图1的神经网络参数为\left ( W,b \right ) = \left ( W^{(1)},b^{(1)},W^{(2)},b^{(2)} \right ),其中W_{ij}^{(l)}表示l层中神经元jl+1层神经元i之间的连接权重,b_{i}^{(l)}表示与l+1中神经元i相关的偏置。

通常采用反向传播随机梯度下降来最小化交叉熵损失的方法来训练神经网络。首先计算损失函数相对于最后一个隐藏层到输出层的权重的梯度,然后通过反向方式应用链式规则来递归计算表达式相对于上层网络层之间权重的梯度。利用这些梯度,相应的调整层之间的权重,直到满足某些停止条件,这是一个反复优化的过程,图1中训练神经网络的伪代码如下。

表1:训练图1中的神经网络伪代码

上述算法可推广到具有多个隐藏层的一般前馈神经网络的训练中。随机梯度下降估计每个训练实例的参数,而不是批量梯度下降。因此参数更新具有较高的方差,有助于发现新的且可能更好的局部最小值。

 

四、深度学习

20世纪90年代末,研究界对神经网络失去了兴趣,主要是因为它们被认为只适用于“浅层”神经网络(具有一层或两层的神经网络),因为训练“深层”神经网络(具有更多层的神经网络)是复杂的,并且计算非常昂贵。

然而,在过去的10年里,深度学习在许多应用领域取得了突破性进展,并产生了最新的成果,从计算机视觉到语音识别,再到最近的nlp。神经网络的复兴可以归因于许多因素。最重要的因素包括:

  1. 硬件(如gpu)的进步带来的计算能力的可用性;
  2. 大量训练数据的可用性;
  3. 学习中间表示的能力和灵活性。

简言之,深度学习使用多层非线性处理单元的级联来进行特征提取和转换。靠近数据输入的较低层学习简单的特征,而较高层学习从较低层特征派生的更复杂的特征。体系结构形成了一个层次化的、功能强大的特征表示。图2显示了通过人脸图像分类中的深度学习从左(较低层)到右(较高层)的特征层次。我们可以看到,学习的图像特征的复杂性增长,从斑点/边缘,然后鼻子/眼睛/脸颊、脸。

图2:深度学习的特征层次

近年来,深度学习模型在非线性规划领域得到了广泛的应用,显示出巨大的潜力。在接下来的几节中,我们将简要介绍应用于NLP任务的主要深度学习体系结构和相关技术。

 

五、词嵌入

NLP中的许多深度学习模型都需要将词嵌入的结果作为输入特征。词嵌入是一种用于语言建模和特征学习的技术,它将词汇中的单词转换为连续实数的向量(例如:词w\rightarrow \left ( \cdots ,0.15,\cdots .0.23,\cdots ,0.41,\cdots \right ))。该技术通常涉及从高维稀疏向量空间(例如,one-hot编码向量空间,其中每个单词都具有维)的数学嵌入到低维密集向量空间。嵌入向量的每个维度表示单词的一个潜在特征,向量可以编码语言的规律和模式。

可以使用神经网络或矩阵分解来学习词嵌入。一种常用的词嵌入系统是Word2Vec,它本质上是一种计算效率高的神经网络预测模型,可从文本中学习词嵌入,它包含连续词袋模型(CBOW)和Skip-Gram模型(SG)。CBOW模型根据其上下文词(“男孩是_帽子”,其中“ _”表示目标词)预测目标词(例如“穿着”),而SG模型进行反演, 给定目标词来预测上下文词。从统计上讲,CBOW模型通过将整个上下文视为一个观察值,从而平滑了大量分布信息,对较小的数据集有效。而SG模型将每个上下文目标对视为新的观察结果,并且对于较大的数据集而言更好。另一种常用的学习方法是全局向量(GloVe),它在全局词-词共现矩阵的非零条目上进行训练。

图4:CBOW模型
图5: Skip-Gram模型

 

 

 

 

 

 

 

 

 

 

 

六、自动编码器和去噪自动编码器

自编码器神经网络是一个三层神经网络,它将目标值设置为等于输入值。 图6显示了自动编码器体系结构的示例。

图6:自编码器神经网络

给定输入向量x\in [0,1]^{d}。首先,自编码器通过编码函数h(\cdot )(例如Sigmoid函数)将其映射到潜在表示y\in [0,1]^{d}。其次,潜在表示y由解码函数g(\cdot )映射回重构r(x)= g(h(x))。通常对自动编码器进行训练,以最大程度地减少重构误差????(?,?)loss(x,r(x))????(?,?)。自动编码器的目的是学习输入的表示形式,即隐藏层的激活。 由于具有非线性函数h(\cdot )ℎ(\cdot )g(\cdot ),自动编码器能够学习非线性表示,这使其比线性表示具有更多的表达能力,例如主成分分析(PCA)或潜在语义分析 (LSA)。

若我们将自编码器以层级的形式堆叠,那么高层的自编码器就使用低层自编码器的输出作为输入。这种堆叠的自编码器与受限玻尔兹曼机(RBM)是构建深度神经网络的早期方法。一旦我们以无监督的方式训练自编码器,那么描述x(中间表示)多级表征的参数就可以用来初始化一个有监督的深层神经网络,这种神经网络在实验上已经证明要比随机初始化更好。

去噪自动编码器(DAE)是自动编码器的扩展,其中输入向量x被随机转换为向量\tilde{x}。 并且训练模型去噪,即最小化去噪重建误差loss(x,r(\tilde{x}))。DAE背后的思想是驱使隐藏层发现更健壮的特性,并防止它简单地学习恒等变换。即使在存在噪声的情况下,模型也应该能够很好地重构输入。例如,从文档中删除或添加一些单词不应更改文档的语义。

 

七、卷积神经网络

卷积神经网络(CNN)是一种特殊类型的前馈神经网络,最初用于计算机视觉领域。 它的设计灵感来自人类视觉皮层,这是动物大脑中的一种视觉机制。 视觉皮层包含许多细胞,这些细胞负责检测视野中小的重叠的分支中的光,这些分支称为感受野。 这些单元格充当输入空间上的局部过滤器。 CNN由多个卷积层组成,每个卷积层都执行由视觉皮层中的细胞处理的功能。

图7显示了用于识别交通标志的CNN。 输入为32x32x1像素图像(32 x 32表示图像宽度x高度; 1表示输入通道,彩色RGB通道为3)。第一阶段,使用卷积核或滤波器(尺寸为5x5x1)扫描图像。 卷积核或滤波器投影到的输入图像中的每个区域都是一个接收场。 滤波器实际上是一个数字数组(称为权重或参数)。 当窗口滑动(或卷积)时,它会将其权重值与图像的原始像素值相乘(逐元素乘法)。 乘法全部加起来为一个数字,代表接收场, 每个接受领域都会产生一个数字。 滤波器完成对图像的扫描后,我们可以获得一个数组(大小为28x28x1),称为激活图或特征图。在CNN中,我们需要使用不同的滤波器来扫描输入。 在图4中,我们应用了108种滤波器,因此在第一阶段具有108个堆叠的特征图,该图由第一卷积层组成。在卷积层之后,通常使用子采样(或池化)层来逐渐减少表示的空间大小,从而减少特征的数量和网络的计算复杂度。例如,在第一阶段进行子采样后,卷积层尺寸减小为(14x14x108)。注意,虽然每个特征映射的维数降低,但子采样步骤保留最重要的信息,常用的子采样操作是最大池。然后,第一级的输出变为第二级的输入,并使用新的滤波器。新的滤波器大小是5x5x108,其中108是最后一层的特征图大小。在第二阶段之后,CNN使用完全连接层,然后使用带有输出类的SoftMax读出层进行分类。

卷积层在CNN中起到了特征提取的作用,由于卷积层限制了隐藏层的接收场是局部的,所以卷积层可以提取局部特征。这意味着CNN通过增强相邻层神经元之间的局部连接模式,具有特殊的空间局部相关性,这种特征对于MLP中的分类是有用的,在NLP中我们期望找到关于类成员的强局部线索,但是这些线索可以出现在输入中的不同位置。例如,在文档分类任务中,单个关键字短语(或N-Gram)可以帮助确定文档的主题。我们希望了解,某些单词序列是主题的良好指标,不一定关心它们在文档中的位置。卷积层和池化层允许CNN学习寻找这样的局部指标,而不管它们的位置如何。

图7:卷积神经网络

为了理解卷积层,下图展示了卷积核或滤波器(filter)将当前层级上的一个子结点张量转化为下一层神经网络上的一个长和宽都为 1,深度不限的结点矩阵。下图输入是一个 32×32×3 的张量,中间的小长方体为卷积核,一般可以为 3×3 或 5×5 等,且因为要计算乘积,那么卷积核的第三个维度必须和其处理的图像深度(即输入张量第三个维度 3)相等。最右边的矩形体的深度为 5,即前面使用了五个卷积核执行卷积操作。这五个卷积核有不同的权重,但每一个卷积层使用一个卷积核的权重是一样的,所以下图五层特征中每一层特征都是通过一个卷积核得出来的,也就是该层共享了权重。 

图8:卷积核

 

八、循环神经网络

循环神经网络(RNN)是一种神经元之间形成有向循环的神经网络。与前馈神经网络不同,RNN可以利用其内部的“存储器”来处理一系列输入,这使得它在处理序列信息方面很受欢迎。“内存”是指RNN对序列中的每个元素执行相同的任务,每个输出都依赖于先前的所有计算,这就像“记住”到目前为止所处理的信息一样。

一个典型的RNN结构如下:

图9:RNN结构

 图10展示了RNN的示例,其中左图是一个带有循环折叠网络,而右图是带有三个时间步长的折叠序列网络。 时间步长取决于输入的长度。 例如,如果要处理的单词序列是六个单词的句子,则RNN将展开为具有六个时间步长或层的神经网络,一层对应一个单词。

 

图10:循环神经网络

在图10中,x_{t}是时间序列t上的输入向量,h_{t}是时间序列t的隐藏状态,它是根据先前的隐藏状态和当前时间步长的输入计算得出的。我们看到 f重复作用于不同时间步上的隐藏状态,并将它传入下一个时间步中,这就是 RNN特有的方式。基本上,你能输入句子中的词或者甚至是像 x_{t}这样的字符串中的字符,然后通过该循环神经网络它会得出一个 y_{t}

在等式(5)中,激活函数f通常是tanh函数或ReLu函数。其中,w^{hx}是用于调节输入x_{t}的权重矩阵,w^{hh}是用于调节先前隐状态h_{t-1}的权重矩阵。

在等式(6)中,y_{t}是步骤t词汇表上的输出概率分布。例如:如果我们要预测句子中的下一个单词,那么它将是整个单词词汇量的概率向量。h_{t}被看作整个神经网络的“记忆”,它捕获先前所有步中发生的信息。y_{t}由在时间t时的“记忆”——h_{t}与相应的权重矩阵w^{hx}计算得出。目标是用 y_{t}作为输出,并将它与你的测试数据(通常是原始数据的一个小子集)比较。然后你会得出你的误差率。比较完之后,有了误差率,你就能使用一种叫随时间反向传播(BPTT)的技术。BPTT 返回检查这个网络,并基于误差率调整权重。这样也调整了这个网络,并让它学习去做得更好。

前馈神经网络在每一层使用不同的参数,而RNN在所有步骤中共享相同的参数\left ( W^{hx} ,W^{hh},W^{yh}\right ),即参数共享。这意味着每个步骤执行相同的任务,只是输入不同,学习参数大大减少。

从理论上讲,RNN可以按任意长序列使用信息,但是在实践中,由于梯度消失或梯度梯度问题,标准RNN仅限于回溯有限序列。

图11:双向RNN(左)和深度双向RNN(右)

研究人员基于RNN已经开发了更复杂的循环神经网络,以弥补标准RNN模型的不足:双向RNN、深度双向RNN和长短期记忆网络(LSTM)。双向RNN思想:每次的输出不仅取决于序列中的前一个元素,而且还取决于序列中的下一个元素。例如,要预测序列中的遗漏单词,我们可能需要查看上下文信息。双向RNN由两个RNN组成,一个RNN按原始顺序处理输入,另一个RNN按相反的顺序处理输入,然后根据两个RNN的隐状态计算输出。深度双向RNN与双向RNN相似。 唯一的区别是,每个时间序列具有多个层次,这提供了更高的学习能力,但需要大量的训练数据。 图11分别显示了双向RNN和深度双向RNN(具有两层)的示例。

 

九、LSTM网络

长-短期记忆网络(LSTN)25是一种特殊类型的RNN,能够学习长期依赖关系。

所有RNN都具有重复模块链的形式。 在标准RNN中,此重复模块通常具有简单的结构。 但是,用于LSTM的重复模块更加复杂。 而不是只有一个神经网络层,而是有四个以特殊方式交互的层。 此外,它具有两种状态:隐藏状态和单元状态。

图12:长-短期记忆网络

如图12所示,在时间t,LSTM首先确定从单元状态转储哪些信息,由Sigmoid函数/\sigma层来实现,称之为“遗忘门”。该函数由h_{t-1}(上一隐藏层的输出)和x_{t}(当前输入)以及参数矩阵组成,计算结果为0或1。其中等式(7)中1表示“完全保留”,0表示“完全转储”。

然后,LSTM决定要在单元状态下存储哪些新信息,可分为两个步骤:

  1. 被称为“输入门”的Sigmoid函数/层(如公式(8))决定LSTM将更新哪些值。
  2. tanh函数/层创建新候选向量\tilde{C_{t}} ,这将被添加到单元状态, LSTM将这两者结合更新状态。

对于单元状态C_{t}的更新,如等式(10)所示。我们可以通过控制“忘记门”的渐变,并允许“memory”的删除和更新,这可以缓解标准RNN中的梯度消失或梯度爆炸问题。

最后,LSTM根据单元状态决定输出。如等式(11)所示,通过\sigma层决定输出单元状态的哪些部分,称之为“输出门”。如等式(12)所示,再通过tanh函数与Simoid层的输出相乘,得到隐状态h_{t}

LSTM通常应用于序列化数据,但也可以用于树状数据。 Tai等引入了标准LSTM到树型LSTM(Tree-LSTM)的泛化,并显示了比标准LSTM更好的表示句子含义的性能。

门控循环单元(GRU)它将“忘记”和“输入”门合并为一个更新,还合并了单元状态和隐藏状态,并进行了其他一些更改。 生成的模型比标准LSTM模型更简单,并且已经越来越流行。

 

十、基于注意力机制的循环神经网络

一般来说,我们可能会认为双向 RNN 与 LSTM 就能处理数据中的长期依赖性。但是在实践中,时序数据的长期依赖性问题仍然很难处理。因此,Bahdanau 等人提出了注意力机制。

神经网络中的注意力机制受到人类视觉中注意力的启发,即人类视觉注意力能够聚焦到图像的特定区域,并在这个区域有非常高的分辨率,而在其它区域有较低的分辨率。在自然语言处理中,注意力机制允许模型根据输入文本以及它到目前为止已经生成的隐藏状态来学习要注意什么,而不像标准 RNN 与 LSTM 那样将全部原文本编码成固定长度的向量。

下图13展示了在双向 RNN 中使用注意力机制的方法。其中每个解码器输出的序列y_{t} 取决于所有输入状态的加权组合,而不只是如标准情况那样选择最后一个隐藏状态。a_{t,T} 是权重,用于定义应为每个输出对每个输入状态中的多少进行加权。例如,a_{2,2} 有较大的值,那么它就代表着在生成目标句子的第二个时间步上,解码器会将更多注意力放在原语句中的第二个隐藏状态。所有的权重 a_{t,T}和为 1,因此能保证输出值的归一化。

图13:基于注意力机制的双向RNN

 

十一、记忆网络

Weston 等人介绍了记忆网络(MemNN)这个概念,它能用于问答系统。记忆网络通过结合多个推断组件和长期记忆而执行任务,这些组件可以是多个神经网络,而长期记忆充当着动态知识库的角色。记忆网络基本的四个可学习或推断组件分别为:I 组件将输入数据转化为内部特征表示;G 组件在给定新的输入下更新旧的记忆;O 组件生成输出(同样是在特征表示空间中完成);R 组件将输出特征转化为响应格式。

例如,给定问答系统一系列语句和问题,MemNN 会从这些语句中抽取特征并生成答案。在推断的过程中,I组件一次只读取一条语句,并将它编码为向量表征。然后G组件基于当前的语句表征更新一小块记忆,在所有语句都处理完后,记忆网络就生成了一个记忆矩阵(每一行表示一个语句),该矩阵储存了从语句中抽取的语义。对于问题,记忆网络会将它编码为向量表征,然后 O组件使用向量从记忆中选择一些相关的证据,并生成一个输出向量。最后R组件将输出向量作为输入,并输出最终响应。

Sukhbaatar等基于MemNN提出了End-to-End存储网络(MemN2N),它是一种神经网络体系结构,在长期存储组件上具有循环注意力机制,可以通过标准反向传播以端到端的方式对其进行训练。 它证明了O组件中的多个计算层(跳数)比单个层可以发现更多的抽象证据,并为问题回答和语言建模提供了改进的结果。值得注意的是,每个计算层都可以是基于内容的注意力模型。 因此,MemN2N在某种程度上完善了注意力机制。 还应注意类似的想法是Graves等报道的神经图灵机。

 

十二、递归神经网络

递归神经网络(RecNN)是一种特殊的神经网络,通常用于从数据中学习有向无环图结构(如:树形结构)。

递归神经网络可以看作是循环神经网络的概括。 给定句子的结构表示形式(例如,语法分析树),RecNN通过结合标记以生成短语的表示形式(最终是整个句子),以自下而上的方式递归生成父代表示形式,句子级别表示然后可以用于给定输入句子进行最终分类(例如,情感分类)。RecNN中向量合成的示例过程如图9 33所示,节点“very interesting”的向量由节点“very”和节点“interesting”的向量组成。 类似地,节点“is very interesting”由短语节点“very interesting”和单词节点“is”组成。

图14:卷积神经网络

词嵌入是将单词表示成低维的稠密的实数向量。自从词向量技术的提出,到目前为止已经有很多方法来得到句法和语义方面的向量表示,这种技术在 NLP 领域发挥着重要的作用。

如何用稠密的向量表示短语,这是使用词向量的一个难题。在成分分析中,我们一般使用递归神经网络 (Recursive Neural Network) 来解决这个问题。递归神经网络是一种通用的模型,用来对句子进行建模。句子的语法树中的左右子节点通过一层线性神经网络结合起来,根节点的这层神经网络的参数就表示整句句子。递归神经网络能够给语法树中的所有叶子节点一个固定长度的向量表示,然后递归地给中间节点建立向量的表示。

 

十三、情感分析

我们现在开始概述情感分析中的深度学习应用。但在此之前,我们首先简单介绍主要的情感分析任务。若想了解更多细节,请参考 Liu 写的关于情感分析的书

研究者主要在三个粒度级别上研究情感分析:文档级语句级方面级。文档级情感分类将观点鲜明的文档(例如,产品评论)分类为整体积极的或消极的观点。它将整个文档当做基本的信息单元,并假定文档是观点鲜明的,包含对单个实体(例如,某个型号的手机)的观点。语句级情感分类对文档内单独的语句进行分类。然而,单独的语句不能假定为观点鲜明的。

传统上,人们首先将一个语句分类为观点鲜明的(或相反),即主观性分类。然后观点鲜明的语句进一步被分类为积极的或消极的。语句级情感分类可以被形式化为三类分类问题,即判断某语句是中性的、积极的或消极的。和文档级、语句级情感分类相比,方面级情感分析或基于方面的情感分析更加细粒化。它的任务是提取和总结人们对某实体的观点以及实体(也被称为目标)的特征。。例如一篇产品评论,方面级情感分析的目的是分别总结对产品不同方面的积极和消极观点,虽然对产品的总体情感可能是倾向积极的或消极的。

基于方面级的情感分析由多个子任务构成,例如方面提取实体提取方面情感分类。例如,句子「the voice quality of iPhone is great, but its battery sucks」的实体提取应该识别「iPhone」作为实体,而 aspect 提取需要识别「voice quality」和「battery」作为两个 aspect。aspect level 情感分类需要将对音质的评论分类为积极的,将对电池续航的评论分类为消极的。出于简洁性,大多数算法将 aspect 提取和实体提取结合起来,称为 aspect 提取或情感/观点目标提取。

除了这些核心任务,情绪分析还研究情绪分析嘲讽检测多模态情感分析等。有关更多详细信息,请参见Liu的书。 在以下各节中,我们将调查深度学习在所有这些情绪分析任务中的应用。

 

十四、文档级情感分类

文档级情感分类是指为观点型文档标记整体的情感倾向或极性,即确定文档整体上传达的是积极的还是消极的观点。因此,这是一个二元分类任务,也可以形式化为回归任务,例如为文档按 1 到 5 星评级,一些研究者也将其看成一个五类分类任务。

情感分类通常被当做文档分类的特殊案例。在这种分类任务中,文档表征是很重要的部分,需要反映出文档字里行间所传达的原始信息。传统上,词袋模型(BoW)通过将文档看成其中单词的袋装形式,被用于在 NLP 和文本挖掘中生成文本表征。通过 BoW,文档被转换成固定长度的数值特征向量,其中每个元素可能代表词的存在(没出现或出现)、词频或 TF-IDF 分数。向量的维度等于词汇量大小。用 BoW 表征的文档向量通常是很稀疏的,因为单个文档仅包含少量的词汇。早期的神经网络使用的基本是这种特征设定。

虽然 BoW 很常用,它也有一些缺点。首先,BoW 模型忽略词的顺序,这意味着包含相同单词的两个文档的表征是完全相同的。BoW 的扩展版本 Bag-of-N-Grams 在短文本(n-gram)中考虑词序,但仍然存在数据稀疏性和高维度的缺陷。其次,BoW 几乎不能编码词的语义。例如,在 BoW 中,单词「smart」、「clever」和「book」之间的距离是相同的,但在语义上,相比「book」、「smart」应该更接近于「clever」。

为了克服 BoW 的缺陷,人们提出了基于神经网络的词嵌入技术以生成密集向量(或低维向量)用于词表征,从而在某种程度上可以编码单词的某些语义和句法属性。以词嵌入作为词的输入,可以利用神经网络得到文档的密集向量(或称为密集文档向量)表征。

请注意,除了以上两种方法(即使用BoW并通过词嵌入来学习文档的密集向量)之外,还可以直接从BoW中学习密集文档向量。 我们在表2中区分了相关研究中使用的不同方法。

当文档被适当地表征时,我们可以通过传统的监督学习方式,用多种神经网络模型进行情感分类。在某些案例中,神经网络可能只被用于提取文本特征或文本表征,然后这些特征被馈送到其它非神经网络的分类器(如 SVM),以获得最终的全局最优分类器。神经网络和 SVM 的特性以某种方式彼此互补,从而能结合各自的优势。

除了复杂的文档/文本表征之外,研究者还利用数据特征(如产品评论)进行情感分类。一些研究者发现产品评论对情感和其它附加信息(例如,用户信息和产品信息)进行联合分类建模很有帮助。此外,由于文档通常包含长期依赖关系,注意力机制也经常用于文档级情感分类。我们在表 2 中总结了已有的技术。

表2:文档级情感分类的深度学习方法

下面,我们还简要介绍了这些现有的代表性作品。

  1. Moraes等对文档级别的情感分类在支持向量机(SVM)和人工神经网络(ANN)之间进行了实证比较,这表明ANN在大多数情况下都比SVM结果理想。
  2. 为了克服BoW的缺点,Le和Mikolov提出了Paragraph Vector,这是一种无监督的学习算法,用于学习可变长度文本(例如句子,段落和文档)的矢量表示。 通过在从段落中采样的上下文中预测周围的单词来学习矢量表示。
  3. Glorot等研究了用于情感分类的领域适应问题。 他们提出了一种基于带有稀疏整流器单元的堆叠式降噪自动编码器的深度学习系统,该系统可以使用标记和未标记的数据执行无监督的文本特征/表示提取。 这些功能对于情感分类器的域适应非常有益。
  4. Zhai和Zhang引入了一种半监督自动编码器,该编码器在学习阶段进一步考虑了情感信息,以便获得更好的文档矢量进行情感分类。 更具体地,该模型通过将自动编码器中的损失函数放宽到Bregman发散并从标签信息中导出判别损失函数来学习文本数据的特定于任务的表示。
  5. Johnson和Zhang提出了一个名为BoW-CNN的CNN变体,该变体在卷积层中采用了词袋转换。 他们还设计了一种称为Seq-CNN的新模型,该模型通过将多个单词的one-hot向量进行级联来保留单词的顺序信息。
  6. Tang等提出了一个神经网络来学习文档表示,并考虑了句子之间的关系。 它首先从单词嵌入中学习使用CNN或LSTM的句子表示。 然后,使用GRU对文档表示中的句子语义及其固有关系进行自适应编码,以进行情感分类。
  7. Tang等在评论分类中应用了用户表示形式和产品表示形式。 想法是,这些表示可以捕获重要的全球线索,例如用户的个人喜好和产品的整体质量,从而可以提供更好的文本表示。
  8. Chen等人还结合了用户信息和产品信息以进行分类,但要注意单词和句子级别,这可以考虑单词级别和语义级别的全局用户偏好和产品特性。 同样,Dou使用深层内存网络来捕获用户和产品信息。 提议的模型可以分为两个单独的部分。 在第一部分中,LSTM用于学习文档表示。 在第二部分中,由多个计算层(跃点)组成的深度存储网络用于预测每个文档的审阅等级。
  9. Xu等人提出了一种缓存的LSTM模型,以捕获长文本中的整体语义信息。 模型中的内存分为具有不同遗忘率的几组。 直觉是使遗忘率低的内存组捕获全局语义特征,而遗忘率高的内存组学习局部语义特征。
  10. Yang等人提出了一种层次化的注意力网络,用于评价评论的文档级情感等级。 该模型包括两个级别的注意力机制:一个在单词级别,另一个在句子级别,这使模型在构建文档表示时可以或多或少地关注单个单词或句子。
  11. Yin等人将文档级别的方面情感评分预测任务制定为机器理解问题,并提出了一种基于交互注意的分层模型。 具体而言,将文档和伪方面的问题交织在一起,以学习可识别方面的文档表示。
  12. Zhou等人设计了基于注意力的LSTM网络,用于在文档级别进行跨语言情感分类。 该模型由两个用于双语表示的基于注意力的LSTM组成,每个LSTM也是层次结构的。 在这种情况下,它可以有效地将情感信息从资源丰富的语言(英语)调整为资源贫乏的语言(中文),并有助于提高情感分类性能。
  13. Li等人提出了一种在转移学习环境中用于跨域情感分类的对抗性存储网络,其中来自源域和目标域的数据被一起建模。 它联合训练两个网络进行情感分类和领域分类(即文档来自源域还是目标域)。

 

十五、语句级情感分类

句子级别的情感分类是确定单个给定句子中表达的情感。 如前所述,可以用主观性分类和极性分类来推断句子的情感,其中前者对句子是主观还是客观进行分类,而后者则判定主观句子是表达消极或积极的情感。 在现有的深度学习模型中,句子情感分类通常会形成一个联合的三类别分类问题,即预测句子为积极、中立或消极。

与文档级的情感分类相同,神经网络生成的语句表征对于语句级的情感分类也非常重要。另外由于句子相对文档而言较短,因此可以使用一些语法和语义信息(如解析树、观念词典和词性标签)来帮助分类。其他一些信息如评测打分、社会关系和跨域信息也可以考虑在内。例如,社会关系已被用于探索社交媒体数据中(如Twitter)的情感

在早期的研究中,解析树(提供了一些语义和语法信息)与原始词一同用作神经模型的输入,这意味着我们可以更好地推断情感构成。但在那之后,CNN 和 RNN 成为主流,它们不需要利用解析树从句子中提取特征。取而代之的是,CNN 与 RNN 使用词嵌入(已经编码了一些语义和语法信息)作为输入。此外,CNN 和 RNN 模型架构也可以帮助我们学习语句内词间的固有联系。

下面,我们还简要介绍了这些现有的代表性作品。

  1. Socher等人首先提出了一种半监督递归自动编码器网络(RAE),用于句子级别的情感分类,从而获得了句子的降维矢量表示。后来,Socher等人提出了矩阵向量递归神经网络(MV-RNN),其中每个单词还与树结构中的矩阵表示(除了矢量表示)相关联。树结构是从外部解析器获得的。在Socher等人中,作者进一步介绍了递归神经张量网络(RNTN),其中基于张量的合成函数用于更好地捕获元素之间的相互作用。 Qian等人提出了两个更高级的模型,即标签指导的递归神经网络(TG-RNN),该模型根据短语的词性标签选择合成函数;以及嵌入标签的递归神经网络/递归神经Tenser。网络(TE-RNN / RNTN),它学习标签嵌入,然后将标签和单词嵌入组合在一起。
  2. Kalchbrenner等人提出了一种动态CNN(称为DCNN),用于句子的语义建模。 DCNN使用动态K-Max池化运算符作为非线性子采样函数。 网络诱导的特征图能够捕获单词关系。 Kim还建议使用CNN进行句子级情感分类,并尝试了几种变体,例如CNN-rand(随机嵌入单词嵌入),CNN静态(其中单词嵌入经过预训练和固定),CNN非静态( 其中对词嵌入进行了预训练和微调)和CNN多通道(其中使用了多组词嵌入)。
  3. Dos Santos和Gatti提出了“从句到句子”的CNN(CharSCNN)模型。 CharSCNN使用两个卷积层从任意大小的单词和句子中提取相关特征,以对短文本进行情感分析。 Wang等通过在撰写过程中模拟单词的交互作用,将LSTM用于Twitter情感分类。 与简单循环神经网络中的加性运算相比,通过门结构在词嵌入之间进行乘法运算可提供更大的灵活性并产生更好的构图结果。 与双向RNN相似,通过允许隐藏层中的双向连接,可以将单向LSTM扩展为双向LSTM。
  4. Wang等人提出了一种区域CNN-LSTM模型,该模型由两部分组成:区域CNN和LSTM,以预测文本的价位激发等级。
  5. Wang等人描述了CNN和RNN的联合架构,用于短文本的情感分类,它利用了CNN生成的粗粒度局部特征和通过RNN学习的长距离依赖性。
  6. Guggilla等人提出了一种基于LSTM和CNN的深度神经网络模型,该模型利用word2vec和语言嵌入进行索赔分类(将句子分类为事实还是感觉)。
  7. Huang等人建议在树型LSTM中编码语法知识(例如,词性标签),以增强短语和句子的表示能力。
  8. Akhtar等人提出了几种基于多层感知器的集成模型,用于对金融微博和新闻进行精细的情感分类。
  9. Guan等人将弱监督的CNN用于句子(以及方面)级别的情感分类。它包含两个步骤的学习过程:首先学习由总体评论评分弱监督的句子表示形式,然后使用句子(和方面)级别标签进行微调。
  10. Teng等人基于简单的加权和模型,提出了一种基于上下文敏感词典的情感分类方法,该方法使用双向LSTM学习在组合句子的情感值时的情感强度,强化和否定。
  11. Yu和Jiang研究了学习通用句子嵌入以进行跨域句子情感分类的问题,并设计了一个包含两个分离的CNN的神经网络模型,该模型从标记和未标记的数据中共同学习两个隐藏的特征表示。
  12. Zhao等人通过利用用户发布的推文及其社交关系的深层语义表示,介绍了一种针对随机发推文的情感分类的递归随机游走网络学习方法。
  13. Mishra等人利用CNN从阅读文字的人类读者的眼动(或注视)数据中自动提取认知特征,并将其用作丰富的特征以及用于情感分类的文本特征。
  14. Qian等人针对此任务提出了一种语言正则化的LSTM。所提出的模型将诸如情感词典,否定词和强度词之类的语言资源结合到LSTM中,以便更准确地捕获句子中的情感效果。

 

十六、方面级分类

与文档级别和句子级别的情感分类不同,方面级别的情感分类会同时考虑情感和目标信息,因为情感始终具有目标。 如前所述,目标通常是实体或实体方面。 为简单起见,实体和方面通常都只称为方面。 给定一个句子和一个目标方面,方面级别的情感分类旨在推断句子对目标方面的情感极性/方向。 例如,在句子“屏幕非常清晰,但电池寿命太短”中。如果目标方面为“屏幕”,则情绪为肯定,而目标方面为“电池寿命”,则为否定。 我们将在下一节中讨论方面提取或目标提取。

方面级情感分类很有难度,因为建模目标与上下文的语境词的语义相关性很难。不同的语境词对句子在目标特征的情感极性有不同的影响。因此,使用神经网络构建学习模型时,捕捉目标词和语境词之间的语义关系非常必要。

使用神经网络的 aspect level 情感分类有三个重要任务。第一个任务是表示目标的语境词。该问题可以使用前两节提到的文本表示方法来解决。第二个任务是生成目标表示,其可与语境词进行恰当地互动。通常的解决方案是学习目标嵌入(与词嵌入类似)。第三个任务是识别特定目标的重要情感语境词。例如,在句子「the screen of iPhone is clear but batter life is short」中,「clear」是「screen」的重要语境词,「short」是「battery life」的重要语境词。近期该任务通过注意力机制得到解决。尽管很多深度学习技术可用于处理 aspect level 情感分类,但文献中仍然没有主导性技术。

  1. Dong等人针对目标相关的Twitter情感分类提出了一种自适应递归神经网络(AdaRNN),该方法学会根据上下文和句法结构向目标传播单词的情感。它将根节点的表示形式用作特征,并将其馈入softmax分类器以预测各个类的分布。
  2. Vo和Zhang通过利用丰富的自动功能研究了基于方面的Twitter情感分类,这是使用无监督学习方法获得的其他功能。该论文表明,多个嵌入,多个池化功能和情感词典可以提供丰富的特征信息来源,并有助于提高性能。
  3. 由于LSTM可以更灵活地捕获目标与其上下文词之间的语义关系,因此Tang等人提出了目标相关LSTM(TD-LSTM)和目标连接LSTM(TC-LSTM)来通过考虑目标来扩展LSTM。他们将给定的目标视为特征,并将其与上下文特征进行关联,以进行方面情感分类。
  4. Ruder等人提出将分层和双向LSTM模型用于方面级别的情感分类,该模型能够利用句子内和句子间的关系。评论中对句子及其结构的唯一依赖使所提出的模型与语言无关。单词嵌入被输入到句子级别的双向LSTM中。向前和向后LSTM的最终状态与目标嵌入一起串联在一起,并馈入双向查看级别的LSTM。在每个时间步,将向前和向后LSTM的输出连接起来并馈入最后一层,最后一层输出情绪上的概率分布。
  5. 考虑到Dong等人和Vo和Zhang的工作局限性,Zhang等人提出了一个句子级神经模型来解决池化功能的弱点,该模型没有明确地对推文级语义进行建模。为此,提出了两个门控神经网络。首先,双向门控神经网络用于在推文中连接单词,以便可以在隐藏层而不是单词上应用合并功能,以更好地表示目标及其上下文。其次,使用三向门控神经网络结构来建模目标提及与其周围环境之间的交互,通过使用门控神经网络结构来建模封闭推文的语法和语义以及两者之间的交互来解决局限性。周围的环境和目标。闸门神经网络已被证明可以通过更好地传播梯度来减少标准循环神经网络对序列末端的偏见
  6. Wang等人提出了一种基于目标嵌入的基于注意力的LSTM方法,该方法被证明是一种有效的方法,可以使神经模型参与句子的相关部分。注意机制用于响应特定方面而强制模型关注句子的重要部分。同样,Yang等人提出了两种基于注意力的双向LSTM,以提高分类性能。 Liu和Zhang通过区分从给定目标/方面的左上下文和右上下文获得的注意力来扩展注意力模型。他们通过添加多个门进一步控制了他们的注意力贡献。
  7. Tang等人介绍了一种用于方面级别情感分类的端到端存储网络,该网络使用带有外部存储器的注意力机制来捕获每个上下文单词相对于给定目标方面的重要性。当推断方面的情感极性时,此方法明确捕获每个上下文单词的重要性。这种重要程度和文本表示是通过多个计算层来计算的,每个计算层都是外部存储器上的神经注意模型。
  8. Lei等人建议使用神经网络方法来提取输入文本片段,作为评论评分的依据(原因)。该模型由一个生成器和一个解码器组成。生成器指定可能的基本原理(提取文本)的分布,编码器将任何此类文本映射到特定于任务的目标向量。对于多方面情感分析,目标向量的每个坐标表示与相关方面有关的响应或等级。Li等人将目标识别任务整合到情感分类任务中,以更好地建模方面与情感的交互。他们表明,情绪识别可以通过端到端的机器学习架构解决,该架构中的两个子任务由一个深度内存网络交错。这样,在目标检测中产生的信号为极性分类提供了线索,相反,预测的极性为目标的识别提供了反馈。
  9. Ma等人提出了一个交互式注意力网络(IAN),该网络同时考虑了对目标和上下文的关注。也就是说,它使用两个注意力网络交互地检测目标表达/描述的重要单词及其整个上下文的重要单词。
  10. Chen等人提出利用循环注意力网络更好地捕捉复杂情境的情绪。为此,他们提出的模型使用了循环/动态注意力结构,并学习了GRU中注意力的非线性组合。
  11. Tay等人设计了一个Dyadic内存网络(DyMemNN),该模型通过使用神经张量组合或全息组合来进行内存选择操作,从而对方面和上下文之间的二元交互进行建模。

 

十七、方面提取和分类

为了执行方面级的情感分类,需要手动指定或自动提取方面(或目标)。 在本节中,我们讨论使用深度学习模型从句子或文档中自动进行方面提取(或方面术语提取)的现有工作。 让我们用一个例子来说明问题。 例如,在句子“图像非常清晰”中,单词“ image”是一个方面术语(或情感目标)。 方面分类的关联问题是将相同的方面表达式分组到一个类别中。 例如,方面术语“image”,“photo”和“picture”可以分组为一个名为“Image”的方面类别。 在下面的评论中,我们包括与观点相关的方面和实体的提取。

深度学习模型可以帮助完成此任务的原因之一是,深度学习本质上擅长于学习(复杂的)特征表示。 当某个方面在某个特征空间中(例如,在一个或多个隐藏层中)正确表征时,一个方面及其上下文之间的语义或相关性可以通过它们相应的特征表示之间的相互作用来捕获。 换句话说,深度学习为自动特征工程提供了一种可能的方法,而无需人工参与。

  1. Katiyar和Cardie研究了使用深度双向LSTM联合提取意见实体以及将实体连接的IS-FORM和IS-ABOUT关系。 Wang等。 83进一步提出了一个结合RNN和条件随机场(CRF)的联合模型,以共同提取方面和观点术语或表达。所提出的模型可以同时学习高级判别特征和方面和观点术语之间的双重传播信息。 Wang等人进一步提出了一种耦合多层注意力模型(CMLA),用于共同提取方面和观点术语。该模型由使用GRU单元的方面关注和意见关注组成。 Li和Lam报告了一种改进的基于LSTM的方法,专门用于方面术语提取。它由三个LSTM组成,其中两个LSTM用于捕获外观和情感交互。第三个LSTM将使用情感极性信息作为附加指导。
  2. 他等人提出了一种基于注意力的无监督方面提取模型。与自动编码器框架类似,主要的直觉是利用注意力机制将更多的注意力放在与方面相关的单词上,同时在学习方面嵌入过程中不强调与方面无关的单词。
  3. Zhang等人使用神经网络扩展了CRF模型,以共同提取方面和相应的情感。提出的CRF变体用连续的单词嵌入替换了CRF中的原始离散特征,并在输入和输出节点之间添加了神经层。
  4. Zhou等人提出了一种半监督的词嵌入学习方法,以在带有噪声标签的大量评论上获得连续的词表示。通过学习单词向量,可以通过神经网络将单词向量堆叠在一起,从而学习到更深层次的混合特征。最后,使用经过混合特征训练的逻辑回归分类器来预测方面类别。
  5. Yin等人首先通过考虑连接单词的依赖路径来学习单词嵌入。然后,他们设计了一些嵌入功能,这些功能考虑了基于CRF的方面项提取的线性上下文和依赖上下文信息。
  6. Xiong等人提出了一种基于注意力的深度距离度量学习模型来对方面短语进行分组。基于注意力的模型是学习上下文的特征表示。方面短语嵌入和上下文嵌入都用于学习K均值聚类的深度特征子空间度量。
  7. Poria等人建议使用CNN进行长宽比提取。他们开发了一个七层的深度卷积神经网络,以将带意见的句子中的每个单词标记为方面或非方面单词。一些语言模式也已集成到模型中以进一步改进。
  8. Ying等人提出了两个基于RNN的模型用于跨域方面提取。他们首先使用基于规则的方法为每个句子生成辅助标签序列。然后,他们使用真实标签和辅助标签对模型进行了训练,这显示出令人鼓舞的结果。

 

十八、意见表达提取

在本节和接下来的几节中,我们将讨论深度学习应用程序与其他一些与情绪分析相关的任务。 本节重点讨论意见表达提取(或意见术语提取或意见识别)问题,该问题旨在识别句子或文档中的情感表达。

与方面提取相似,使用深度学习模型的意见表达提取是可行的,因为它们的特征也可以在某些特征空间中识别出来。

  1. Irsoy和Cardie探索了深度双向RNN在此任务上的应用,该应用优于具有相同数量参数和以前CRF方法的传统浅RNN。
  2. Liu等人提出了基于RNN体系结构和词嵌入的一般判别模型。 作者使用来自三个外部源的预训练词嵌入,这些词源来自不同的RNN架构,包括Elman型,Jordan型,LSTM及其变体。
  3. Wang等人提出了一个将递归神经网络和CRF集成在一起的模型,以共同提取方面和观点。 还建议使用前述CMLA来共同提取方面和观点术语。

 

十九、情感组成

情感成分定义:意见表达的情感取向是由其成分的含义以及语法结构决定的。 由于其特殊的树状结构设计,RecNN自然适合此任务。 Irsoy和Cardie报告说,具有深层架构的RecNN可以更准确地捕获语言组成方面的不同方面,这有利于情感组成。 Zhu等人提出了一种将情感成分合成过程中的成分情感和非成分情感整合在一起的神经网络。

 

二十、意见来源提取

意见持有人(或来源)提取是识别谁持有意见(或意见来自谁/来自何处)的任务。 例如,在句子“约翰讨厌他的车”中,意见持有者是“约翰”。 通常将此问题表述为诸如意见表达提取或方面提取之类的序列标记问题。 请注意,如Yang和Cardie所示,观点持有人可以是显式的(来自句子中的名词短语)或隐式的(来自作者)。 Deng和Wiebe建议使用观点表达的词嵌入作为识别参与者观点和非参与者观点的来源的特征,其中来源可以是名词短语或作者。

 

二十一、时态意见挖掘

时间也是情感分析问题定义中的一个重要维度(参见Liu的书1)。 随着时间的流逝,人们可能会保持或改变主意,甚至给出新的观点。 因此,预测未来观点在情感分析中很重要,最近已经报道了一些使用神经网络的研究来解决这个问题。

  1. Chen等人提出了一种基于内容的社会影响力模型(CIM),以对Twitter用户进行意见行为预测。 也就是说,它使用过去的推文来预测用户的未来意见。 它基于神经网络框架,对用户内容和社会关系因素(用户对目标的看法受朋友的影响)进行编码。
  2. Rashkin等人将LSTM用于社交媒体环境下的目标情感预测。 他们引入了多语言含义框架,旨在预测参与框架的世界事件参与者之间的隐含情绪。

 

二十二、基于词嵌入的情感分析

词嵌入在深度学习情感分析模型中扮演了重要角色。研究也表明,即使不使用深度学习模型,词嵌入也可以在不同任务中用作非神经网络学习模型的特征。因此,该部分特别强调了词嵌入对情感分析的贡献。

我们首先介绍情感编码词嵌入的工作。 对于情感分析,直接使用常规的单词方法(例如CBOW或Skip-gram)从上下文中学习单词嵌入可能会遇到问题,因为上下文相似但情感极性相反(例如,“好”或“坏”)的单词可能会映射到附近 嵌入空间中的向量。 因此,已经提出了情感编码的单词嵌入方法。

  1. Mass el al学习了可以捕捉语义和情感信息的词嵌入。
  2. Bespalov et al表明,n-gram 模型结合潜在表征将为情感分类提供更合适的嵌入。通过把语句的情感监督作为正则化项。
  3. Labutov and Lipson 将带有 logistic 回归的现有词嵌入进行重嵌入。
  4. Le和Mikolov提出了段落向量的概念,以首先学习可变长度文本(包括句子,段落和文档)的定长表示形式。他们在句子和文档级别的情感分类任务上进行了实验,并获得了性能提升,这证明了段落向量在捕获语义以帮助情感分类方面的优点。 Tang等人提出了用于学习特定于情感的词嵌入(SSWE)的模型,其中不仅语义而且情感信息都嵌入在所学习的词向量中。 Wang和Xia开发了一种神经体系结构,通过集成文档和单词级别的情感监督来训练带有情感的单词嵌入。 Yu等人采用了一种细化策略来获得带有语义情感的联合词向量。
  5. 还研究了特征丰富和多义词嵌入以进行情感分析。 Vo和Zhang通过利用丰富的自动功能研究了基于方面的Twitter情感分类,这是使用无监督学习技术获得的其他功能。 Li和Jurafsky在各种NLP任务上尝试了使用多义词嵌入。实验结果表明,尽管此类嵌入确实可以提高某些任务的性能,但对情感分类任务却几乎没有帮助。 Ren等人提出了一种方法,用于学习用于Twitter情感分类的主题丰富的多原型单词嵌入。
  6. 多语言单词嵌入也已应用于情感分析。 Zhou等人报道了双语情感词嵌入(BSWE)模型用于跨语言情感分类。它通过使用带标签的语料库及其翻译,而不是大规模的并行语料库,将情感信息整合到英汉双语嵌入中。 Barnes等人比较了几种类型的双语单词嵌入和神经机器翻译技术,用于基于跨语言方面的情感分类。
  7. Zhang等人将词嵌入与矩阵分解集成在一起,用于基于个性化评论的评分预测。具体而言,作者使用情感词典来精炼现有的面向语义的单词向量(例如,word2vec和GloVe)。 Sharma等人提出了一种半监督技术,该方法使用带有情感的词嵌入来对形容词的情感强度进行排名。词嵌入技术也已被利用或改进,以帮助解决许多其他近期研究中的各种情感分析任务。

 

二十三、嘲讽检测

嘲讽是一种形式的语言讽刺,是与情感分析密切相关的概念。 最近,人们对NLP社区的嘲讽检测越来越感兴趣。 由于在许多其他NLP问题中取得了令人瞩目的成功,研究人员已尝试使用深度学习技术来解决该问题。

  1. Zhang等人构建了一个用于讽刺检测的深度神经网络模型。他们的网络首先使用双向GRU模型在推文上本地捕获语法和语义信息,然后使用池化神经网络从历史推文中自动提取上下文特征以检测讽刺性推文。
  2. Joshi等人研究了基于单词嵌入的特征以进行讽刺检测。他们尝试了过去四种具有增强词嵌入功能的讽刺检测算法,并显示出令人鼓舞的结果。
  3. Poria等人通过共同模拟训练前的情绪,情感和个性特征以及推文中的文字信息,开发了基于CNN的讽刺检测模型(讽刺或非讽刺推文分类)。
  4. Peled和Reichart建议基于RNN神经机器翻译模型来解释讽刺推文。
  5. Ghosh和Veale提出了CNN和双向LSTM混合体,用于在推文中检测讽刺,该模型可同时对语言和心理环境进行建模。
  6. Mishra等人利用CNN从眼睛运动(或注视)数据中自动提取认知特征,以丰富信息以进行讽刺检测。单词嵌入还用于英语推文120中的反讽识别以及辩论中的有争议单词识别。

 

二十四、情感分析

情感是人类的主观感受和思想。 主要的情感包括爱,喜悦,惊奇,愤怒,悲伤和恐惧。 情感的概念与情感密切相关。 例如,情绪的强度可以与诸如喜悦和愤怒之类的某些情绪的强度相关联。 因此,许多深度学习模型也按照情感分析的方式应用于情感分析。

  1. Wang等人建立了双语注意力网络模型,用于代码转换的情绪预测。 LSTM模型用于构建每个帖子的文档级表示,并且注意机制用于从单语和双语语境中捕获翔实的单词。
  2. Zhou等人提出了一种情感聊天机,用于基于GRU建模大规模对话生成中的情感影响。该技术也已在其他论文中应用
  3. Abdul-Mageed和Ungar首先通过使用远程监督自动构建了一个大型的情绪检测数据集,然后使用GRU网络进行细粒度的情绪检测。
  4. Felbo等人在社交媒体中使用了数以百万计的表情符号,用于神经模型的预训练,以便更好地表达情感环境。
  5. 提出了一种使用深度存储网络进行情感原因提取的问题解答方法。情感原因提取旨在识别文本中表达的某种情感背后的原因。

 

二十五、用于情感分析的多模态数据

多模态数据(例如,携带文本,视觉和听觉信息的数据)可帮助情感分析,因为它为传统文本功能提供了额外的情感信号。 由于深度学习模型可以将输入映射到某个潜在空间以进行特征表示,因此也可以同时投影多模态数据的输入以学习多模态数据融合,例如通过使用特征级联,联合潜在空间或其他更复杂的融合方法。 现在,将多模态数据与深度学习技术结合使用的趋势正在增长。

  1. Poria等人提出了一种基于CNN内层的激活值从短文本中提取特征的方法。该论文的主要新颖之处在于,它使用了深层的CNN从文本中提取特征,并使用了多核学习(MKL)对异构的多峰融合特征向量进行分类。
  2. Bertero等人描述了一种CNN模型,用于在来自交互式对话系统的声音数据中进行情绪和情感识别。
  3. Fung等人演示了一种虚拟交互对话系统,该系统结合了由深度学习模型训练的情感,情感和个性识别功能。
  4. Wang等人报道了一种CNN结构化的深度网络,称为深度耦合形容词和名词(DCAN)神经网络,用于视觉情感分类。 DCAN的关键思想是利用形容词和名词文本描述,将它们视为两个(弱)监督信号,以学习两个中间情感表示。然后将那些学习到的表示连接起来,并用于情感分类。
  5. Yang等人开发了两种基于条件概率神经网络的算法来分析图像的视觉情感。
  6. Zhu等人提出了用于视觉情感识别的统一CNN-RNN模型。该体系结构利用多层的CNN在多任务学习框架内提取不同级别的特征(例如颜色,纹理,对象等)。并提出了一种双向RNN来整合CNN模型中来自不同层的学习特征。
  7. ypu等人采用了注意力机制进行视觉情感分析,可以共同发现相关的本地图像区域,并在这些本地区域的顶部构建情感分类器。
  8. Poria等人提出了一种深度学习模型,用于对视频数据进行多模式情感分析和情感识别。特别是,提出了一种基于LSTM的模型,用于话语级情感分析,该模型可以从同一视频的周围环境中捕获上下文信息。
  9. Tripathi等人在多模式数据集DEAP上使用了基于深度和CNN的情感分类模型,该模型包含脑电图以及周围的生理和视频信号。
  10. Zadeh等。 136提出了将多模态情感分析问题建模为模态内部和模态间动力学的模型,并引入了一个名为Tensor Fusion Network的新神经模型来解决。
  11. Long等人提出了一种以认知为基础的眼动数据训练的注意力神经模型,用于句子级情感分类。建立了基于认知的注意(CBA)层用于神经情感分析。
  12. Wang等人提出了一种选择加性学习(SAL)方法,以解决多模态情感分析中的混杂因素问题,该方法消除了神经网络(例如CNN)学习到的单个特定潜在表示。为此,涉及两个学习阶段,即用于混淆因子识别的选择阶段和用于混淆因子去除的去除阶段。

 

二十六、资源匮乏的语言和多语言情感分析

最近,由于使用了深度学习模型,资源贫乏的语言(与英语相比)的情感分析也取得了重大进展。 此外,多语言功能也可以像多数模态据一样帮助情感分析。 同样,深度学习已应用于多语言情感分析设置。

  1. Akhtar等人报道了一种基于CNN的混合架构,用于将资源贫乏的语言印地语用于句子和方面级别的情感分类。
  2. Dahou等人在句子层使用单词嵌入和基于CNN的阿拉伯语情感分类模型。
  3. Singhal和Bhattacharyya设计了一种用于复审/句子级别的多语言情感分类的解决方案,并尝试了多种语言,包括印地语,马拉地语,俄语,荷兰语,法语,西班牙语,意大利语,德语和葡萄牙语。 作者使用机器翻译工具将这些语言翻译成英语,然后使用英语单词嵌入,情感词典中的极性和CNN模型进行分类。
  4. Joshi等人在LSTM体系结构中引入了一个子词级别的表示形式,用于对印地语-英语代码混合句子进行情感分类。

 

二十七、其他相关任务

深度学习在其他一些与情绪分析相关的任务中也有应用。

情感主体间性:Gui等人在情感分析中解决了主体间性问题,该问题是研究语言的表面形式与相应抽象概念之间的差距,并将主体间性建模纳入拟议的CNN中。

词典扩展:Wang等人提出了一种基于PU学习的神经方法,用于意见词典扩展。

金融波动性预测:Rekabsaz等人使用金融公开情绪和基于词嵌入的信息检索模型进行了波动性预测,其中词嵌入用于类似的词集扩展中。

意见建议:Wang和Zhang介绍了意见建议任务,该任务旨在生成特定用户可能会给出的产品的自定义评论评分,以及在特定情况下用户将为目标产品撰写的自定义评论。用户已经查看过该产品。提出了一种多注意记忆网络来解决
问题,其中考虑了用户的评论,产品的评论以及用户的邻居(相似的用户)。

政治主张检测:Augenstein等人提出了带有条件编码机制的双向LSTM,用于政治推特数据中的政治主张检测。 Du等人设计了一种针对特定目标的神经注意力模型来进行政治主张分类。

 

二十八、结论

将深度学习应用于情感分析已成为最近流行的研究主题。 在本文中,我们介绍了各种深度学习架构及其在情感分析中的应用。 这些深度学习技术中的许多技术已经显示出用于各种情感分析任务的最新结果。 随着深度学习研究和应用的发展,我们相信在不久的将来会有更多激动人心的深度学习研究用于情感分析。

  • 35
    点赞
  • 364
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
1. 吴勇, 刘丹, 王鑫, 等. 基于机器学习的情感分析综述[J]. 计算机应用, 2018, 38(5): 1299-1305. 这篇文献对基于机器学习的情感分析进行了全面的综述。文章首先介绍了情感分析的研究背景和意义,然后对情感分析的基本方法进行了概述,包括基于情感词典、基于机器学习的分类方法、基于深度学习的方法等。接着,文章详细介绍了基于机器学习的情感分析方法,包括朴素贝叶斯、支持向量机、决策树、随机森林等。最后,文章总结了目前情感分析研究中存在的问题,并展望了未来的研究方向。 2. 陈雄飞, 李广, 王海斌. 基于机器学习的情感分析综述[J]. 软件学报, 2018, 29(1): 1-22. 这篇综述文章对基于机器学习的情感分析进行了详细的介绍和分析。文章首先介绍了情感分析的研究背景、意义和应用领域。然后,文章介绍了情感分析的基本过程和方法,包括情感词典法、基于机器学习的分类方法、基于深度学习的方法等。接着,文章详细介绍了基于机器学习的情感分析方法,包括朴素贝叶斯、支持向量机、决策树、随机森林、神经网络等。最后,文章总结了目前情感分析研究的进展和存在的问题,并提出了未来的研究方向。 3. 董鑫, 薛弘, 陈明华. 基于机器学习的情感分析研究综述[J]. 电子学报, 2017, 45(8): 1845-1858. 这篇综述文章对基于机器学习的情感分析进行了系统的综述和分析。文章从情感分析的定义、应用和分类入手,介绍了情感分析的基本方法和技术。接着,文章详细介绍了基于机器学习的情感分析方法,包括朴素贝叶斯、支持向量机、随机森林、神经网络等。并且,文章对这些方法的优缺点进行了分析和比较。最后,文章总结了目前情感分析研究的发展和存在的问题,并展望了未来的研究方向。 综上所述,基于机器学习的情感分析在国内的研究也是比较丰富的,相关文献对情感分析的基本方法和技术进行了系统的介绍和分析。朴素贝叶斯、支持向量机、决策树、随机森林、神经网络等方法都得到了广泛的应用和研究。未来的研究方向包括:情感分析的多模态、跨语言、跨领域等问题,以及如何提高情感分析的准确性和效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值