随着Web2.0和移动设备通讯地不断发展, 越来越多的人喜欢在微博、购物网站等社交平台上参与互动与交流, 互联网上的文本信息也因此呈现出迅猛增长的趋势. 大量文本信息通常体现了个人的观点和情感的表达, 若能够利用分析技术准确挖掘出其中所包含的信息价值并充分利用, 无论是对国家在舆情控制方面还是对企业在决策制定方面都有着巨大的作用. 因此, 在当前充斥着海量文本数据的网络环境下, 文本情感分析是一项十分重要的工作.
面对文本情感分析问题, 很多学者都提出了十分有效的方法. 根据研究的思路不同, 主要可以分为基于情感词典的方法和基于机器学习的方法[1, 2]. 基于情感词典的方法需要构造一个较为完善的词典对文本特征词进行情感色彩地判断, 比较适合应用于传统的规范性文本, 而对于网络上的频现新词和缩略词的短文本分析效果则不够理想, 需要耗费大量的人力、时间以及财力等诸多成本去更新、维护词典; 而基于机器学习的方法则需要人工构造特征, 无法得到文本包含的句法和语义信息, 是一种较为浅层的研究方法, 无法学习复杂的函数, 泛化能力较弱[3, 4]. 随着互联网中的海量文本信息和语言多样化的表达的变化, 以上这两种方法已经难以有效地解决企业决策的需求了. 在2006年Hinton等人提出了深度学习方法经过改进以后能够较好地弥补上述方法的缺陷, 它是一种端到端的技术, 无需人工参与便能够以大脑处理信号的机制自发的从原始数据中学习到特征信息, 从而从更高层面上对文本进行抽象表达[5]. 深度学习还被广泛地运用到中文分词[6]、机器翻译[7]等NLP领域中. Kim首次运用深度学习中的卷积神经网络模型(Convolutional Neural Network, CNN)实现了英文文本的情感分类, 实验的最终效果要明显优于传统的机器学习算法[8]. 文献[9]在普通CNN基础上提出了动态池化, 构建了DCNN模型来学习句子结构以优化情感分类器的性能. 文献[10]在CNN模型中引入注意力机制(Attention Mechanism)构建WACNN模型, 在MR5K和CR数据集上证明了此方法可提高模型的情感分类准确率. 文献[11]将CNN模型同长短期记忆神经网络模型(LSTM)进行结合, 采用了联合深度学习方法对影视评论进行情感分类, 此方法对训练语料存在着极大的依赖性. 文献[12]研究了不同表达方式的文本对CNN模型情感分类性能的影响.
基于以上分析发现, 很多学者在基于CNN模型进行改进后对文本进行情感分类研究时只考虑了特征词语语义信息对文本情感分类的作用, 而忽略了词语本身所具备的与情感信息紧密相关的特征影响, 如词语本身的情感色彩、词性等. 此外, 对于中文文本数据的研究都需要经过分词操作, 不同于英文文本中各词语以空格形式隔开, 中文文本中各词语是连接在一起的, 这就导致对中文文本分词时存在着分词错误的问题, 从而进一步影响词向量的训练质量. 因此, 本文将在经典CNN模型的基础上, 提出了一种融合情感特征的双通道卷积神经网络模型SFD-CNN (Double channel Convolutional Neural Network model fused with Sentiment Feature), 在设置实验文本数据的向量化的同时考虑了文本特征词本身的情感信息和分词错分的影响, 从而获取更多的情感信息, 以期在情感分类任务中达到更好的分析效果.
1 词向量模型在使用相关算法对文本数据进行情感分类时需要先把文本转换成数值型使其能被工具识别. 在进行文本数值化表示时应当满足以下要求: 该表示方法既可以很好地表示文本语义内容又可以将各文本内容区别开来. 目前, 常用的文本表示模型有布尔模型、向量空间模型(Vector Space Model, VSM)以及词向量模型等[13]. 布尔模型较为简单, 也容易让人理解, 但是其只关注某项特征是否在文本中出现过, 而忽视了其与上下文词语之间的相关性; 向量空间模型在一定程度上表达了特征词项间的语义信息, 但其维度大小同文本特征集个数线性相关很容易造成维度灾难. Hinton提出的Word Embedding (词向量)方法正好弥补了上述方法的不足.
词向量主要思想就是将词语从高维稀疏的空间中映射至低维空间, 并在这一过程中充分考虑词语的语义信息, 非常适合用来表示文本的抽象特征[14]. 2013年, Google工程师Mikolov等人将词向量训练工具Word2Vec进行了开源, 由此词向量逐渐为人们熟知. Word2Vec中主要包含了两种训练词向量的模型: CBOW模型与Skip-Gram模型, 这两种模型都是基于Bengio的3层神经网络语言模型NNML而提出的. 相比于NNML, Word2Vec对词向量的训练结果进行了一定的优化, 同时还通过采用Negative Sampling或Hierarchical Softmax等方法使得模型的计算复杂度在一定程度上得以降低[15]. CBOW模型与Skip-Gram模型都是由3层结构构成: 输入层、映射层和输出层, 其模型结构如图1所示.
从图1可以看出, CBOW模型是以输入某一词语的上下文词向量来计算词向量的. 而Skip-Gram模型的思想则与CBOW模型相反, 其是通过输入某一词语向量来计算出其上下文词语的词向量. 但它们总体上的思想相同, 即上下文相似, 其目标词汇也会相似[16].
2 融合情感特征的双通道卷积神经网络情感分类模型综合考虑现有的情感分类研究常常忽略特征词本身所携带情感信息和中文分词总存在着被错分两方面问题, 本文对经典CNN模型加以改进, 构造了一个融合情感特征的双通道卷积神经网络情感分类模型, 以期在情感分类任务中达到更好的效果. 具体的改进措施如下: 首先在预先训练好的语义词向量上加入该特征词语自身所携带的情感信息特征, 使得融合后的特征词向量更能准确表达其所含有的情感信息; 然后在原有的CNN模型基础上构造出另一条输入通道, 并把相应的以中文文本中最小单位字为基础训练出来的字向量为输入源, 以使模型能够在解决分词错误问题的同时又能进一步地从不同方面提取到更多的有用信息特征.
2.1 融合情感特征的词向量以词向量表示的文本所包含的原始文本信息是CNN模型进行情感分类的基础, 为了进一步丰富词向量所携带的文本情感信息, 本文将在词语的语义向量 上引入会对文本情感类别判定产生一定影响的诸如词语的情感极性、词性等相关情感特征, 形成融合情感特征(sentiment feature)的词向量. 对于额外的情感特征信息本文将使用一个 维的向量 来表示, 各维度分别代表着某一情感特征属性, 而且只有0、1两个取值, 0表示该词语没有该维度相对应的特征, 1代表的含义则与0相反. 其中, 各情感特征设计方法如下.
1) 词语情感极性特征. 词语情感极性特征是针对那些本身就能够表达某些情感的词汇. 因为词汇所携带的情感信息在一定程度上会影响句子的情感倾向性. 对于词语这一情感特征的提取, 本文主要是依据情感词典. 而情感词典的形成主要是以现有情感词典资源为基础, 然后向其中加入一些未包含在内而在网络中进行商品评论时又常用的情感词语, 具体形成过程如图2所示.
2) 词语词性特征. 在无监督的情感识别或抽取的任务中, 许多学者通常都是以形容词、动词、副词、名词及其相应的短语作为特征来展开研究的. 涂海丽也指出上述词性的词语在对中文文本进行情感分析时发挥着十分重要的作用[17]. 所以本文也将以上谈及的词性纳入词语的情感信息特征当中, 并借助jieba分词中的词性标注功能对实验文本数据在进行分词的同时也进行词性的标注, 然后在构造情感特征向量时对词语的这些特征进行数值化表示.
3) 否定词特征. 否定词语在情感分析任务中发挥着十分重要的作用, 它的使用甚至能使文本情感倾向发生彻底转变. 对于否定词的判别, 本文将借助HowNet情感词典中的否定词表.
4) 转折词特征. 包含有转折词的评论文本语句通常表达的情感信息都是不单一的. 转折词将文本分成了前后两个部分, 它们所要表达的含义往往是相对或者相反的, 而且后部分分句一般才是表达者的重心. 邸鹏等也通过实验证明了对转折句式的考虑提高了基于NB算法的情感分类器的精度[18]. 因此本文将转折词也作为词语的情感属性特征, 并结合文本语料整理出常用的转折词表.
经过前文内容的分析, 代表特征词项 额外的情感特征信息向量可以简单地被表示成一个8维的向量: [积极情感词, 消极情感词, 形容词, 副词, 动词, 否定词, 转折词, 名词], 而各维度下的具体取值则分别代表着该特征词项
得到词语的情感特征向量后, 便需要将其与相应的词语语义向量进行融合. 本文采取前后串接操作将两者融合, 得到拓展后的词向量
${x_{\rm {exp and}}} = x \oplus {x_{\rm {sen}}}$ | (1) |
其中,
对于字向量
在前面两小节的介绍下, 本文基于卷积神经网络算法所设计的情感分类模型结构如图4所示. 模型由输入层、卷积层、池化层以及输出层构成.
1) 输入层: 此层的作用主要是将评论文本数据用Word2Vec训练出来的向量数值化, 在本文所提出模型中主要表现为将评论文本分别转换成融合情感特征的词向量矩阵
2) 卷积层: 卷积层的作用就是通过对输入的文本矩阵进行卷积运算获取能够代表文本信息的特征, 降低向量的维度. 在经典的CNN结构中, 该层一般只含有一种类型的卷积核, 由于本文研究的是文本数据, 前后的特征词语都存在着一定的联系, 为了能够同时获取不同粒度下文本所表现的特征, 本文将在模型各通道下的文本矩阵上使用窗口大小不同的卷积核组合. 如在图4所示的模型中采用的是窗口大小分别为3、4、5的卷积核组合对评论文本进行卷积操作.
3) 池化层: 池化层是以卷积层输出的特征图为输入的, 本文在该层分别对两个通道下的特征图进行最大池化处理, 得到更低维度的文本特征, 然后将两个通道下池化后的文本特征进行拼接形成最能代表文本的最终特征向量.
4) 输出层: 输出层的功能则是根据池化层输出的最终特征向量对文本进行情感类别的划分, 本文在此层主要是将池化层后得到的特征图以全连接的形式进行连接然后输入到Softmax分类器中, 将文本分别划分为积极情感和消极情感两种类别.
此模型分类结构在预先训练好的语义词向量中融入了情感信息特征, 从特征词本身所携带的情感信息和正确识别中文分词方面出发进行了改进和综合分析, 即在原有的CNN模型基础上构造了另一条输入通道, 并把相应的以中文文本中最小单位字为基础训练出来的字向量为输入源, 以使模型能够在解决分词错误问题的同时又能进一步地从不同方面提取到更多的有用信息特征, 从而得到了在情感分类任务中更好的预期效果.
3 实验及分析 3.1 实验环境本文在进行情感分类实验时的环境主要如下: 操作系统是64位的Windows 10家庭中文版, CPU为Intel core i5-8250U, RAM为8 GB, 使用的编程语言为Python3.6, 主要涉及到的类库有Tensorflow、sklearn、numpy等, 开发工具为Pycharm.
3.2 实验数据在本文此次研究中, 所使用到的数据可分成两部分: 一部分是用来训练和测试情感分类器模型的评论文本数据, 并且带有情感色彩标注. 另一部分则是用来训练词语语义向量的大规模无标记的Wiki中文数据集. 其中, 评论文本数据是通过Python语言编写相应爬虫程序从京东商城的官网上获取的, 主要包括了手机、笔记本电脑、水果、书籍、服装、洗发水6个领域的评论文本, 共有12000条, 并且各领域下积极评论和消极评论都为1000条; 而Wiki中文数据集是从Wiki官网上下载的中文压缩包, 大小为1.64 GB. 文献[19]指出使用大规模的文本语料集训练出来的词向量较符合中文语言模型; 文献[20]也表明通过此种方法训练出来的词向量可以使模型的性能得到有效改善. 因此, 本文将使用Word2Vec工具中的Skip-Gram模型训练Wiki中文数据集以获得高质量的词向量, 然后以此对评论文本中的特征词项初始化.
经过对语料库的训练后, 便可以得到相应维度下的词语特征语义向量, 各词向量间在语义上具有一定的关联性. 如在维度为100的情况下, 根据训练后的词向量模型, 可获取到词语“购买”的语义相似词列表和对应的相似度, 具体如表1所示, 该词语的向量表达如图5所示. 接下来, 则在语义向量的基础上根据2.1小节介绍的方法构造融合情感特征的词向量, 同时根据2.2小节的介绍使用Skip-Gram模型训练评论文本的字向量.
3.3 实验参数
实验时对模型中各个参数值的设定直接影响着实验结果, 为了使模型达到较好的性能, 就需要对模型中的各个参数进行不断地调整与优化. 表2展示了本文在进行调优时的各参数取值范围和最终的取值. 其中, 参数取值范围表示在研究卷积神经网络模型不同参数对中文文本情感分类效果的影响时所取的数值, 模型参数值则是依据网格搜索的调参方法得到的本文所提出模型分类准确率最高时的取值. 各参数在本文实验数据集中的表现具体如图6所示.
3.4 实验设置及结果分析
为了验证本文所提出模型的有效性, 本小节将依据传统的卷积神经网络模型、融合情感特征信息的卷积神经网络模型、双通道卷积神经网络模型以及本文所提出模型在相同的评论数据集上进行文本情感分类实验, 而且各模型的参数值设定一致, 如表2所示. 此外还会将经典传统机器学习方法支持向量机的实验结果纳入对比分析范围中. 其中, 各模型的实验介绍如下所示:
1) 支持向量机模型: 记为SVM. 此模型的输入文本以预先训练好的词向量初始化.
2) 传统的卷积神经网络网络模型: 记为CNN. 此模型为典型的CNN模型, 只有一个输入通道, 并使用本预先训练好的词向量对实验文本数据初始化.
3) 融合情感特征信息的卷积神经网络网络模型: 记为SF-CNN. 此模型结构同典型CNN一致, 但在对实验文本数据进行初始化时会加入文本特征的情感信息.
4) 双通道卷积神经网络模型: 记为D-CNN. 此模型具有两个输入通道, 其中一个输入通道初始化文本数据的方式同CNN模型, 另外一个则以预先训练好的字向量来初始化文本数据.
5) 本文所提出模型: 记为SFD-CNN. 此模型结构与D-CNN相同, 其中一个输入通道的文本初始化方式同SF-CNN模型, 另一个通道则是以预先训练的字向量来初始化文本.
上述模型在同一评论文本数据集上进行十折交叉验证, 并以10次实验结果的平均值来衡量模型的情感分类性能, 最终的实验结果如表3所示.
为了更为清晰地表达各实验结果的对比情况, 将表3中的数据图形化, 具体情况如图7所示. 其中, Precision+代表积极类文本的精准率, Recall+代表积极类文本的召回率, F1+代表积极类文本的F1值; Precision−代表消极类文本的精准率, Recall−代表消极类文本的召回率, F1−代表消极类文本的F1值; Accuracy代表文本的整体准确率.
结合表3和图7的实验结果可知, 常用的传统机器学习方法中基于词向量的SVM模型情感分类性能最差, 而且比同样基于词向量的CNN模型准确率低了2.15%. 这是因为CNN模型比SVM模型具有更高的学习能力, 可从词向量中提取到更为抽象的深层次语义信息. 可见, 本文提出使用卷积神经网络模型对中文短文本进行情感分析是有效可行的. 对比CNN和SF-CNN两个模型的结果易知, 融入特征词语情感信息的SF-CNN模型性能相较于CNN模型有所提升, 其在F1+、F1−和准确率上的取值分别高于CNN模型的1.14%、0.67%、0.45%. 这表明在文本特征词语的语义向量中融入的情感信息在模型进行情感分类时为其提供了额外的有效信息, 使模型能够提取到更为有用的、辨别情感类别的文本特征. 对于双通道输入的D-CNN模型来说, 其F1+、F1−和准确率分别为92.54%、92.38%、92.47%, 所达到的情感分类效果也要优于CNN模型, 主要是由于该模型从字向量方面在一定程度上弥补了中文分词错误对模型带来的不利影响, 而且以双通道的形式输入文本信息, 可以提取到更为全面的敏感信息. 进一步, 从图7中易知, SFD-CNN模型的情感分类性能最为优越, 无论是在F1+、F1−的值上还是准确率上, 其值都要比其他模型大. 这说明综合考虑SF-CNN模型和D-CNN模型的改进之处可进一步提升情感分类效果. 与最初的CNN模型相比, 其F1+值提高了2.07%, F1−值提高了2.32%, 准确率提高了2.19%.
4 结论
本文针对在情感分类研究中传统机器学习模型的缺陷, 提出使用深度学习中的卷积神经网络模型来实现对短文本的情感分类, 同时也针对以往研究中文本情感特征提取的不足以及忽视分词错误对情感分类的影响, 对经典的卷积神经网络模型进行改进, 提出一种融合情感特征的双通道卷积神经网络模型SFD-CNN, 并设置对比试验, 将其与CNN、SF-CNN、D-CNN以及SVM模型进行比较. 最终的实验结果表明SFD-CNN模型的情感分类性能最优, 无论是准确率还是F1+、F1−值都要高于其他模型. 由于本文所使用的CNN模型都是单层结构, 无论是卷积层还是池化层都只有一层, 所以接下来可以进一步研究多层结构的CNN模型对文本情感分类的效果.
[1] |
马力, 宫玉龙. 文本情感分析研究综述. 电子科技, 2014, 27(11): 180-184. DOI:10.3969/j.issn.1007-7820.2014.11.052 |
[2] |
首欢容, 邓淑卿, 徐健. 基于情感分析的网络谣言识别方法. 数据分析与知识发现, 2017(7): 44-51. |
[3] |
王根生, 黄学坚, 闵潞. 多元特征融合的GRU神经网络文本情感分类模型. 小型微型计算机系统, 2019, 40(10): 2130-2138. DOI:10.3969/j.issn.1000-1220.2019.10.020 |
[4] |
申昌, 冀俊忠. 基于双通道卷积神经网络的文本情感分类算法. 模式识别与人工智能, 2018, 31(2): 158-166. |
[5] |
黄贤英, 刘广峰, 刘小洋, 等. 基于word2vec和双向LSTM的情感分类深度模型. 计算机应用研究, 2019, 36(12): 3583-3587, 3596. |
[6] |
金宸, 李维华, 姬晨, 等. 基于双向LSTM神经网络模型的中文分词. 中文信息学报, 2018, 32(2): 29-37. DOI:10.3969/j.issn.1003-0077.2018.02.004 |
[7] |
熊德意, 李军辉, 王星, 等. 基于约束的神经机器翻译. 中国科学: 信息科学, 2018, 48(5): 574-588. |
[8] |
Kim Y. Convolutional neural networks for sentence classification. Proceedings of 2014 Conference on Empirical Methods in Natural Language Processing. Doha, Qatar. 2014. 1746–1751.
|
[9] |
Kalchbrenner N, Grefenstette E, Blunsom P. A convolutional neural network for modelling sentences. Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics. Baltimore, MD, USA. 2014. 655–665.
|
[10] |
王盛玉, 曾碧卿, 商齐, 等. 基于词注意力卷积神经网络模型的情感分析研究. 中文信息学报, 2018, 32(9): 123-131. DOI:10.3969/j.issn.1003-0077.2018.09.017 |
[11] |
杨艳, 徐冰, 杨沐昀, 等. 一种基于联合深度学习模型的情感分类方法. 山东大学学报(理学版), 2017, 52(9): 19-25. |
[12] |
Zhao X, Zhao JB, LeCun Y. Character-level convolutional networks for text classification. Proceedings of the 28th International Conference on Neural Information Processing Systems. Montreal, QC, Canada. 2015. 649–657.
|
[13] |
骆梅柳. 文本表示模型在文本挖掘中的应用. 现代信息科技, 2019, 3(7): 24-25. DOI:10.3969/j.issn.2096-4706.2019.07.009 |
[14] |
Hu BT, Tang BZ, Chen QC, et al. A novel word embedding learning model using the dissociation between nouns and verbs. Neurocomputing, 2016, 171: 1108-1117. DOI:10.1016/j.neucom.2015.07.046 |
[15] |
Mikolov T, Chen K, Corrado G, et al. Efficient estimation of word representations in vector space. arXiv: 1301.3781, 2013.
|
[16] |
吴佳昌, 吴观茂. 基于依存关系和双通道卷积神经网络关系抽取方法. 计算机应用与软件, 2019, 36(4): 241-246, 267. DOI:10.3969/j.issn.1000-386x.2019.04.038 |
[17] |
涂海丽, 唐晓波. 基于在线评论的游客情感分析模型构建. 现代情报, 2016, 36(4): 70-77. DOI:10.3969/j.issn.1008-0821.2016.04.013 |
[18] |
邸鹏, 李爱萍, 段利国. 基于转折句式的文本情感倾向性分析. 计算机工程与设计, 2014, 35(12): 4289-4295. DOI:10.3969/j.issn.1000-7024.2014.12.045 |
[19] |
李平, 戴月明, 吴定会. 双通道卷积神经网络在文本情感分析中的应用. 计算机应用, 2018, 38(6): 1542-1546. |
[20] |
Socher R, Chen DQ, Manning CD, et al. Reasoning with neural tensor networks for knowledge base completion. Proceedings of the 26th International Conference on Neural Information Processing Systems. Lake Tahoe, CA, USA. 2013. 926–934.
|