文本情感分析综述

2018-09-04 09:37刘爽赵景秀杨红亚徐冠华
软件导刊 2018年6期
关键词:机器学习

刘爽 赵景秀 杨红亚 徐冠华

摘 要:近年来,随着互联网和社交网络的发展,网络上文本信息迅速增长,对文本情感进行分析成为研究热点。根据文本情感分析方法的不同,总结了近年来文本情感分析的研究进展。将文本情感分析分为基于词典的方法和基于机器学习的方法两大类:基于词典的文本情感分析方法分为人工构建和自动构建两种;基于机器学习的文本情感分析方法分为基于贝叶斯算法、基于最大熵算法和基于SVM的文本情感分析3种。通过梳理国内外研究现状,对两类情感分析方法进行了深入分析,对文本情感分析进行了总结和展望。

关键词:文本情感分析;词典构建;机器学习;贝叶斯算法;最大熵算法;SVM

DOI:10.11907/rjdk.172640

中图分类号:TP3-0

文献标识码:A 文章编号:1672-7800(2018)006-0001-04

Abstract:In recent years, with the development of the internet and social networks, text information on the Internet has been increased rapidly, and sentiment analysis has become a research hotspot. According to the different methods of sentiment analysis, the research progress of sentiment analysis in recent years is summarized.Sentiment analysis is divided into dictionary-based methods and machine learning-based methods. The dictionary-based sentiment analysis methods are divided into two kinds: artificial construction and automatic construction. Machine learning-based sentiment analysis methods are divided into three kinds based on Bayesian algorithm, based on maximum entropy algorithm and sentiment analysis based on SVM. Through the research status at home and abroad, two kinds of sentiment analysis methods are deeply analyzed, and the sentiment analysis is summarized and forecasted.

Key Words:sentiment analysis; dictionary construction; machine learning; Bayesian algorithm; maximum entropy algorithm; SVM

0 引言

近年來,随着互联网和移动互联网的飞速发展,文本情感分析已经广泛应用于多个领域。例如,文本情感分析对于增加销售额和改善公司营销策略(通过跟踪客户评论和调查反馈),识别意识形态转变和分析政治战略规划趋势,甚至预测世界股票市场动态是有价值的。

文本情感分析通常利用额外文本资源(例如词表、基于情绪的词典、复杂的词典和词汇本体),采用自然语言处理(NLP)过程(例如特征提取、词性标记等)分析获取的文档[1]。文本情感分析的根本是识别文档中重要的文本特征(词语强度、词性和词频率、意见/情绪词和短语,以及否定和增强词等)。接下来进行情感识别,利用文本信息的极性(正面、负面或中性情感)表征文本文档。如在无监督情况下,经常使用基于词典的方法,利用词汇资源将极性分数分配给单个词以检测文档的整体情绪。另一方面,受监督的情况通常遵循机器学习方法,其中情感检测任务通过采用诸如支持向量机(Support Vector Machine,SVM)算法对情感进行分类。本文对近几年来文本情感分析的研究成果进行了分析、概括、总结和展望。

1 文本情感分析简介

近年来针对文本情感分析的研究有很多,文献[2]中将文本情感分析分为三大任务,即文本情感特征提取、文本情感特征分类以及文本情感特征检索与归纳。

针对基于词典的方法,文献[3]将情感词典的构建分为4种方法,即启发式规则方法、基于图的方法、基于词对齐模型的方法和基于表示学习的方法。

对基于机器学习的情感分析方法,主要针对分类方法在情感分析中的应用进行研究,即对诸如朴素贝叶斯、最大熵和SVM分类器进行研究。文献[4]对上述3种机器学习方法进行了实验。

2 文本情感分析技术分类

本文将文本情感分析技术主要分为基于词典的技术和基于机器学习的技术两大类。其中,基于词典的技术,根据人工参与程度不同,可分为人工构建情感词典和自动构建情感词典两类;基于机器学习的技术,根据情感分类方法不同,可分为基于朴素贝叶斯的方法、基于最大熵的方法和基于SVM的方法3类。

2.1 基于词典的技术

情感词典是文本情感分析的基础。利用构建的文本情感词典,并对情感词典进行极性和强度标注,进而进行文本情感分类,能够有效地对文本进行情感分析。基于词典的文本情感分析,构建情感词典是关键。本文根据人工在情感词典构建过程中的参与程度不同,分为人工构建情感词典和自动构建情感词典。图1是基于词典的文本情感分析过程。

2.1.1 人工构建情感词典

人工构建情感词典的方式,主要是利用大量现有的情感资源对前人总结的情感资源进行扩充标注,进而形成各种基础情感词典。其优点是便于创建更为丰富的词条信息,并且便于控制。

其中,大连理工大学徐琳宏等[5]通过手工情感分类和自动获取强度两种方法,构造了情感词汇本体。手工情感分类主要采取基于转换的错误驱动学习方法,自动获取词汇的情感强度用的是点互信息(Pointwise Mutual Information,PMI)方法,计算公式如下:

其中,Wu表示具有u类情感的词,Sui表示具有u类情感的第i个标准词,计算W与所有具有u类情感的标准词之间的互信息,选择互信息最大标准词的强度作为词汇W在u类情感上的强度。

王勇等[7]为了对中文微博进行情感分类,构建了中文微博的极性词典。在各大微博网站随机抓取100 000条微博,通过多次人工标注和校对,将2 199个情感词进行正负向和强弱程度区分,根据微博表达的多样性,还构建了表情符号词典、否定词典和双重否定词典。

目前通过人工构建的情感词典主要有:哈佛大学的General Inquirer Lexicon、匹兹堡大学提供的OpinionFinder主观情感词典、伊利诺伊大学Bing Liu提供的词典资源、普林斯顿大学构建的英文情感词典WordNet、台湾大学的中文情感极性词典(NTUSD)、知网情感词典HowNet等。

人工构建情感词典在扩充词条信息和操控便利性方面有一定优势,但是大大增加了人工开销,并且扩充范围有限,因此不适合跨领域研究。近年来自动构建情感词典的方法逐渐成为研究方向。

2.1.2 自动构建情感词典

通过自动构建情感词典,能很好地降低人工成本,并在一定程度上增强领域适用性,所以,近年来研究人员更多地致力于情感词典的自动构建工作。自动构建情感词典的方法主要有基于知识库的方法、基于语料库的方法以及基于知识库与语料库相结合的方法。

基于知识库的方法主要通过对现有知识库(如英文的WordNet、中文的HowNet)进行语义分析或扩展构成情感词典,以判断未知文本信息的情感倾向。如对WordNet进行扩展,加入名词、动词和副词,使情感词典更加全面。

基于语料库的方法主要是通过从大量语料中自动学习得到情感词典,并且通过对不同领域的语料进行提取,可以得到特定领域的情感词典。

如Hatzivassiloglou和McKeown[8]提出一种从大型语料库收集的间接信息自动检索语义取向信息的方法。该方法依赖于语料库,实现了高精度(超过90%),考虑了情感词或短语和特征词域的依赖关系,并在语料库更改时自动适应新域,可以直接应用于其它单词类。

Turney等[9]使用PMI方法扩展基本的正、负词汇,然后使用语义极性(ISA)算法分析情感文本,处理一般语料库数据的准确性率达到74%。考虑到用户行为,Yang等[10]利用拉普拉斯平滑技术对SO-PMI算法进行改进,建立了中文酒店评论情感词典。其中PMI如式(1),然后引入语义取向(SO),算法如下:

周咏梅等[11]提出了一种中文微博情感词典构建方法。该方法利用上下文熵对微博中的网络用语进行判定,公式如下:

利用基于SO-PMI算法的情感强度计算方法筛选含有网络用语的微博,对这些微博进行人工标注,并计算情感极性和强度,构成词典。

Bravo-Marquez等[12]利用自动注释的推文构建Twitter意见词典,使用点互信息语义取向(PMI-SO)建模,并使用随机梯度下降语义取向(SGD-SO)学习词与情感之间的线性关系。

近年来由于互联网中的文本信息增长速度过快,一些网络词语出现,使得单纯利用原有知识库或互联网中的语料构建情感词典不能满足现有文本信息的要求,因此研究人员更倾向于利用知识库与语料库相结合的方法构建情感词典。通过将扩充的情感知识库及从语料库中提取的情感词汇引入情感词典,使构成的情感词典更加丰富。

杨小平等[13]利用Word2Vec工具,从海量的语料库中训练出一套词向量,并通过综合筛选NTUSD词典、知网情感词典和大连理工大学开发的情感本体库,构成SentiRuc词典,通过机器学习对情感色彩进行消歧,并对词典进行了同义关系优化、反义关系优化和句子级描述力优化,在通用领域数据集上取得了较好的实验结果。

基于词典的文本情感分析技术由于构建的词典往往只针对某个领域,对于跨领域情感分析的效果不够好,而且词典中的情感词可能不够丰富,对于短文本和特定领域文本进行情感分析的效果更好。因此,对于长文本来说,更好的解决方法是利用机器学习方法。

2.2 机器学习方法

利用机器学习方法进行文本情感分析是近几年比较流行的研究方向,通过训练数据对测试数据进行识别,然后进行特征提取。通过模型训练生成文本情感分析模型,然后进行文本情感分析,过程如图2所示。

根據分类算法不同,将文本情感分析分为基于朴素贝叶斯(Naive Bayes,NB)的方法、基于最大熵(Maximum Entropy,ME)的方法和基于支持向量机(SVM)的方法。

Pang等[4]2002年利用朴素贝叶斯、最大熵和支持向量机在文本情感分析中进行比较,发现利用SVM进行文本情感分析能达到最优效果。以下内容总结了近年来基于朴素贝叶斯、最大熵和SVM进行文本情感分析的研究成果。

2.2.1 基于朴素贝叶斯的方法

朴素贝叶斯是概率模型,在许多领域都能令人满意地工作。贝叶斯分类提供了实用的学习算法和先验知识,观察到的数据可以相结合。在朴素贝叶斯技术中,基本思想是通过使用单词和类别的联合概率找出给定文本文档类别的概率。该算法被广泛用于文本情感分析。

综合框架应用于情感分类任务,有效地整合不同特征集和分类算法,以合成更精确的分类程序。通过对广泛应用的电影评论进行情感分析,证明了该方法的可行性。

基于朴素贝叶斯算法的文本情感分析可以应用于许多领域,Soelistio等[15]提出了一种使用朴素贝叶斯分类法分析数字报纸情感极性的简单模型,将其应用在数字报纸上进行政治情绪分析,从数字新闻文章中获取有关特定政治家积极或消极的情绪信息。

Wikarsa等[16]研究了一种使用朴素贝叶斯方法对Twitter用户进行情感分类的应用。Dey等[17]利用朴素贝叶斯算法和K-NN算法对电影评论和酒店评论进行情感分析,发现在电影评论中朴素贝叶斯比K-NN效果好,但在酒店评论中,两者准确度差别不大。

基于朴素贝叶斯的文本情感分析技术是通过计算概率对文本情感进行分类,适合增量式训练,而且算法比较简单,对小规模数据表现良好。但该方法对输入数据的表达形式很敏感,而且需要计算先验概率,因此会在分类决策方面存在错误率。

2.2.2 基于最大熵的方法

最大熵分类器属于指数模型类的概率分类器。基于最大熵原理,并且从适合训练数据的所有模型中,选择具有最大熵的模型。近年部分学者基于最大熵构建情感分析模型,对文本情感进行了分析。

Berger、Vincent和Stephen[18]提出了自动构建最大熵模型的最大似然方法,并在自然语言处理中有效地实现这种方法,证明最大熵在许多自然语言处理应用中是一种有效的技术。Fei、Wang等[19]为了解决词典中存在的词语有时不能在特定语境中表达情感倾向这一问题,提出了一种基于最大熵分类模型的方法以识别给定评论语句的情绪词。Lee等[20]将最大熵分类用于估计给定电子产品评论的极性。Batista和Ribeiro[21]在2013年提出了一种基于二元最大熵分类器的策略,用于西班牙语Twitter数据的自动情绪分析和主题分类。Yan等[22]在2015年根据统计学方法从中英文情绪分析中得出藏语句子情绪分析方法,建立了基于最大熵模型的藏语句子情绪分析系统,并对该系统进行了测试。

基于最大熵的文本情感分析只要得到一些训练数据,然后进行迭代,就可以得到所需模型,进行自收敛,方法简单。但是由于最大熵往往只能得到局部最佳解而非全局最优解,因此运用该方法进行情感分析准确率有待提高。

2.2.3 基于支持向量机的方法

支持向量机(SVM)最初由Vapnik[23]提出,是一种相对较新的机器学习方法。它通过寻求结构化风险最小以提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的。以下是对近年来研究人员基于SVM进行文本情感分析的介绍。

Sharma和Dey[24]在2013年提出了基于Boosted SVM的混合情绪分析模型。该模型利用两种技术(Boosting[25]和SVM)对2 000条电影和酒店评论语料库进行情感分析,结果表明,基于Boosting算法的SVM混合情绪分析模型,性能显著优于单独的SVM模型。

其中,SVM寻求一个决策表面,将训练数据点分成两类,并根据被选为训练集中唯一有效元素的支持向量进行决策。 SVM(双重形式)的优化是将SVM拉格朗日方程最小化为:

Hajmohammadi[26]利用标准机器学习技术SVM和朴素贝叶斯将波斯语言的电影评论自动分类为正面和负面,发现SVM分类器在波斯语言的电影评论中达到了比朴素贝叶斯更高的准确度。Karanasou等[27]在2015年对Twitter中的比喻句进行了情感分析,采用语法和形态特征,标注了比喻和非比喻推文中的情感极性,并利用结构化知识资源,如SentiWordNet情绪词典,将情绪评分分配给单词和WordNet并计算单词相似度。该实验通过具有线性核函数的SVM分类器实现了最好的结果。Huang等[28]基于金融部门的特点,利用结合斯坦福语言依赖关系的SVM分类法,对金融部门用户生成的文本进行情绪分析。

基于SVM的文本情感分析方法被认为是最好的情感分析方法,该方法泛化错误率低,计算开销不大,而且对于训练样本较小的文本可以得到很好的情感分析效果,对高维数据的处理效果良好,能够得到较低的错误率,但该方法对参数调节和核函数的选择敏感。

3 结语

随着互联网的飞速发展,人们通过互联网进行交流、参与评论增加,文本情感分析对于客户体验、市场研究、客户洞察、数字分析和媒体评测等变得越来越重要。文本情感分析是一个新兴的研究方向,而且前期工作都是以长文本为研究重点。近年来由于Facebook、Twitter、新浪微博等短文本社交平台流行,对短文本进行情感分析的研究越来越多。但是对于短文本的情感分析研究主要集中在通过情感分析挖掘其存在的商业价值,且对情感的分析类别研究比较宽泛,缺乏对某方面情感的进一步研究,如通过互联网用户产生的文本信息判断其情绪消极程度,从而进一步判断其患有抑郁症的可能性。接下来,对互联网用户文本情感进行细化研究成为一个值得探索的方向。

参考文献:

[1] PRABOWO R,THELWALL M. Sentiment analysis: a combined approach[J]. Journal of Informetrics,2009,3(2):143-157.

[2] 趙妍妍,秦兵,刘挺.文本情感分析[J].软件学报,2010,21(8):1834-1848.

[3] 梅莉莉,黄河燕,周新宇,等.情感词典构建综述[J].中文信息学报,2016,30(5):19-27.

[4] PANG B, LEE L, VAITHYANATHAN S. Thumbs up: sentiment classification using machine learning techniques[C]. Acl-02 Conference on Empirical Methods in Natural Language Processing,2002:79-86.

[5] 徐琳宏,林鴻飞,潘宇,等.情感词汇本体的构造[J].情报学报,2008,27(2):180-185.

[6] EKMAN P. Facial expression and emotion [J]. American Psychologist,1993,48(4):384.

[7] 王勇,吕学强,姬连春,等.基于极性词典的中文微博客情感分类[J].计算机应用与软件,2014(1):34-37.

[8] HATZIVASSILOGLOU V, MCKEOWN K R. Predicting the semantic orientation of adjectives[J]. Proceedings of the Acl,1997:174-181.

[9] TURNEY P D, LITTMAN M L. Measuring praise and criticism:Inference of semantic orientation from association[J]. Acm Transactions on Information Systems,2003,21(4):315-346.

[10] YANG A M, LIN J H, ZHOU Y M, et al. Research on building a Chinese sentiment lexicon based on SO-PMI[J]. Applied Mechanics & Materials,2012(12):1688-1693.

[11] 周咏梅,阳爱民,林江豪.中文微博情感词典构建方法[J].山东大学学报:工学版,2014,44(3):36-40.

[12] BRAVO-MARQUEZ F, FRANK E, PFAHRINGER B. Building a twitter opinion lexicon from automatically-annotated tweets[M]. Amsterdam:Elsevier Science Publishers B V:2016.

[13] 杨小平,张中夏,王良,等.基于Word2Vec的情感词典自动构建与优化[J].计算机科学,2017,44(1):42-47.

[14] GOVINDARAJAN M. Sentiment analysis of movie reviews using hybrid method of Naive Bayes and genetic algorithm[J]. International Journal of Advanced Computer Research,2013,3(4):139.

[15] SOELISTIO Y E, SURENDRA M R S. Simple text mining for sentiment analysis of political figure using Naive Bayes classifier method[C]. The Proceedings of the 7th Icts,2015:99-104.

[16] WIKARSA L, THAHIR S N. A text mining application of emotion classifications of Twitter's users using Nave Bayes method[C].International Conference on Wireless and Telematics,2015:1-6.

[17] DEY L, CHAKRABORTY S, BISWAS A, et al. Sentiment analysis of review datasets using Naive Bayes and K-NN classifier[J]. Information Retrieval,2016,8(4):54-62.

[18] BERGER A L, PIETRA V J D, PIETRA S A D. A maximum entropy approach to natural language processing[J]. Computational Linguistics,1996,22(1):39-71.

[19] FEI X, WANG H, ZHU J. Sentiment word identification using the maximum entropy model[C].International Conference on Natural Language Processing and Knowledge Engineering,2010:1-4.

[20] LEE, HBHD C. Chinese sentiment analysis using maximum entropy[C]. Proceedings of the Workshop on Sentiment Analysis Where AI Meets Psychology(SAAIP),2011:89-93.

[21] BATISTA F, RIBEIRO R. Sentiment analysis and topic classification based on binary maximum entropy classifiers[J]. Procesamiento de lenguaje natural,2013,50:77-84.

[22] YAN X, HUANG T. Tibetan sentence sentiment analysis based on the maximum entropy model[C].International Conference on Broadband and Wireless Computing, Communication and Applications,2015:594-597.

[23] VAPNIK V. SVM method of estimating density, conditional probability, and conditional density[C]. IEEE International Symposium on Circuits and Systems,2000:749-752.

[24] SHARMA A, DEY S. A boosted SVM based sentiment analysis approach for online opinionated text[C]. Research in Adaptive and Convergent Systems,2013:28-34.

[25] KEAMS M J, VALIANTL G. Cryptographic limitations on learning Boolean formulae and finite automata[J]. Journal of the Acm,1994,41(1):433-444.

[26] HAJMOHAMMADI M S. A SVM-based method for sentiment analysis in Persian language[C].International Conference on Graphic and Image Processing,2013:1-5.

[27] KARANASOU M, DOULKERIDIS C, HALKIDI M. DsUniPi: an SVM-based approach for sentiment analysis of figurative language on twitter[C].International Workshop on Semantic Evaluation,2015:709-713.

[28] HUANG J,TONG R, JIANG R.Sentiment analysis in financial domain based on SVM with dependency syntax[J]. Computer Engineering & Applications,2015,51(23):230-235.

(責任编辑:何 丽)

猜你喜欢
机器学习
前缀字母为特征在维吾尔语文本情感分类中的研究
基于支持向量机的金融数据分析研究