情感分析的基本任务是在文档、句子或特征/方面级别对给定文本的极性进行分类,并确定文档、句子或实体特征/方面中表达的意见是积极的、消极的还是中立的,而文本信息的复杂性导致检测普通文本中的情绪成为一项具有挑战性的任务。目前效果较好的情感分析算法都是基于统计学习的方法,该方式性能的好坏取决于特征提取的质量,而良好的特征工程需要较高的专家经验且费时费力,可迁移性较差;采用神经网络的方法能够减少对特征工程的依赖。
当前,有一些基于神经网络的方法已经被用于情感分类任务。Socher等[1-5]提出利用递归神经网络(recursive neural network)进行建模,这些方法已被证明在构造句子的表示方面是有效的。然而,递归神经网络首先需要将文本构造为一个树结构的数据结构表示方式,以便捕获句子的语义,此类模型应用于较长的句子或文档时,需要较大的时间开销。
在自然语言处理任务的应用上最为有效的循环神经网络(recurrent neural network, RNN)具有良好的捕获上下文信息的能力,这对长文本进行建模进而获取其语义十分有用。然而,循环神经网络是一个有偏的模型,越接近展开末尾的单词比之前的单词保留的信息更多。众所周知,与情感分析有关的关键特征可能出现在文档的任何位置,而不仅仅是在文本的末尾。因此,使用循环神经网络捕获整个输入文本的语义特征时,其有效性将会因关键特征的位置改变而出现不同程度的降低,甚至可能会将重要信息完全忽略,导致模型的性能极大退化。
同时,还有一些工作使用卷积神经网络(convolution neural network,CNN)进行情感分类[6]。CNN被引入自然语言处理任务中,一个原因在于它能够解决词语等特征的顺序偏差问题,因为在使用最大值池化等池化操作时,其具有平移不变性,与特征所在的位置无关。然而,之前关于CNN的研究工作倾向于使用诸如固定窗口大小的简单卷积核[7-8]。小窗口可能导致重要信息丢失,而大窗口则会导致巨大的参数空间,使得网络的训练变得极为困难。同时,基于CNN的文本分析方法能够通过池化获得文本的重要特征,但较难获得上下文信息。Cliche[9]使用卷积神经网络和长短期记忆网络分别对句子进行建模,虽然该方法可以在实验结果上得到一定的提升,但仍然无法克服卷积神经网络和循环神经网络的上述缺陷。
深度网络模型在细分领域的情感分析任务上与传统方法相比取得了较大提升。概括来说,就是规模庞大的深度神经网络模型结构赋予了深度学习模型强大的非线性拟合的能力,而大规模的数据资源为训练这样大规模的模型并保证其泛化能力提供了可能性。然而,在实际应用中,较大的时间和空间开销仍然制约着这些方法的实施。层次较多且每一层神经元众多的大规模深度网络模型不论是训练还是预测,运算量都十分巨大,即使借助图形处理器(graphics processing unit,GPU)进行加速计算[6],其较差的时效性也很难满足许多应用场景的需求。同时,对于大规模的深度学习模型,即使是卷积神经网络等使用了参数共享的模型,模型参数也要占用大量的内存空间,在实际运用中对设备的要求很高,对于手机等移动设备来说更加难以部署。因此,如何在不影响深度神经网络模型性能的前提下,压缩深度神经网络模型具有重要意义。
基于神经网络的情感分析方法为了保证模型能够取得良好的效果,使用了较大规模的卷积神经网络,导致模型的参数规模较大。而在实际运用中,带有情感标注信息的细分领域文本数据较少,存在数据问题,这就可能导致上述深度神经网络模型得不到较为充分的训练。一方面,模型存在过参数化问题;另一方面,参数得不到充分训练,模型的泛化性能就难以保证。同时,为了能够快速分析出现的舆情,及时应对客户的反馈,实现高效客情关系管理,情感分析系统需要具有较高的时效性。
为了解决上述问题,提升网络预测时的效率,同时保证模型的性能不会有较大的下降,本文提出了基于门控单元的循环-卷积神经网络(RCNN)与卷积-循环神经网络(C-RNN)集成情感分析方法[10-12],并利用剪枝的方法对本文提出的模型进行压缩。在卷积神经网络(包括全连接神经网络)的训练过程中,利用群稀疏与排他性稀疏正则项对模型进行剪裁,从而达到减少模型参数数目的效果。在模型预训练过程中,首先利用稀疏性正则项剪除权值较小的边,并去除连接稀疏的神经元节点,然后继续训练剪枝后的模型。在不同的数据集上进行了充分实验,验证了压缩方法的有效性,且保证了模型在情感分析任务上的性能。
1 基于门控单元的RCNN与C-RNN集成情感分析方法 1.1 基于RCNN的文本情感特征提取模型首先,本文提出一种基于循环-卷积神经网络的深度神经模型来捕获文本的语义,将获得的语义特征作为情感分析器的特征进行情感倾向分析。图 1显示了该模型的网络结构。网络的输入是文本S,由文本的单词序列w1, w2, …, wn构成。
文本中每一个语言符号所表达的意义都与它所处的上下文环境有关,单词的上下文背景能够帮助模型获得词语在特定场景下更加精确的意义。为了使得神经网络提取到的语义特征能够融合单词的上下文环境,利用循环-卷积神经网络模型来对客户的评论文本进行特征提取。模型首先使用一个双向循环神经网络,来捕捉词语的上下文信息并结合单词本身的词嵌入表示来获得单词的强化表示。定义cl(wi)、cr(wi)分别表示单词wi的左侧上下文信息(循环由前向后展开)特征以及右侧上下文信息(由后向前展开)特征,cl(wi)与cr(wi)都是维度为c的实值稠密向量,计算过程分别如式(1)、(2)
$ {\mathit{\boldsymbol{c}}_{\rm{l}}}\left( {{w_i}} \right) = f\left( {{\mathit{\boldsymbol{W}}^{\rm{l}}}{\mathit{\boldsymbol{c}}_{\rm{l}}}\left( {{w_{i - 1}}} \right) + {\mathit{\boldsymbol{W}}^{{\rm{sl}}}}\mathit{\boldsymbol{e}}\left( {{w_{i - 1}}} \right)} \right) $ | (1) |
$ {\mathit{\boldsymbol{c}}_{\rm{r}}}\left( {{w_i}} \right) = f\left( {{\mathit{\boldsymbol{W}}^{\rm{r}}}{\mathit{\boldsymbol{c}}_{\rm{r}}}\left( {{w_{i + 1}}} \right) + {\mathit{\boldsymbol{W}}^{{\rm{sr}}}}\mathit{\boldsymbol{e}}\left( {{w_{i + 1}}} \right)} \right) $ | (2) |
式中,e(wi)为输入文本序列中第i个单词wi的词嵌入表示;cl(wi-1)为前一个单词wi-1的左侧上下文信息;Wl是将双向循环神经网络的前向展开的隐藏层状态(左上下文信息特征)转换为下一个隐藏层状态的参数矩阵;Wsl是将当前单词的词嵌入表示添加到下一个单词的左上下文信息特征的参数矩阵;f为非线性激活函数。右上下文信息特征cr(wi)的计算方式与之类似。利用式(1)、(2)对文本序列进行计算后,当前单词的左侧上下文信息特征捕获了由前向后展开至单词的所有语义信息,右侧上下文信息特征则捕获了由后向前展开至单词的所有语义信息。在获得当前单词的上下文语义特征后,将上下文语义特征与单词本身的词嵌入表示融合,获得当前单词的最终表示,其形式化表示为
$ {\mathit{\boldsymbol{x}}_i} = \left[ {{\mathit{\boldsymbol{c}}_{\rm{l}}}\left( {{w_i}} \right);\mathit{\boldsymbol{e}}\left( {{w_i}} \right);{\mathit{\boldsymbol{c}}_{\rm{r}}}\left( {{w_i}} \right)} \right] $ | (3) |
如式(3)所示,单词wi的最终表示xi由左侧上下文向量cl(wi)、单词的词嵌入e(wi)和右侧上下文向量cr(wi)拼接组成。通过这种方式,模型学习到的单词表示中蕴含了丰富的单词上下文信息,与仅使用固定窗口大小的传统语言模型或神经网络模型相比(这些模型对每一个语言符号进行处理时,仅使用单词周围的部分文本信息),循环-卷积神经网络模型可以对整个文本序列进行建模并很好地保留词语的顺序等结构信息,利用上下文信息能够更好地消除词语wi含义的歧义;同时,循环神经网络结构正向扫描获得所有左侧上下文语义特征cl,后向扫描获得所有右侧上下文特征cr。
1.1.2 从单词语义特征中获取全文的语义特征直接使用文本中单个词语的表示对于分析整个评论的情感倾向仍然十分困难,因此还需要利用这些单词的表示计算获取整个评论文本的表示。从卷积神经网络的角度看,可以将循环神经网络结构看作是卷积神经网络的卷积层。当计算出所有单词的表示时,利用最大值池化操作从评论文本序列的所有单词表示中获取全文的语义特征,计算过程如式(4)所示
$ {y^{\left( 3 \right)}} = \mathop {\max }\limits_{i = 1}^{\left| \mathit{\boldsymbol{S}} \right|} y_i^{\left( 2 \right)} $ | (4) |
在循环-卷积神经网络模型中,最大值池化操作是对整个评论文本所有的词语表示逐语义因素提取最大值,即选取所有词语语义特征yi(2)第k维的最大值作为全文语义特征y(3)第k维语义元素的值。经过最大值池化操作后,长度不同的评论文本转换为固定长度的全文语义向量,该向量能够较好地保留整个文本的重要语义信息。如前文所述,在整个评论中,某些与情感相关的单词及其组合语义是与情感分析任务关联性最强的特征,对于判断评论的情感倾向十分有效,提取这些重要特征可以提升情感分析模型的性能,因此在本节的模型中,依然采用最大值池化操作。
1.2 基于C-RNN的文本情感特征提取模型 1.2.1 卷积操作分段提取评论文本局部情感特征标准的卷积神经网络能够很好地提取词语等的组合特征,且具有平移不变性,无论这些组合特征在文本的何种位置,卷积操作都能够提取到。在本文提出的模型中,输入是由文本的词嵌入构成的矩阵,矩阵的每一行是一个语言符号的向量化表示,卷积核沿着文本展开的方向滑动,令输入中第i个语言符号的向量化表示为si,输入的文本可以由矩阵S=(s1T, s2T, …, s|S|T)来表示。则卷积操作可以表示为
$ {c^j} = \mathit{\boldsymbol{W}} \otimes {\mathit{\boldsymbol{S}}_{j:j + w - 1}} $ | (5) |
式中,1≤j≤|S|-w+1,cj为卷积核从词j开始到卷积核高度为窗口的词之间进行卷积操作提取的特征值。
仅依靠一个卷积核对文本进行特征提取获得的有效特征是不全面的,为了能够从文本中提取更加丰富的信息,本文模型使用多个不同的卷积核。
输入的文本经过第i个卷积核卷积操作后得到特征向量ci={ci1, ci2, …, ci|S|-w+1},则所有的卷积核共能得到n个特征向量。在本节提出的模型中,所有的卷积核都采用同样的大小,因此同一个评论文本经过卷积操作后将会得到n个维度相同的蕴含着评论文本局部语义特征的向量。这些特征向量相同的维度可以看作是评论中同一个局部的不同类型的特征,也就是每一个局部语义特征
在利用卷积层获得评论文本的局部特征后,将局部特征看作文本序列输入到循环神经网络,可以对评论文本的长距离依赖建模,在文本的局部特征中融入句子的结构特征。
本文使用基于长短时记忆网络计算节点的双向循环神经网络对拼接得到的特征序列进行文本的表示学习,然后将两个方向学习到的特征向量拼接在一起,作为文本的向量表示。相对于单向的循环神经网络,其特征向量所表示的语义更加全面和丰富。令拼接后得到的第t个局部特征表示为
评论文本S的局部特征前向展开经过循环神经网络后得到融入前向句子结构特征的隐藏层状态
因此,本文提出的基于卷积-循环神经网络的文本情感特征提取模型总体结构可以表示为图 3。
经过循环-卷积神经网络和卷积-循环神经网络分别提取评论文本的情感特征后,需要将两个网络提取的特征进行融合集成,输入到情感倾向分析器,得到最终的情感分析结果。
对于不同细分领域的评论,与情感倾向有关的特征会有区别,也就是情感倾向具有领域依赖性;同一个细分领域的评论文本在行文风格上具有差异性,因此情感倾向特征也会存在一定程度上的差异。本文提出的两种循环神经网络与卷积神经网络的组合模型提取到的特征较为丰富,但是在不同领域,相同的特征对情感倾向的判别具有不同的作用,过多的特征反而会给情感倾向判别引入噪声,使得分析器的性能发生退化。然而,依靠人工对这些特征进行筛选是十分困难的,因此需要一种自动的方法对这些特征加以选择,使其具有领域、文本适应性,可以去除冗余信息,保证情感倾向分析器的有效性。
本文提出利用门控单元自动对RCNN与C-RNN提取的两种特征进行筛选融合,融合过程可以表示为图 4。
门控单元根据当前输入的两种特征计算得到有多少比例的特征能够通过融合门控单元,也就是输出的特征中两种特征分别需要保留多少原始特征。为了表示的方便,令循环-卷积神经网络提取的特征表示为erc,卷积-循环神经网络提取的特征表示为ecr,则门控单元对特征通过的控制比例g的计算公式为
$ g = \sigma \left( {{\mathit{\boldsymbol{U}}^g}{\mathit{\boldsymbol{e}}_{{\rm{rc}}}} + {\mathit{\boldsymbol{W}}^g}{\mathit{\boldsymbol{e}}_{{\rm{cr}}}} + {\mathit{\boldsymbol{b}}^g}} \right) $ | (6) |
式中,Ug与Wg分别为erc与ecr连接门控单元的权重参数矩阵,bg为偏置。为了简化计算,门控单元对两种提取到的特征使用同一个控制比例进行特征筛选,则特征的融合计算过程可以表示为
$ {\mathit{\boldsymbol{e}}_{\rm{D}}} = g \otimes {\mathit{\boldsymbol{e}}_{{\rm{rc}}}} + \left( {1 - g} \right) \otimes {\mathit{\boldsymbol{e}}_{{\rm{cr}}}} $ | (7) |
式中,eD为经过门控单元融合两种特征得到的表征输入的评论文本情感特征的特征向量。
在得到评论文本的情感特征eD后,利用softmax分类器基于该特征向量对评论的情感倾向进行分类,获得评论的情感倾向。
2 融合群稀疏与排他性稀疏正则项的情感分析模型压缩对深度模型压缩的主要目标是实现一个参数数量明显少于原始非稀疏网络的稀疏深度神经网络,同时获得与原始模型相当甚至更好的性能。为了将重点放在对模型的压缩上,本节将提出的情感分析神经网络模型的训练目标表示为
$ \mathop {\min }\limits_{\left\{ \mathit{\boldsymbol{W}} \right\}} L\left( {\left\{ {\mathit{\boldsymbol{W}},D} \right\}} \right) + \lambda \sum\limits_{l = 1}^L {\mathit{\Omega }\left( {{\mathit{\boldsymbol{W}}^{\left( l \right)}}} \right)} $ | (8) |
式中,D为带有情感类别标记的数据集,{W(l)}为所有隐藏层参数的集合,
在以往的机器学习方法中,最常用的正则项是L1范数和L2范数正则项,也即
$ \mathit{\Omega }\left( {{\mathit{\boldsymbol{W}}^{\left( l \right)}}} \right) = {\left\| {{\mathit{\boldsymbol{W}}^{\left( l \right)}}} \right\|_1} $ | (9) |
$ \mathit{\Omega }\left( {{\mathit{\boldsymbol{W}}^{\left( l \right)}}} \right) = \left\| {{\mathit{\boldsymbol{W}}^{\left( l \right)}}} \right\|_2^2 $ | (10) |
L2范数正则化能够通过增加一个偏差项,限制模型参数的大小来减少模型的方差,从而降低泛化误差,然而L2范数很难使模型的参数达到稀疏化的效果;当目标函数带有L1范数正则项时,只有目标函数与L1范数在L1范数的顶点处相交,整体的目标函数值才能达到最优。因此L1范数正则化能够得到一个稀疏权值矩阵,也即产生稀疏模型。当大多数特性与目标无关时,L1范数带来的稀疏性是十分有效的,可以消除神经网络提取的与情感分析不相关的冗余特征。虽然L1范数正则化能够减少模型的参数从而节约存储空间,但是通常不会在实际的网络架构(如CNN)中带来有意义的速度提升,因为卷积神经网络的速度瓶颈在于卷积操作,当卷积操作的滤波器数量与未采用L1范数正则项的方法相同时,神经网络的运算数量不会有明显的减少。
因此,本文结合L1与L2范数正则的特点,采用群稀疏化对网络进行剪枝,达到压缩神经元规模的效果。
群体稀疏性可以通过整体消除神经元或卷积滤波器来帮助降低模型的内在复杂性,从而在深层神经网络中获得实际的加速[13-14]。因此本文采用定义如下的组稀疏正则化进行神经元的减除
$ \mathit{\Omega }\left( {{\mathit{\boldsymbol{W}}^{\left( l \right)}}} \right) = \sum\limits_g {{{\left\| {\mathit{\boldsymbol{W}}_g^{\left( l \right)}} \right\|}_2}} = \sum\limits_g {\sqrt {\sum\limits_i {\mathit{\boldsymbol{w}}_{g,i}^{{{\left( l \right)}^2}}} } } $ | (11) |
式中,g∈
上述稀疏正则项可以看作是先在群内利用L2范数正则约束,再对不同的群利用L1范数正则约束。由于L2范数具有分组效应,可以使得群内相关特征的权重参数相似,而L1范数会驱动群之间获得稀疏的结果,这将导致某些组的参数整体趋近于0,从而移除一些输入神经元。因此,模型可以自动在每一层使用尽量少的神经元来达到最优的情感分析结果,也就是对神经网络进行了剪枝,群稀疏的效果如图 5所示。
虽然利用群稀疏化能够剪除部分神经元,使得网络的计算有所加快,但是群稀疏性并不能最大限度地利用神经网络对特征的提取表示能力,因为根据不同连接所选择的相同的上下文输入进行提取的特征之间仍然可能存在冗余。因此,在本文模型中引入排他性稀疏(exclusive sparsity)正则化方法,使得情感分析模型的卷积操作能够学到一个稀疏的网络权值矩阵,同时最小化网络权值之间的冗余,以更好地利用网络特征表示能力,压缩模型的规模。
排他性稀疏最早是在多任务学习环境中引入的[15]。排他性稀疏正则项可以定义为
$ \mathit{\Omega }\left( {{\mathit{\boldsymbol{W}}^{\left( l \right)}}} \right) = \frac{1}{2}\sum\limits_g {\left\| {\mathit{\boldsymbol{W}}_g^{\left( l \right)}} \right\|_1^2} = \frac{1}{2}\sum\limits_g {{{\left( {\sum\limits_i {\left| {\mathit{\boldsymbol{w}}_{g,i}^{\left( l \right)}} \right|} } \right)}^2}} $ | (12) |
排他性稀疏范数通常称为(1, 2)-范数,在一个参数群内,首先利用L1范数对参数进行约束,再利用L2范数对所有的群进行约束。在群内使用L1范数的基础上应用L2范数正则项会使组间参数权重的总量相等,因此所有群的非稀疏权值的个数相近,没有一个群内会出现大量的非稀疏权值而其他组都是稀疏权值。在这种情况下,(1, 2)-范数强制情感分析器选择对细分领域情感分类最为有效的最少特征来对文本进行预测。对于本文提出的情感分析模型中的卷积层与全连通层,应用排他性稀疏正则。将不同卷积滤波器得到的特征图对应相同位置的特征定义为同一群权重,这将强制卷积滤波器彼此之间尽可能不同,消除提取的情感特征之间的冗余。排他性稀疏正则项的效果如图 6所示。
融合群稀疏与排他性稀疏的正则项可以由式(13)表示
$ \mathit{\Omega }\left( {{\mathit{\boldsymbol{W}}^{\left( l \right)}}} \right) = \sum\limits_g {\left( {\left( {1 - {\mu _l}} \right)\left\| {\mathit{\boldsymbol{W}}_g^{\left( l \right)}} \right\| + \frac{{{\mu _l}}}{2}\left\| {\mathit{\boldsymbol{W}}_g^{\left( l \right)}} \right\|_1^2} \right)} $ | (13) |
模型除正则项以外的目标函数,可以直接求梯度,而对正则项的优化由于不能直接计算梯度,因此需要求解近似梯度(proximal gradient)。近似梯度正则化算法为首先计算不带正则项目标函数对参数的梯度,获得中间解参数Wt+1/2,然后优化正则化项。求解形如式(14)的优化问题
$ \mathop {\min }\limits_{{\mathit{\boldsymbol{W}}_{t + 1}}} \mathit{\Omega }\left( {{\mathit{\boldsymbol{W}}_{t + 1}}} \right) + \frac{1}{{2\lambda s}}\left\| {{\mathit{\boldsymbol{W}}_{t + 1}} - {\mathit{\boldsymbol{W}}_{t + \frac{1}{2}}}} \right\|_2^2 $ | (14) |
可以求解得到群稀释正则项的近似梯度为
$ pro{x_{{\rm{GL}}}}\left( \mathit{\boldsymbol{W}} \right) = {\left( {1 - \frac{\lambda }{{{{\left\| {{\mathit{\boldsymbol{W}}_g}} \right\|}_2}}}} \right)_ + }{\mathit{\boldsymbol{w}}_{g,i}} $ | (15) |
排他性稀疏正则项的近似梯度为
$ \begin{array}{*{20}{c}} {pro{x_{{\rm{EL}}}}\left( \mathit{\boldsymbol{W}} \right) = {{\left( {1 - \frac{{\lambda {{\left\| {{\mathit{\boldsymbol{W}}_g}} \right\|}_1}}}{{\left| {{\mathit{\boldsymbol{W}}_{g,i}}} \right|}}} \right)}_ + }{\mathit{\boldsymbol{w}}_{g,i}} = }\\ {{\rm{sign}}\left( {{\mathit{\boldsymbol{w}}_{g,i}}} \right){{\left( {\left| {{\mathit{\boldsymbol{w}}_{g,i}}} \right| - \lambda {{\left\| {{\mathit{\boldsymbol{W}}_g}} \right\|}_1}} \right)}_ + }} \end{array} $ | (16) |
融合的正则项只需在每一次迭代时,利用不带正则项的损失函数更新得到中间参数,而后连续应用两个近似梯度算子求出近似梯度更新参数即可优化网络。
3 实验设置 3.1 数据集实验中主要使用3个数据集。第一个是中文酒店数据集(简称携程酒店),语料规模为10 000篇,其中正面评价样本7 000篇,负面评价样本3 000篇。第二个数据集是英文数据集,来自斯坦福大学的情感树库(Stanford sentiment treebank,SST)[16],它标注了句子中每个短语和整个句子的情感极性,本文中只抽取其句子的情感极性并进行分类。该数据集中共包含了11 855个句子,其中的训练集、验证集和测试集分别包含8 544、1 101和2 210个样本。每个句子的情感极性取值区间为[0, 1],分值越小表示情感越倾向于负面,否则情感倾向于正面,数据集中所有句子的情感得分均由人工标注,然后取平均值,具有较高的可靠性。为了使实验更加贴近真实的生产环境,以及验证本文提出的基于门控单元的循环-卷积神经网络与卷积-循环神经网络情感分析方法的有效性,使用的第三个数据集是从生活服务类网站—大众点评上爬取的不同领域的评论文本(简称点评),包括美食、酒店、电影、休闲娱乐、结婚、家装6个细分领域的数据,并依据评论中的打分信息将评论划分为不同的情感倾向,本文选取其中的30 000份评论作为训练集,10 000份作为测试集。
3.2 数据前处理对于中文数据集,首先使用中科院计算所开发的中文分词软件包NLPIR进行中文分词。英文数据本身就是独立的单词,因此不需要进行分词操作。由于在训练过程中使用minibatch训练模型,因此需要统一样本长度;同时,利用卷积-循环神经网络提取不同文本的特征需要保证维度的统一,卷积后拼接才能保证特征维度,因此需要对文本的长度进行补齐操作。由于评论的文本的长度是不一致的,先计算出最长的句子长度l_max,对于句子长度小于l_max的句子,统一使文本用〈\s〉符号补齐到长度l_max (〈\s〉的向量始终设置为0)。同时,为了在卷积过程中保证提取到文本首尾的特征,还需要在最长文本的首尾添加与卷积核相适应的一定数量的〈\s〉作为Padding。
3.3 词嵌入的预训练在正式进行模型训练前,需要获得词嵌入。词嵌入作为单词的一种分布式表示,能够很好地适应神经网络。同神经网络方法类似,当前许多研究都表明在大规模语料上进行词嵌入预训练,再将获得的词嵌入运用到后续的训练中,能够加大神经网络模型收敛速度并达到一个较好的局部最优解。本文使用word2vec算法预训练词嵌入,此算法学习的词嵌入在许多自然语言处理任务中都表现出较好的性能,同时具有较高的效率。选择Skip-gram模型和负采样(negative sampling)模型预训练中文和英文单词的词嵌入,中文词嵌入的预训练使用在百度百科上爬取的文本内容,英文词向量的预训练在New York Times语料上进行。
3.4 实验参数的设置在模型的训练优化过程中,采用Adam优化器对模型的参数进行训练优化,Adam优化器的参数设置采用作者推荐的参数值[17]。在本文中,模型主要有以下超参数:词向量的维度d,卷积-循环神经网络中卷积核的个数n,循环-卷积神经网络中循环结构中隐藏状态的维度Nrc和卷积-循环神经网络中隐藏状态的维度Ncr。为了获得最优的超参数设置,使用网格搜索(grid-search)确定部分超参数的取值。循环-卷积神经网络中循环结构隐藏状态的维度Nrc和卷积-循环神经网络中隐藏状态的维度Ncr从{50,100,200,300}中选择取值;卷积核的个数n在{100,150,200}中取值。在本文中,使用这些参数进行多次实验,最后得到结果的平均值。
4 结果与分析为了验证本文提出的融合群稀疏正则项与排他性稀疏正则项的情感分析模型的有效性以及模型压缩的效果,将本文方法与一些主要的情感分析基线方法进行比较。
4.1 对比方法为了验证本文提出的情感分析压缩模型的有效性,选取带有词义变换矩阵的递归神经网络(MV-RNN)、基于张量的循环神经网络(RNTN)以及融合分段卷积网络与生成对抗网络的情感分析(PCNN+GAN)作为基线方法进行比较。为了说明模型的压缩效果,与未压缩的模型从收敛速度和参数数量等方面进行对比。
4.2 实验结果分析从表 1~3的结果可以看出,在两个数据集上本文提出的未剪枝的PCNN与RCNN & C-RNN方法都取得了最好的效果。融合群稀疏与排他性稀疏正则项的情感分析压缩模型在性能上略微有所降低,情感预测准确率只下降0.1%~0.3%,下降幅度都较小。对比基线方法,剪枝后的Pruning-PCNN模型只有在斯坦福英文情感树库数据集上准确率比RNTN模型低了0.1%~0.3%,说明即使经过了压缩,本文提出的压缩模型仍然具有很好的性能,证明了压缩模型的有效性。
点评数据来自于不同的领域,从表 4~6中可以看出本文提出的未剪枝的PCNN与RCNN & C-RNN方法在点评数据上都取得了最好的效果,融合群稀疏与排他性稀疏正则项的情感分析压缩模型在性能上略微有所降低,情感预测准确率下降0.2%~0.7%,下降幅度都较小。从大众点评爬取的评论中包含不同的细分领域,每一个领域的评论文本相对较少,并且评论文本本身相对较短,因此不同领域的样本都存在一定程度的样本稀疏问题,需要模型能够有效地从文本中抽取与情感有关的特征才能正确对文本的情感倾向做出判断。本文还缩减每个领域中的样本数量,使数据稀疏更加严重,可以看出所有方法都不同程度地出现了性能退化的问题,但是本文提出的融合群稀疏与排他性稀疏正则项的情感分析压缩模型依旧取得了较好的效果,充分说明压缩后的模型在多领域数据稀疏情况下可以保持良好的稳定性以及特征提取的有效性,充分利用了深度神经网络的特征表示效果。
为了进一步说明融合群稀疏与排他性稀疏正则项情感分析压缩模型的有效性,从点评数据集中选取一部分样本,在样本中加入否定词,使样本的情感倾向转换为对立的情感,称为否定积极和否定消极。例如将“这家餐厅的菜很好吃”由积极转变为否定积极,既“这家餐厅的菜很不好吃”;将“这部电影难看”由消极转变为否定消极,既“这部电影不难看”。可以看出这样的转换对于评论文本的改变十分细微,情感倾向积极的样本加入否定词后情感倾向发生了强烈反转;而消极的文本变为否定消极后,评论的消极程度有所降低,但是没有像积极的样本一样强烈反转。这些样本能够测试情感分析方法对于情感提取的有效性和稳定性,测试模型是否能够捕获文本中的情感细节。
测试结果如表 7所示。实验结果表明在加入否定词后,本文提出的融合群稀疏与排他性稀疏正则项情感分析压缩模型依旧能够很好地从细节上捕获评论文本的情感特征。
为了说明本文提出的融合群稀疏与排他性稀疏正则项情感分析压缩模型的计算加速效果以及对模型规模的压缩效果,在点评数据上进行剪枝与未剪枝的模型训练收敛速率对比实验以及模型的压缩程度实验, 结果如图 7所示。
从图 7可以看出,本文提出的压缩模型比未剪枝的情感分析模型能够更快地收敛,说明了融合群稀疏与排他性稀疏正则项能够有效减少模型中卷积与全连接部分的计算量。
通过调节正则项与情感分类损失的平衡参数来改变模型中参数的数量,进而衡量性能与压缩程度的关系。从表 8可以看出,压缩后的PCNN+GAN与RCNN & C-RNN在剪除超过20%的参数后,性能损失最多也只有1.2%,说明了融合群稀疏与排他性稀疏正则项的情感分析压缩模型能够在较大幅度压缩模型规模的同时保证模型的精确性。
针对RNN能够获得上下文信息但是文本中特征出现的顺序不同会导致模型建模出现偏置,基于CNN的文本情感分析方法能够通过池化获得文本的重要特征但较难获得上下文信息,对于长距离依赖建模能力较差等问题,提出了一种基于门控单元的融合RCNN与C-RNN集成情感分析方法模型。由于模型参数规模较大,带有情感标注信息的细分领域文本数据较少,存在数据稀疏问题,可能导致上述深度神经网络模型得不到较为充分的训练的问题;以及为了满足情感分析系统较高的时间要求,需要能够加速模型的计算。
为了解决上述问题,即提升网络在进行预测时的效率,同时保证模型的性能不会有较大的下降,提出利用剪枝的方法对本文提出的模型进行压缩。在模型中引入群稀疏正则项与排他性稀疏正则项,通过融合上述稀疏正则项约束神经网络的卷积与全连接部分的参数,剪除冗余的神经元或链接,压缩了情感分析模型规模,减少了计算量。在不同的数据集上进行充分实验的结果验证了压缩方法的有效性,且保证了模型在情感分析任务上的性能。
[1] |
SOCHER R. Recursive deep learning for natural lan-guage processing and computer vision[D]. Palo Alto: Stanford University, 2014.
|
[2] |
SOCHER R, CHEN D Q, MANNING C D, et al. Reasoning with neural tensor networks for knowledge base completion[C]//Advances in Neural Information Processing Systems. Lake Tahoe, 2013: 926-934. https://www.researchgate.net/publication/291295837_Reasoning_with_neural_tensor_networks_for_knowledge_base_completion
|
[3] |
SOCHER R, PERELYGIN A, WU J Y, et al. Recur-sive deep models for semantic compositionality over a sentiment treebank[C]//Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing. Seattle, 2013: 1631-1642.
|
[4] |
LUONG M T, SOCHER R, MANNING C D. Better word representations with recursive neural networks for morphology[C]//Proceedings of the Seventeenth Conference on Computational Natural Language Learning. Sofia, 2013: 104-113.
|
[5] |
SOCHER R, HUVAL B, MANNING C D, et al. Se-mantic compositionality through recursive matrix-vector spaces[C]//Proceedings of the 2012 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning. Jeju Island, 2012: 1201-1211. https://www.researchgate.net/publication/262367926_Semantic_Compositionality_through_Recursive_Matrix-Vector_Spaces
|
[6] |
LE Q V, NGIAM J, COATES A, et al. On optimization methods for deep learning[C]//Proceedings of the 28th International Conference on Machine Learning. Bellevue: Omni Press, 2011: 265-272.
|
[7] |
COLLOBERT R, WESTON J, BOTTOU L, et al. Natural language processing (almost) from scratch[J]. Journal of Machine Learning Research, 2011, 12: 2493-2537. |
[8] |
KALCHBRENNER N, BLUNSOM P. Recurrent convolutional neural networks for discourse compositionality[J]. arXiv preprint arXiv: 1306. 3584, 2013.
|
[9] |
CLICHE M. BB_twtr at SemEval-2017 Task 4: Twitter sentiment analysis with CNNs and LSTMs[J]. arXiv preprint arXiv: 1704. 06125, 2017.
|
[10] |
SHI B G, BAI X, YAO C. An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(11): 2298-2304. DOI:10.1109/TPAMI.2016.2646371 |
[11] |
KALCHBRENNER N, GREFENSTETTE E, BLUNSOM P. A convolutional neural network for modelling sentences[J]. arXiv preprint arXiv: 1404. 2188, 2014.
|
[12] |
LAI S W, XU L H, LIU K, et al. Recurrent convolu-tional neural networks for text classification[C]//Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence. Austin, 2015: 2267-2273.
|
[13] |
WEN W, WU C P, WANG Y D, et al. Learning struc-tured sparsity in deep neural networks[C]//30th Conference on Neural Information Processing Systems. Barcelona, 2016: 2074-2082.
|
[14] |
ALVAREZ J M, SALZMANN M. Learning the number of neurons in deep networks[C]//30th Conference on Neural Information Processing Systems. Barcelona, 2016: 2270-2278.
|
[15] |
ZHOU Y, JIN R, HOI S C H. Exclusive lasso for multi-task feature selection[C]//Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics. Sardinia, 2010: 988-995.
|
[16] |
Stanford Press Release. Stanford sentiment tree-bank[EB/OL].[2018-11-01]. https://nlp.stanford.edu/sentiment/index.html.
|
[17] |
KINGMA D P, BA L J. Adam: a method for stochastic optimization[J]. arXiv preprint arXiv: 1412. 6980, 2014.
|