基于改进的卷积记忆神经网络的文本情感分类

2020-05-18 07:13:34陈可嘉郑晶晶
关键词:准确率卷积向量

陈可嘉,郑晶晶

(福州大学 经济与管理学院,福建 福州 350116)

随着移动互联网时代的到来,网上有大量富有情感的评论文本,如微博、知乎、豆瓣影评书评、各大购物网站的商品评价等,如何高效准确地将这些文本的情感进行分类,是当今研究的热点。学者们常用的文本情感分类的方法有:基于情感词典的方法、基于机器学习的方法、基于深度学习的方法[1]。深度学习作为机器学习的分支,无需人工进行特征的提取和构建,弥补了机器学习的不足,因此深度学习成为近几年文本情感分类的热门方法[2]。常用于解决文本情感分类的深度学习模型有:卷积神经网络[3]、循环神经网络[4]、长短期记忆(long short-term memory, LSTM)神经网络[5]等。

为了能够提高文本情感分类的准确率,减少对情感分类过程中人为的干预。笔者提出改进的卷积记忆神经网络模型,该模型可弥补机器学习方法的不足,并对现有的深度学习模型进行改进,融合卷积神经网络局部特征提取的优势和双向长短期神经网络上下文全局特征提取的优势,并在池化层进行动态池化处理,以提取更多的显著特征,进而提高文本情感分类的准确率。

1 情感分类模型

不同方法下相关文献及改进的卷积记忆神经网络模型的贡献和研究重点如表1所示,利用改进的卷积记忆神经网络进行文本情感分类的步骤如图1所示。首先要将文本进行数据预处理,将文本处理成神经网络能够理解的词向量矩阵,然后将形成的词向量矩阵输入到改进的卷积记忆神经网络中,最终通过对模型的训练,得到文本情感分类模型。

1.1 数据预处理

对于文本而言,神经网络是无法直接识别的,因此需要将文本数据映射为多维的实数向量,即文本向量化。数据预处理包括以下3个步骤。

(1)分词。中文文本没有明显的词语之间的分界符,因而在词语层面的分割上,中文文本比英文文本要难。是否能够准确地对文本进行分词,对文本情感分类的准确性有重要的影响。“结巴”中文分词是一个Python中文分词库,支持繁体分词和自定义词典,选择该方法能够较为精确地将句子进行分词。

(2)词语向量化。词的分布式表示具有非常强大的表征能力,可以将每个词语之间的相似度用空间向量表示出来。所谓词语向量化就是将词语处理成分布式词向量的形式。目前比较主流的形成分布式词向量的方式是Word2Vec。结合各大中文语料库,利用Word2Vec相关技术,可以得到词向量模型,之后将经过分词的词语输入到该词向量模型中,从而获得每个词的词向量。

表1 不同方法下相关文献及改进的卷积记忆神经网络模型的贡献和研究重点

图1 基于改进的卷积记忆神经网络的文本情感分类步骤

(3)生成词向量矩阵。一段文本经过分词,并词向量化后,会形成一个N×m的词向量矩阵。其中,N表示文本分词后词语的个数,m表示词向量的维度。由于每个文本生成的词向量个数不同,故将文本转换为词向量矩阵之后,每个文本对应的词向量矩阵大小也不同。为了方便模型的训练需要把每个文本生成的词向量矩阵大小标准化,使得所有文本生成词向量矩阵的大小是相同的,处理方式:n=avgN+2×stdN。其中,n为词向量矩阵大小标准化后含有词语的个数;avgN为所有文本分词后词语个数n*的平均值;stdN为所有文本分词后词语个数n*的标准差。

然后对文本生成的词向量矩阵进行处理,大小不足的前面填充0,超长的进行修剪。这样获取的n×m词向量矩阵可以涵盖95%的样本。

1.2 改进的卷积记忆神经网络

卷积神经网络可以通过局部连接、权值共享、下采样来减少参数的使用,提升模型的鲁棒性(robusrness),其基本实现步骤分为输入层、卷积层、池化层和分类器层。卷积神经网络在文本情感分类任务上可以快速挖取对情感分类有利的局部特征词语,然而如果单独使用卷积神经网络进行文本的情感分类,就容易忽略文本上下文之间的时序问题,对分类结果产生一定的影响。

双向长短期记忆(LSTM)神经网络由前向LSTM神经网络与后向LSTM神经网络组合而成。两者在自然语言处理任务中常被用来建模上下文信息,通过双向LSTM神经网络可以更好地捕捉双向的语义依赖。因此,笔者使用双向LSTM神经网络作为模型的一部分,从而弥补卷积神经网络的不足。

将卷积神经网络获取局部信息特征的功能和双向LSTM神经网络获取全文信息特征的功能结合起来,形成改进的卷积记忆神经网络,进而提高文本特征的提取能力。改进的卷积记忆神经网络步骤如图2所示。

图2 改进的卷积记忆神经网络步骤

(1)输入层。输入层后是两个不同的并行神经网络,卷积神经网络和双向LSTM神经网络要求的输入数据维度不同:卷积神经网络要求一个三维的输入,而双向LSTM神经网络要求一个二维的输入。文本进行数据预处理后生成的是二维矩阵,因此需要利用reshape函数调整词向量矩阵的维数。

(2)卷积层。将文本以词向量矩阵Rn×m的形式作为输入,其中n为词向量矩阵大小标准化后所含词语的个数,m为词向量的维度,xi∈Rn×m(i≤n)表示词向量矩阵中第i个词的词向量。xi:j=xi⊕xi+1⊕…⊕xj,表示在词向量个数为n的句子中第i个词语到j个词语的词向量的拼接。卷积过程的基本步骤如下:①参数设置。卷积层是卷积神经网络的重要部分,卷积核高度的选取对模型的分类准确率有很大的影响。卷积过程中组合使用不同高度的卷积核分别对词向量矩阵进行卷积,可以增加文本特征提取的多样性,获取更多的语义,进而提高文本情感分类的准确率。因此卷积核高度h、不同高度的卷积核的组合种类d、卷积核的数量q(笔者将不同高度的卷积核数量都设置为q,即若有3种不同高度的卷积核存在,那么总的卷积核数量为3q)都会影响模型的训练效果,需要通过实验获取这些参数的最佳值。②卷积运算及特征图获取。特征图中的一个特征点ci,是由卷积核在高度为h的窗口xi:i+h-1经过卷积运算后得到的结果,即ci=f(w·xi:i+h-1+b),其中b为偏置项,f为非线性激活函数。

卷积核每移动一步,对整个输入矩阵xi:j逐个窗口{x1:h,x2:h+1,…,xn-h+1:n}进行卷积,输出得到特征图c=[c1,c2,…,cn-h+1]。因此使用卷积核数量为q、大小为h×m的卷积核对输入的词向量矩阵进行卷积后,得到的特征图大小为(n-h+1)×1×q。

(3)动态k-max池化层。池化层的作用是对卷积得到的特征进行采样。最常用的池化策略有两种:最大池化和平均池化。最大池化能够提取池化窗口中最显著的特征,因此可以刻画整个句子的某些含义,对于预测分类更有意义。然而使用最大池化策略会导致某些同样重要的信息丢失,笔者提出动态k-max池化策略来弥补最大池化的缺陷。所谓动态k-max是指不同大小的特征图,最大池化后提取的特征数k是不同的。卷积核的高度越低,特征图就会越大。对于较大的特征图,在采样过程中可以考虑更多的采集特征,这样可以保留更多有用的信息,此时可以将池化窗口设置得小一点,以便提取更多的特征。

(4)时序层 。将双向LSTM神经网络作为时序层,获取上下时序信息。利用输入门、记忆门、输出门决定哪些信息需要遗忘、哪些信息需要记忆、哪些信息作为输出,进而对记忆单元进行状态维护。将前向传递的最后一个输出向量和后向传递最后一个输出向量进行拼接并作为最后的特征获取,输入分类器层。

双向LSTM神经网络隐藏层的单元数量设置,是影响实验结果的一个重要参数。当双向LSTM神经网络隐藏层单元数量设置为a时,则时序层输出特征图大小为n×2a。

1.3 模型训练

2 实验分析

2.1 实验数据准备

目前文本情感分析语料大多采用英文语料,笔者研究的是中文文本情感挖掘问题,因而采用中科院谭松波博士公布的中文酒店评论ChnSentiCorp-Htl-ba-6000作为数据来源[16],其中包含正面评论和负面评论各3 000条,并进行10折交叉验证。ChnSentiCorp 数据集样例如表2所示。

表2 ChnSentiCorp 数据集样例

2.2 数据预处理

(1)分词。对于一段文本,首先去掉每个样本的标点符号,然后用“结巴”中文分词将所有文本数据进行分词,得到的相关统计数值如表3所示。

表3 分词后评论文本的相关数值统计情况

(2)词语向量化。笔者使用北京师范大学中文信息处理研究所与中国人民大学DBIIR实验室的开源“chinese-word-vectors”中知乎Word+Ngram的词向量模型,该词向量模型是由Word2Vec中Skip-Gram算法结合知乎问答的中文语料训练得到的。将经过分词后的词语输入到词向量模型中,可以生成300维的词向量。

(3)生成词向量矩阵。根据数据集分词后的统计结果,计算得到词向量矩阵大小标准化后词向量个数n=244。因而,每条评论数据经过预处理后都会生成大小为244×300的词向量矩阵。

2.3 改进的卷积记忆神经网络

2.3.1 输入层

将6 000个大小为244×300的词向量矩阵作为改进的卷积记忆神经网络的输入,且根据不同神经网络的需求调整输入的词向量矩阵的维度,调整后的矩阵如表4所示。

表4 调整维度后不同神经网络对应的输入矩阵

2.3.2 卷积层

(1)参数设置。首先使用单一高度的卷积核,根据卷积核高度的不同,对比改进的卷积记忆神经网络模型分类准确率的变化情况,如图3所示,可以看出当卷积核高度低于2时,会出现分类准确率低于80%的情况;而当卷积核高度达到4时,分类准确率出现最大值,之后就开始下降。

图3 不同卷积核高度的分类准确率

组合不同高度的卷积核对词向量矩阵进行卷积,有利于提升模型的效果。而从单一高度的卷积核实验结果中可以发现,卷积核高度处于2~10之间都能取得较好的效果。因此开展进一步实验,将高度在2~10之间的卷积核进行5组组合实验,实验结果如图4所示,可知当卷积核组合高度为(2,3,4)时,模型的分类效果最好。因此在接下来的对比实验中,将卷积核的组合高度设置为(2,3,4),即卷积核大小分别为2×300、3×300、4×300。

图4 不同卷积核组合高度的实验结果对比

卷积核数量的不同对模型分类准确率也有一定影响,因此笔者做了关于卷积核数量对模型分类准确率影响的实验,实验结果如图5所示,可以看出卷积核的数量越多,模型分类准确率越高。然而在实际训练过程中,当卷积核数量达到512个时,虽然分类准确率仍有较小的提高,但是模型的训练速度却大大下降,因而将卷积核的数量设置为256,即大小为2×300、3×300、4×300的卷积核各256个。

图5 不同卷积核数量的分类准确率

(2)卷积运算及特征图获取。对大小为244×300×1词向量矩阵,分别使用3种不同大小的卷积核各256个来获取特征图,并选取Relu作为非线性激活函数。经过卷积运算后分别得到不同大小的特征图,如表5所示。

表5 不同大小的卷积核经卷积运算的特征图结果

2.3.3 动态k-max池化层

对于不同大小的卷积核,卷积后的特征图大小不同,因此在池化层分别对应着不同的k值和池化窗口高度L,经过动态池化运算后生成的特征图大小也不同,具体结果如表6所示。

表6 不同高度的卷积核对应的池化结果

2.3.4 时序层

通过实验分析双向LSTM神经网络隐藏层的单元数量对卷积记忆神经网络分类准确率的影响,进而选择合适数量作为进一步对比实验的参数,实验结果如图6所示,可知当隐藏层单元数量达到16个时,分类准确率最高,之后随着单元数量的增加分类准确率下降,因此笔者将双向LSTM神经网络隐藏层的单元数量设置为16,进而时序层输出特征图大小为244×32。

图6 不同双向LSTM隐藏层单元数量的分类准确率

2.3.5 分类器层

将池化层获取的3个局部特征图和时序层获取的文本上下文时序特征图进行拼接,最后转化为列向量,拼接流程图如图7所示,将拼接后的引向量输入到分类器层,选择softmax作为分类函数。

图7 拼接流程图

2.4 模型训练结果对比

目前大多数研究采用准确率(accuracy)、精确度(precision)、召回率(recall)、F1测度(F1-measure)作为情感分类实验的模型性能评价指标。

(1)

(2)

(3)

(4)

式中:TP表示实际为正面评论、预测也为正面评论的样本数量;FN表示实际为正面评论、预测为负面评论的样本数量;TN表示实际为负面评论、预测也为负面评论的样本数量;FP表示实际为负面评论、预测为正面评论的样本数量。

笔者通过实验对比卷积神经网络、双向LSTM神经网络、卷积记忆神经网络、改进的卷积记忆神经网络这4个模型的性能,4种模型都在中科院谭松波博士公布的中文酒店评论ChnSentiCorp-Htl-ba-6000数据集上进行实验。4种模型分类准确率对比曲线如图8所示,显示了各模型迭代次数和分类准确率,可以看出改进的卷积记忆神经网络在第6次迭代时就已经开始收敛,并且分类准确率达到92.41%;其他3种模型分别在第11次、第13次、第7次迭代开始收敛,但分类准确率都不如改进的卷积记忆神经网络。这说明改进的卷积记忆神经网络模型在分类准确率上优于其他3种模型。

图8 4种模型分类准确率对比曲线

笔者进一步实验,对比4种模型的准确率、精确度、召回率、F1测度,模型分类结果如表7所示。由表7可知,改进的卷积记忆神经网络在准确率、精确度、召回率、F1测度4方面都优于其他3种方法。同时也对卷积神经网络、双向LSTM神经网络、卷积记忆神经网络这3个模型在其相关文献中的结果进行了展示。由于相关文献中使用的数据集的不同,因而实验结果与笔者实验结果存在差异。但总体来看,改进的卷积记忆神经网络的性能还是有较大的提升。这是因为卷积神经网络主要是对于局部特征的提取,双向LSTM神经网络是对上下文特征的提取,而改进的卷积记忆神经网络结合了两个模型的优点,因此在性能上有很大的提升。同时,改进的卷积记忆神经网络对池化层进行了动态处理,保留了更多的显著特征,使模型性能又进一步提升。

表7 模型分类结果性能对比 %

3 结论

笔者针对文本情感分类问题,提出改进的卷积记忆神经网络模型,该模型通过融合卷积神经网络和双向LSTM神经网络的优点,并在池化层根据卷积核的大小动态调整池化窗口的大小,以达到提取更多显著特征的目的。此外,笔者利用中科院谭松波博士提供的6 000条带有标注的酒店评论数据集,进行文本情感分类实验。实验结果表明:改进的卷积记忆神经网络在准确率、精确度、召回率、F1测度4个性能评价指标上都优于卷积神经网络、双向LSTM神经网络、卷积记忆神经网络3个经典的深度学习模型,而且收敛速度也快。因此,笔者提出的改进的卷积记忆神经网络模型对文本情感分类问题具有一定的可行性和有效性。

猜你喜欢
准确率卷积向量
向量的分解
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
健康之家(2021年19期)2021-05-23 11:17:39
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
聚焦“向量与三角”创新题
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法
向量垂直在解析几何中的应用