一、文本挖掘
文本挖掘则是对文本进行处理,从中挖掘出来文本中有用的信息和关键的规则,在文本挖掘领域应用最往广泛的是对文本进行分类和聚类,其挖掘的方法分为无监督学习和监督学习。文本挖掘还可以划分为7大类:关键词提取、文本摘要、文本主题模型、文本聚类、文本分类、观点提取、情感分析。
关键词提取:对长文本的内容进行分析,输出能够反映文本关键信息的关键词。
文本摘要:许多文本挖掘应用程序需要总结文本文档,以便对大型文档或某一主题的文档集合做出简要概述。
文本聚类:主要是对未标注的文本进行标注,常见的有 K均值聚类和层次聚类。
文本分类:文本分类使用监督学习的方法,以对未知数据的分类进行预测的机器学习方法。
文本主题模型 LDA:LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构,该模型可以用于获取语料的主题提取和对不同类别的文档进行分类。
观点抽取:对文本(主要针对评论)进行分析,抽取出核心观点,并判断极性(正负面),主要用于电商、美食、酒店、汽车等评论进行分析。
情感分析:对文本进行情感倾向判断,将文本情感分为正向、负向、中性。用于口碑分析、话题监控、舆情分析。
因为自己的论文写的是关于情感分析方面的内容,因此打算接下来主要写情感分析系列的内容,今天主要写关于情感分析的介绍以及发展史。
二、情感分析
1. 含义
情感分析主要是通过分析人们对于服务、产品、事件、话题来挖掘出说话人/作者观点、情感、情绪等的研究。情感分析按照研究内容的不同,可以分为:意见挖掘 / 意见提取 / 主观性分析 / 情感倾向分析、情感情绪分析、情感打分等。情感倾向问题,即是指挖掘出一段语料中说话人/作者对于某一话题/事件所持有的态度,如褒义、贬义、中性、两者兼有。情感情绪,则是将情感倾向进行更进一步的细化,依据“大连理工大学的情感词汇本体库”可知,可以将情感倾向可以细化为:“喜欢”、“愤怒”、“讨厌”等具体的7个大类——21个小类别。情感打分,即根据情感态度对于某一事物进行评分,如淘宝系统的1-5分。 文本中的情感分析还可以分为:显式情感、隐式情感,显式情感是指包含明显的情感词语(如:高兴、漂亮、讨厌等),隐式情感则是指不包含情感词语的情感文本,如:“这个杯子上面有一层灰”。由于隐式情感分析难度较大,因此目前的工作多集中在显式情感分析领域。
情感分析按照不同的分析对象,可以分为:文章级别的情感分析、句子级别的情感分析、词汇级别的情感分析。按照不同的研究内容以及研究的粒度的不同,其研究情感分析的方法也有很大的变化。
目前的情感分析研究可归纳为:情感资源构建、情感元素抽取、情感分类及情感分析应用系统;
情感资源构建:情感资源一般来说有:情感词典、情感语料库。情感词典的构建即是将现有的、整理好的情感词典资源进行整合,比如中文情感词典有:大连理工大学的情感词汇本体库、知网Hownet情感词典、台湾大学的NTUSD简体中文情感词典等,根据不同的需求,应用这些情感词典。情感语料库,则是我们要分析的文本,如关于新闻的文本、微博评论文本、商品评论文本、电影评论文本等,这些语料的获取可以是寻找已经整理好的数据,或者自己爬虫获取。推荐一个比较全的中文语料库网站:中文NLP语料库。
情感元素抽取:情感元素抽取则是从语料中抽取出来能够代表说话人/作者情感态度问题的词汇,也称为细粒度情感分析。语料中的评价对象和表达抽取是情感元素抽取的核心内容。评价对象是指语料中被讨论的主题,比如对于商品评论来说,用户常提起的“外观”、“快递”、“包装”等方面;表达抽取主要针对显式情感表达的文本,是指文本抽取出来能够代表说话人/作者情感、情绪、意见等的词汇,比如“漂亮”、“赞同”、“不赞同”等。一般来说,评价对象和表达抽取也可以作为相互独立的两个任务。一般来说,分析这两者的方法有:基于规则、基于机器学习。对于评价对象来说,现如今使用最多的方法是利用主题模型中的LDA(Latent Dirichlet Allocation)模型进行分析;对于表达抽取则有:深度学习的方法、基于JST (Joint Sentiment/Topic )模型的方法等。
情感分类:情感分类则是将文本分为一个具体的类别,比如情感倾向分析,则是将文档分为:褒义、贬义、中性等。一般来说,进行情感分类的方法有,基于情感词典、基于机器学习。基于情感词典,最典型的方法则是基于知网Hownet情感词典的So-Hownet指标进行情感分类,基于机器学习的方法则有监督学习方法、半监督学习方法等。
针对于情感分析,现已经存在一些专有平台,如:基于Boson 数据的情感分析平台,基于产品评论的平台Google Shopping。情感分析除了在电商平台应用广泛之外,情感分析技术还被引入到对话机器人领域。例如,微软的“小冰”机器人 可以通过分析用户的文本输入和表情贴图,理解用户当前的情绪状况,并据此回复文本或者语音等情感回应。部分研究机构还将情感分析技术融入实体机器人中。
2. 发展史
V. H. 和 K. R. McKeown 于 1997 年发表的论文 [1],该论文使用对数线性回归模型从大量语料库中识别形容词的正面或负面语义,同时借助该模型对语料中出现的形容词进行分类预测。
Peter Turney在 2002年在论文 [2] 提出了一种无监督学习的算法,其可以很好的将语料中的词语分类成正面情感词和负面情感词。
2002 年 Bo Pang 等人在论文 [3] 中使用了传统的机器学习方法对电影评论数据进行分类,同时也验证了机器学习的方法的确要比之前基于规则的方法要优。
2003 年 Blei 等人在论文 [4] 中提出了 LDA(Latent Dirichlet Allocation)模型,在之后的情感分析领域的工作中,很多学者/研究人员都使用主题模型来进行情感分析,当然也不只是基于主题模型来进行情感分析研究,还有很多利用深度学习方法来进行情感分析的研究。
Lin 和 He在 2009 年的论文 [5] 提出了一种基于主题模型的模型 —JST(Joint Sentiment/Topic),其有效的将情感加入到了经典的主题模型当中,因此利用该模型可以获取到不同情感极性标签下不同主题的分布情况。传统的主题模型获取文档的主题以及词的分布情况,但并没有关注到情感的存在,因此基于该模型可以对文档的情感倾向进行分析。利用 JST 模型可以有效的直接将语料的主题、情感信息挖掘出来,同时 JST 模型还考虑到了主题、文档、情感、词之间的联系。
基于对于语义和句法的考虑,Jo 和 H.OH 在 2011 年提出了 ASUM(Aspect and Sentiment Unification Model)模型,该模型和 JST 模型很相似都是四层的贝叶斯网络结构 [6] 。
基于神经网络的语义组合算法被验证是一种非常有效的特征学习手段,2013年,Richard Socher和Christopher Potts等人提出多个基于树结构的Recursive Neural Network,该方法通过迭代运算的方式学习变量长度的句子或短语的语义表示,在斯坦福情感分析树库(Stanford Sentiment Treebank)上验证了该方法的有效性 [7]。Nal Kalchbrenner等人描述了一个卷积体系结构,称为动态卷积神经网络(DCNN),他们采用它来进行句子的语义建模。 该网络使用动态k-Max池,这是一种线性序列的全局池操作。 该网络处理不同长度的输入句子,并在句子上引入能够明确捕获短程和长程关系的特征图。 网络不依赖于解析树,并且很容易适用于任何语言。该模型在句子级情感分类任务上取得了非常出色的效果[8]。2015年,Kai Sheng Tai,Richard Socher, Christopher D. Manning在序列化的LSTM (Long Short-Term Memory)模型的基础上加入了句法结构的因素,该方法在句法分析的结果上进行语义组合,在句子级情感分类和文本蕴含任务(text entailment)上都取得了很好的效果[9]。
2016年,Qiao Qian, Xiaoyan Zhu等人在LSTM和Bi-LSTM模型的基础上加入四种规则约束,这四种规则分别是: Non-Sentiment Regularizer,Sentiment Regularizer, Negation Regularizer, Intensity Regularizer,利用语言资源和神经网络相结合来提升情感分类问题的精度。
除了上面的一些研究,关于情感分析领域的应用仍然有很多,比如:2015 年郑祥云等人通过主题模型提取出来图书馆用户的主题信息,最后利用这些信息来进行个性化图书的有效推荐。将 JST 模型中直接引入了情感词典作为外部先验知识来对新闻文本进行分析,获取其中的主旨句,并对主旨句进行情感打分,同时利用情感主旨句来代替全文,这样能够使得用户更有效、更快速的阅读文章。
总的来说,情感分析在很多的领域被应用,当然情感分析也有很多的局限性,就是过多的依赖于语料库信息,同时还需要使用自然语言、人工智能的方法来能够最大化的挖掘出来其中的信息。
参考文献:
[1] :Predicting the semantic orientation of adjectives
[2]: Thumbs up or thumbs down? Semantic orientation applied to unsupervised classification of reviews
[3] : Thumbs up? Sentiment Classification using Machine Learning Techniques
[4] : Latent Dirichlet Allocation
[5] : Joint sentiment/topic model for sentiment analysis
[6] : Aspect and sentiment unification model for online review analysis
[7] : Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank
[8]: A Convolutional Neural Network for Modelling Sentences
[9]: Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks
[10] : Linguistically Regularized LSTMs for Sentiment Classification