基于主题流与深度学习的情感分析算法
2018-10-29刘纳王新
刘纳 王新
摘要:基于机器学习的情感分类方法已经取得了较大进展,但在大量情感分类方法中,往往都是结合词嵌入和传统的机器学习方法,缺乏对文本主题以及时序关系等因素的有效利用。针对上述问题,提出了一种基于主题流与深度学习的情感分类算法,通过分析文本的主题分布,并引入时序关系,在此基础上利用适合的长短记忆神经网络的深度学习方法进行情感分类。实验证明,基于主题流与深度学习的情感分类算法性能较好。
关键词:NLP;情感分析;深度学习;主题流
DOIDOI:10.11907/rjdk.181487
中图分类号:TP312
文献标识码:A 文章编号:1672-7800(2018)008-0028-03
英文摘要Abstract:At present,sentiment classification method based on machine learning has made great progress,but among the a large number of sentiment classification methods,word combination and traditional machine learning methods are often used,and there is a lack of effective use of such factors as text topics and sequence relationships in a large number of sentiment classification methods.In order to solve the problems,this paper presents a sentiment classification algorithm based on topic flow and deep learning,it analyzes the topic distribution of the text and introduces the sequence relationship and uses deep learning methods such as long short-term memory neural networks to classify the sentiment.Experiments show that the sentiment classification algorithm based on topic stream and deep learning proposed in this paper has better performance.
英文关键词Key Words:NLP; sentiment analysis; deep learning; topic flow
0 引言
随着互联网及电子商务的快速发展,人们在线上的活动越来越多,产生了大量带有主观色彩的信息。这些带有主观性的信息可以是用户对某次活动或服务的评价,或者是某新闻事件或文章的观点等,对这些信息进行挖掘,可使政府部门了解相关舆情,辅助决策,对用户进行个性化推荐以及对虚假评论进行检测。仅靠人工对这些信息进行分析将耗费大量的人力物力和时间,通过计算机进行数据挖掘和分析是一个热点,而情感分析是其中重要的分支[1-4]。
目前,情感分析的主要研究方法是传统的机器学习分类算法,如贝叶斯分类、SVM以及聚类等[5-6],这些算法主要分监督学习、无监督学习[7-8]。监督学习需要靠大量的人工标注,代价较高。相反,无监督学习不需要人工标注数据,可降低标注代价,但效果完全依赖于训练结果,无法有效提高性能。
本文对文本信息进行了深入研究,通过挖掘文本的主题分布和时序关系,采用深度学习方法进行情感分类。
1 相关工作
情感分析从2002年提出就受到广泛关注,在中英文情感文本中得到广泛应用,特别在线上评论和新闻评论的情感分析有了很大的发展。机器学习在情感分析中的应用受到研究者青睐[9-10]。Sida等[11]提出了采用朴素贝叶斯和SVM相结合的方法,实验证明该方法取得了不错的结果。Deriu等[12]提出利用神经网络模型进行情感分析,與其它传统方法相比效果较好。Catal等[13]提出了一种基于模糊聚类的方法,它是一种无监督学习方法,在减少人工标注的情况下取得了满意的准确率。Xia等[14]提出了一种集成技术,集合词性和词关系等多种特征,并结合贝叶斯、信息熵以及SVM等方法进行广泛的对比试验,取得了一定进展和较好的实验结果。本文研究了基于机器学习的情感分析方法,如朴素贝叶斯、支持向量机(SVM,Support Vector Machines)、神经网络模型[15]以及聚类等。通过分析文本特征,将文本映射为特征向量的表示形式,然后通过机器学习模型进行分类和预测。
文本分析的一个重要研究方向就是自然语言处理。词是文本的基本组成单元,主题分析(LDA,Latent Dirichlet Allocation)是其中一个重要分支[16],不少研究者在该领域进行了大量的研究工作。王伟等[17]提出基于LDA主题模型的评论文本情感分类。该文结合情感词典,提出情感词和上、下文,然后利用LDA挖掘情感特征,最后利用机器学习实现情感分类。该方法降低了情感特征的向量维度,取得了很好的分类效果。黄发良等[18]提出基于多特征融合的主题情感分析方法,挖掘多种文本特征进行情感分析。本文研究了主题分析在文档中的应用,并在此基础上结合深度学习方法应用于情感分析。
2 算法理论
2.1 LDA主题分析模型
LDA是Blei等[19]于2003年提出的基于贝叶斯概率的主题模型,该模型属于无监督的机器学习模型,目的是以无监督的学习方式去挖掘文本中包含的主题信息,即“Topic”。该算法实质就是利用文本中词语的共有隐含特征分析文本的Topic结构,主要对“一词多义”和“一义多词”两种语言现象进行建模,模型表示如图1所示。
圖1中,K表示主题个数,M表示文档总数,Nm 表示第m篇文档的单词总数,β是每个主题Topic中词的多项分布的Dirichlet先验参数,α是每个文档下Topic的多项分布Dirichlet先验参数,zm,n是第m篇文档中第n个词的主题,wm,n是m篇文档中的第n个词。本文使用的主题模型LDA算法步骤如下:
LDA算法:
算法输入:分词之后的文档,通常一篇文章一行,每行包含若干词。
主题数K,超参数α和β
算法输出:
每篇文档的各个词所属的主题,model-tassign.txt
每篇文档的主题概率分布:model-theta.txt
每个主题下的词概率分布:model-phi.txt
每个主题下词概率从高到低排序:model-tword.txt
2.2 深度学习模型
使用长短期记忆神经网络(LSTM,Long Short-Term Memory)作为本文算法的深度学习部分。LSTM最早由Hochreiter等\[20\]于1997年提出,是一种特殊的循环神经网络(RNN,Recurrent neural network),可以学习长期依赖信息。后来该算法得到了改良,在许多问题上得到应用。
所有 RNN 都具有一种重复神经网络模块的链式形式。在标准的 RNN 中,这个重复模块只有一个非常简单的结构,如一个 tanh 层,见图2。
LSTM 同样是这样的结构,但是重复的模块拥有不同的结构。不同于RNN单一神经网络层,LSTM有4个,以一种非常特殊的方式进行交互,见图3。
2.3 基于主题流与深度学习的情感分析算法
在上述基础上本文提出基于主题流与深度学习的情感分析算法,简称TFDL-SA算法。本算法引入时序关系,首先对中文文本进行分词,考虑词的时序关系,利用LDA主题模型生成主题流,即Xi=t1,t2,…tn。其中Xi表示第i篇文档的主题流,tj表示文档中第j个词的主题。文档对应的标签向量矩阵为y=[l1,l2,…,lm],其中li表示每篇文档主题流Xi对应的标签。然后将M篇文档的主题流与标签X,y作为LSTM深度学习模型的输入特征,完成深度学习分类。
TFDL-SA算法步骤如下:
输入:(X,y),其中X表示文档的主题流,y表示文档对应的标签
输出:分类结果,1表示积极,0表示消极
jieba分词,生成带有次序的词字典
LDA主题生成模型,生成文档的主题流向量表示
while 不收敛 doLSTM训练end while
3 实验结果及分析
为验证算法性能设计如下实验:数据集选用斯坦福大学Stanford Sentiment Treebank标准数据集,共两种:一种是标注了两种情感的数据(negative,positive);一种是标注了5种情感的数据(very negative,negative,neutral,positive,very positive),选用9 645个训练集,2 210个测试集。
本实验设置二分类和五分类两种场景,使用准确率(accuracy)、综合评价指标(F-score)作为衡量指标。实验过程中加入对比实验,分别是结合词嵌入单纯使用LSTM算法进行分类(简称Basic LSTM)、使用主题流分别与CNN和RNN算法进行分类(分别简称Topicflow + CNN和Topicflow + RNN)和本文提出的TFDL-SA算法分类。实验结果如表1和表2所示。
实验结果分析表明,本文提出的TFDL-SA算法在二分类和五分类时效果更好,准确率和F值都大于其它几种算法,原因是本文算法考虑了文本中词语所属主题以及时序关系,包含更多的词语本身词性、语义等信息。在深度学习训练时,使用LSTM可以更好地处理包含时间序列等信息的事件,多种因素结合使TFDL-SA算法具有较好性能。
4 结语
大量情感分类方法中缺乏对文本主题以及时序关系等因素的有效利用,为此本文提出了基于主题流与深度学习的情感分析算法。首先,该算法提出了主题流模式,引入文档中词的时序关系生成主题流,作为深度学习模型的输入特征;其次,深度学习使用长短期记忆神经网络,适合处理包含时间序列等信息事件。实验结果表明,本文提出的情感分析算法具有较好的性能,优于目前几种主流的算法分类结果。
本文基于主题生成模型和深度学习模型对情感分析进行了研究,但在词所属某个主题的选择上未进行进一步研究,下一步将研究不同主题选择对情感分析的影响。
参考文献:
[1] AKKAYA C.Sentiment classification[M].New York:Springer ,2014.
[2] GO A,BHAYANI R,HUANG L.Twitter sentiment classification using distant supervision[J].Cs224n Project Report,2009(6):168-172.
[3] MAZZONELLO V,GAGLIO S,AUGELLO A,et al.A study on classification methods applied to sentiment analysis[C].IEEE Seventh International Conference on Semantic Computing,2013:426-431.
[4] LAVANYA S K,VARTHINI B P.Sentiment classification of web opinion documents[C].International Conference on Electronics and Communication Systems.IEEE,2014:1-5.
[5] BESPALOV D,QI Y,BAI B,et al.Sentiment classification with supervised sequence embedding[C].European Conference on Machine Learning and Knowledge Discovery in Databases,2012:159-174.
[6] LI T,XIAO X,XUE Q.An unsupervised approach for sentiment classification[C].Robotics and Applications.IEEE,2012:638-640.
[7] 唐慧丰,谭松波,程学旗.基于监督学习的情感分类技术比较研究[J].中文信息学报,2007,21(6):88-94.
[8] 代大明,王中卿,李寿山,等.基于情绪词的非监督情感分类方法研究[J].中文信息学报,2012,26(4):103-108.
[9] 孙建旺,吕学强,张雷瀚.基于词典与机器学习的中文微博情感分析研究[J].计算机应用与软件,2014,31(7):177-181.
[10] XIA R,ZONG C,LI S.Ensemble of feature sets and classification algorithms for sentiment classification[J].Information Sciences,2011,181(6):1138-1152.
[11] WANG S,MANNING C D.Baselines and bigrams: simple,good sentiment and topic classification[C].Meeting of the Association for Computational Linguistics: Short Papers.Association for Computational Linguistics,2012:90-94.
[12] DERIU J,GONZENBACH M,UZDILLI F,et al.SwissCheese at SemEval-2016 Task 4: Sentiment Classification Using an Ensemble of Convolutional Neural Networks with Distant Supervision[C].International Workshop on Semantic Evaluation.2016:1124-1128.
[13] PHU V N,DAT N D,TRAN V T N,et al.Fuzzy C-means for english sentiment classification in a distributed system[J].Applied Intelligence,2017,46(3):717-738.
[14] XIA R,ZONG C,LI S.Ensemble of feature sets and classification algorithms for sentiment classification[J].Information Sciences,2011,181(6):1138-1152.
[15] 陈钊,徐睿峰,桂林,等.结合卷积神经网络和词语情感序列特征的情感分析[J].中文信息学报,2015,29(6):172-178.
[16] WEI X,CROFT W B.LDA-based document models for ad-hoc retrieval[J].International Conference on Neural Information Processing Systems ,2006(2):178-185.
[17] 王伟,周咏梅,阳爱民,等.一种基于LDA主题模型的评论文本情感分类方法[J].数据采集与处理,2017,32(3):629-635.
[18] 黄发良,冯时,王大玲,等.基于多特征融合的微博主题情感挖掘[J].計算机学报,2017,40(4):872-888.
[19] BLEI D M,NG A Y,JORDAN M I.Latent dirichlet allocation[J].J Machine Learning Research Archive,2003(3):993-1022.
[20] HOCHREITER S,SCHMIDHUBER J.Long short-term memory[J].Neural Computation,1997,9(8):1735-1780.
(责任编辑:杜能钢)