自然语言11_情感分析

 

 

一、什么是情感分析

情感分析(SA)又称为倾向性分析和意见挖掘,它是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程,其中情感分析还可以细分为情感极性(倾向)分析,情感程度分析,主客观分析等。

情感极性分析的目的是对文本进行褒义、贬义、中性的判断。在大多应用场景下,只分为两类。例如对于“喜爱”和“厌恶”这两个词,就属于不同的情感倾向。

请噶程度分析主要是对同一情感极性中再进行划分或者细分,以描述该极性的强度。例如“喜爱”和“敬爱”都是褒义词,但是“敬爱”相对来说褒义的程度更加强烈一些。

主客观分析主要目的是却别文本中哪些部分是客观称述而不带情感色彩,哪些是带有情感的主管描述。在对于微博,或者商品评论时,这个分析步骤一般都忽略,因为微博和商品评论本身就一定存在强烈的情感色彩,而且客观描述的情感值理论上是为零,不影响最终的情感分析结果。

二、情感分析的主要方法

现阶段主要的情感分析方法主要有两类:

基于词典的方法

基于机器学习的方法

基于词典的方法主要通过制定一系列的情感词典和规则,对文本进行段落拆借、句法分析,计算情感值,最后通过情感值来作为文本的情感倾向依据。

基于机器学习的方法大多将这个问题转化为一个分类问题来看待,对于情感极性的判断,将目标情感分类2类:正、负。对训练文本进行人工标标注,然后进行有监督的机器学习过程。例如想在较为常见的基于大规模语料库的机器学习等。

三、基于词典的情感分析

情感分析对象的粒度最小是词汇,但是表达一个情感的最基本的单位则是句子,词汇虽然能描述情感的基本信息,但是单一的词汇缺少对象,缺少关联程度,并且不同的词汇组合在一起所得到的情感程度不同甚至情感倾向都相反。所以以句子为最基本的情感分析粒度是较为合理的。篇章或者段落的情感可以通过句子的情感来计算。

基于词典的情感分析大致步骤如下:

分解文章段落

分解段落中的句子

分解句子中的词汇

搜索情感词并标注和计数

搜索情感词前的程度词,根据程度大小,赋予不同权值

搜索情感词前的否定词,赋予反转权值(-1)

计算句子的情感得分

计算段落的情感得分

计算文章的情感得分

考虑到语句中的褒贬并非稳定分布,以上步骤对于积极和消极的情感词分开执行,最终的到两个分值,分别表示文本的正向情感值和负向情感值。

算法设计(伪代码):

fetch all text

for each text:

for each para in text:

for each sent in para:

for each word in sents:

if word in sentiment_dicts:

if adverb before sentword

score = adverb*score

if inverse before sentword

score = -1 * score

进过以上的步骤,每篇文章的每个段落的每个句子都会有相应的情感分值,之后针对需求,可以针对句子的分值作统计计算,也可以针对段落的分值作统计计算,得到最后的文本的正向情感值和负向情感值。

四、基于机器学习的情感分析

基于机器学习的情感分析思路是将情感分析作为一个分类过程来看待。例如对于极性判别来说,正向极性和负向极性就是目标类别,对文本内容进行结构化处理,输入到给定分类算法中进行训练,并对测试数据用模型来预测结果。

1. 文本结构化

文本结构化是机器学习中重要的一步,由于文本的特殊性,计算机不能直接理解文本中的语义。需要将文本转结构化以此作为分类器的输入。

最小语义粒度

在中文中,最小语义粒度为字,但是一个单字所表示的语义信息太少,一般的,大多都以词作为最基本的语素,因为这在实际的交流中也正是如此。但是用词作为最小的语义粒度也有一个问题,就是词和词之间的关系随着分词而丢失了,其实这部分信息非常重要。为了减小这种隐性的语义损失,有人提出了N-gram模型。N-gram模型基于这样一种假设,第n个词的出现只与前面N-1个词相关,而与其它任何词都不相关。简单来说,unigram模型对应的最小语素就是单字,bigram模型是二字串,举例说明:“我爱北京天安门”的bigram表示形式就是“我爱 爱北 北京 京天 天安 安门”,以此类推。由于N-gram存在致命的缺陷——产生的结果过于稀疏,假设正常分词的词表中有1000个词,如果是bigram那么可能的N-gram就有1000000个,如果是trigram,那么可能的N-gram就有1000000000个,其维度增长是指数级的。一般在使用中只使用二字串或三字串作为最小的语义粒度,并且需要其他处理来缩减维度,减少计算资源的消耗。

文本向量化

文本向量化是文本结构化的最重要的一步,如果说确定最小语义粒度是告诉计算机最小的语义信息单位的话,那么向量化则是告诉计算机该用什么结构来理解文本。比较主流的表示方式有:词袋模型和向量空间模型。这两个模型其实较为类似,两者都将词汇(或者N-gram中的最小语素)作为切分的最小粒度,拆分一句话,得到“我” “爱” “北京” “天安门”,根据每个词出现的次数设置词的权重,转化为[1, 1, 1, 1]形式的向量。而向量空间模型则是在词袋模型的基础上,将多个文本的词袋模型整合在一起,组成一个单词-文档的二维矩阵。其中词又称为维度或者特征,一般的,基于词典情感分析都基于前者,而后者是应用在大规模语料库上。

词条权值

在词袋或者词频矩阵中,如果出现这个词,则标志为1,没有出现则标志为0,这被称为布尔权值。人们发现有些词在文章中出现次数很多,理应有更加重要的地位,所以布尔权重升级为词频权值,用该词在文章中出现的频数作为权值。再后来人们又发现,有些词在所有文章中都有很高的词频,例如“的”。这些词反而对文章来说没有有价值的信息,需要剔除,以节省性能开支。所以人们通过逆文档频率idf来将这些分布较为平均的词剔除掉,词频和逆文档频率的乘积就是现在较为常用的tf-idf权值。

注:这里用权值是为了和区分之后会提到的特征选择时提到的权重,这两者的区别在之后会介绍。

特征提取

特征提取是文本向量化的最后一步,其重要性更多的体现在于防止模型过拟合以及在不损失精度的前提下减少运算开支。面对海量数据的时候,其重要性不亚于之前的任何一步。

特征提取主要分两种方式:特征选择特征抽取。特征选择就是在一堆特征中挑选出对目标类别贡献较高的特征维度,通过计算特征的权重,并依据权重重新排序挑选出较高的一部分特征维度作为模型训练的输入特征。这里的权重和之前讲到的词(也就是特征)权值是不同的。特征权重描述的是特征和目标类别之间的关系,而词权值是词在文章中的重要性的描述,这两者非常容易混淆。特征抽取则是将所有特征作为输入,通过某种方式或者算法,输出一批新的特征,这个特征的维度数量大大小于原始特征长度。此过程中的信息损失比特征选择少很多。深度学习和神经网络是主要的算法。

2. 分类算法选择

文本结构化之后就可以进行训练了。当然之前还需要挑选一个合适的分类器。在各大文献中,较为推荐的文本分类算法大多为SVM。因为其较为出色的泛化能力(不容易过拟合),SVM也受到了工业界的青睐,被用于许多分类场合。当然,分类器有许许多多种,朴素贝叶斯、神经网络、K临近都有着各自的有点。本文主要从SVM入手,情感分析场景下的文本分类作一些说明。

Support Vector Machine

支持向量机是一种有监督的学习算法。其分类的判别标准为最大分类边界,处于分类边界上的向量(特征)即为支持向量。


所以其直接参与分类运算的向量其实小于原始输入向量。这也是为什么虽然在训练的时候比较费时,但是在预测时期性能较好的原因。


这里需要提到一个SVM中特有的概念,分类超平面。由于现实中的数据非常复杂,尤其是文本数据,在向量化之后并不能简单的用线性分割的方式将其区分,所以有牛人想到利用高维来解决低维中线性不可分的问题,以下是一个简答的例子,在二维中,无法用一条直线将这两组点分开。将其映射到三维场景时,就可以用一个线性平面将其分割。当然现实中的数据也不会那么简单,所以低维向高维映射之后的复杂程度也远远超过想想。不过依然有牛人通过数学证明的方式,证明了低维不可分问题在高维中,至少某一个高维中能够线性可分。


不过支持向量机中的数学推导较为复杂,如果详细讲解可以另写一篇文章,这里就不做过多讲解。但是有几个比较重要的概念不得不提:核函数松弛变量

核函数:核函数是一类能够简化低维到高维运算的函数,通过他能够将低维的数据映射到高维中。之前提到了低维向高维映射的过程,但是在实际操作中会发现,这之间的一个映射关系通常是非常难解甚至是不可解的。依旧是牛人,通过一组符mercy定律的函数,找到了低维和高维之间关系的方法。这些符合mercy定律的函数就称为核函数。

松弛变量:在分类问题中,往往会遇到因为遇到噪声而导致分类器对于训练集效果较好,但是对于其他测试集则效果较差的问题,在传统统计算法中,这个现象被称为过拟合。为了避免这些噪声的干扰,需要对SVM的决策边境进行“软化”,让其适当地允许“错误”产生,引入松弛变量。

3. 训练模型和评价

参数选择

在文本分类场景中,选择线性核函数或者高斯核函数较为平常,前者计算效率较高,后者效果较好。在本文场景下选择高斯核函数。松弛变量的选择依据主要为实际的模型拟合和在预测集上的表现来决定。

模型评价

因为在文本分类中类别不平衡经常出现(某一类非常多其他类非常少),如果以所有类别的准确率来作为分类器的评判指标的话,就会出现一个问题,假如二类样本中,1类占到了90%,2类只有10%,那么大多数分类器只需要将所有样本都判为1类就有90%的准确率。但是我们可能更关注那10%的类别,这样的分类器对我们来说相当于没有效果的分类器,是不可接受的。所以在评价分类器效果时,引入了信息检索中的混淆矩阵:


传统的准确率计算公式就是图中的Accuracy,考量了分类器对于两个类别的总体的分类效果,由于其在不平衡样本中效果不好,所以提出了精度召回率这两个指标。

精度:反映了被分类器判定的正例中真正的正例样本的比重。

召回率:也成为True Postive Rate,反映了被正确判定的正例占总的正例的比重。

这两个指标都100%的分类器几乎不存在(就连人都很难做到),并且经过实验发现,这两个指标在同一场景中具有互斥的性质。当精度较高的时候往往召回率较低。往往需要我们在面对具体问题时具体分析,例如在本文所描述的情感分析中,我们更加关注10%的2类,希望判定2类的准确度越高越好,那么这时候2类的召回率会比较低(可能不到50%),但是精度会相对来说较高(可能在70%-80%左右);若如果我们认为希望2类的文章多一些,则在挑选分类器的时候更看重哪些召回率较高的。不过也有牛人为了帮助哪些“选择困难症患者”帮助挑选分类器,提出了F-measure检验,以此同时考虑两者的结果。

 


以上是经常被用的到F1指标,其扩展形式为:

 


可以看到,F1即为β取1时的特殊情形。

关于以上信息检索的相关指标可以参看一下连接:Precision and recallAccuracy and precision

五、总结

相对于基于辞典的情感分析,机器学习不太关注这篇文章中是否含有这些或那些情感词,他更加依赖于训练集文章被标注的类别是什么。他结果的好坏和语料库的规模(预料是否包含足够多的信息)和语料库的标注准确率(如果你告诉我橘子是西瓜,那么以后我遇到橘子都会判它为西瓜)。在实际运用中可以两者相辅相成,在短文本中,基于词典的情感分析效果更加好,例如微博、商品评论等。而长文本则更加适合机器学习来处理。

参考文献

情感分析算法设计

文本分类技术

Precision and recall

Accuracy and precision



文/黄老邪怪(简书作者)
原文链接:http://www.jianshu.com/p/60505518d7ee
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

 

 

 

 

http://blog.csdn.net/erli11/article/details/23918751

 

斯坦福大学自然语言处理第七课“情感分析(Sentiment Analysis)”

 

转自:52opencourse.com/

http://52opencourse.com/235/%E6%96%AF%E5%9D%A6%E7%A6%8F%E5%A4%A7%E5%AD%A6%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86%E7%AC%AC%E4%B8%83%E8%AF%BE-%E6%83%85%E6%84%9F%E5%88%86%E6%9E%90%EF%BC%88sentiment-analysis%EF%BC%89

一、课程介绍

斯坦福大学于2012年3月在Coursera启动了在线自然语言处理课程,由NLP领域大牛Dan Jurafsky 和 Chirs Manning教授授课:
https://class.coursera.org/nlp/

以下是本课程的学习笔记,以课程PPT/PDF为主,其他参考资料为辅,融入个人拓展、注解,抛砖引玉,欢迎大家在“我爱公开课”上一起探讨学习。

课件汇总下载地址:斯坦福大学自然语言处理公开课课件汇总

二、情感分析(Sentiment Analysis)

1)What is Sentiment Analysis?

情感分析(Sentiment analysis),又称倾向性分析,意见抽取(Opinion extraction),意见挖掘(Opinion mining),情感挖掘(Sentiment mining),主观分析(Subjectivity analysis),它是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程,如从评论文本中分析用户对“数码相机”的“变焦、价格、大小、重 量、闪光、易用性”等属性的情感倾向。

更多例子如下:

l  从电影评论中识别用户对电影的褒贬评价:

l  Google Product Search识别用户对产品各种属性的评价,并从评论中选择代表性评论展示给用户:

l  Bing Shopping识别用户对产品各种属性的评价:

l  Twitter sentiment versus Gallup Poll of Consumer Confidence:挖掘Twitter(中文:微博)中的用户情感发现,其与传统的调查、投票等方法结果有高度的一致性(以消费者信心和政治选举为例,corelation达80%),详细见论文:Brendan O'Connor, Ramnath Balasubramanyan, Bryan R. Routledge, and Noah A. Smith. 2010. From Tweets to Polls: Linking Text Sentiment to Public Opinion Time Series. In ICWSM-2010。(注:下图中2008年到2009年初,网民情绪低谷是金融危机导致,从2009年5月份开始慢慢恢复)

l  Twitter sentiment: 通 过Twitter用户情感预测股票走势,2012年5月,世界首家基于社交媒体的对冲基金 Derwent Capital Markets 在屡次跳票后终于上线。它会即时关注Twitter 中的公众情绪指导投资。正如基金创始人保罗•郝汀(Paul Hawtin)表示:“长期以来,投资者已经广泛地认可金融市场由恐惧和贪婪驱使,但我们从未拥有一种技术或数据来量化人们的情感。”一直为金融市场非理 性举动所困惑的投资者,终于有了一扇可以了解心灵世界的窗户——那便是 Twitter 每天浩如烟海的推文,在一份八月份的报道中显示,利用 Twitter 的对冲基金 Derwent Capital Markets 在首月的交易中已经盈利,它以1.85%的收益率,让平均数只有0.76%的其他对冲基金相形见绌。类似的工作还有预测电影票房、选举结果等,均是将公众 情绪与社会事件对比,发现一致性,并用于预测,如将“冷静CLAM”情绪指数后移3天后和道琼斯工业平均指数DIJA惊人一致。详细见论文: Johan Bollen, Huina Mao, Xiaojun Zeng. 2011. Twitter mood predicts the stock market, Journal of Computational Science 2:1, 1-8.(注:DIJA,全称Dow Jones Industrial Average

l  Target Sentiment on Twitter(Twitter Sentiment App):对Twitter中包含给定query的tweets进行情感分类。对于公司了解用户对公司、产品的喜好,用于指导改善产品和服务,公司还可以据此发现竞争对手的优劣势,用户也可以根据网友甚至亲友评价决定是否购买特定产品。详细见论文:Alec Go, Richa Bhayani, Lei Huang. 2009. Twitter Sentiment Classification using Distant Supervision.

情感分析的意义何在?下面以实际应用为例进行直观的阐述:

•  Movie:  is this review positive or negative?

•  Products:  what do people think about the new iPhone?

•  Public sentiment:  how is consumer confidence? Is despair increasing?

•  Politics:  what do people think about this candidate or issue?

•  Prediction predict election outcomes or market trends from sentiment

情感分析主要目的就是识别用户对事物或人的看法、态度(attitudes:enduring, affectively colored beliefs, dispositions towards objects or persons),参与主体主要包括:

  1. Holder (source) of attitude:观点持有者
  2. Target (aspect) of attitude:评价对象
  3. Type of attitude:评价观点
    • ​ From a set of types:Like, love, hate, value, desire, etc.
    •  Or (more commonly) simple weighted polaritypositive, negative, neutral,together with strength
  4. Text containing the attitude:评价文本,一般是句子或整篇文档

更细更深入的还包括评价属性,情感词/极性词,评价搭配等、

通常,我们面临的情感分析任务包括如下几类:

  1. Simplest task: Is the attitude of this text positive or negative?
  2. More complex: Rank the attitude of this text from 1 to 5
  3. Advanced: Detect the target, source, or complex attitude types

后续章节将以Simplest task为例进行介绍。

2)A Baseline Algorithm

本小节对影评进行情感分析为例,向大家展示一个简单、实用的情感分析系统。详细见论文: Bo Pang, Lillian Lee, and Shivakumar Vaithyanathan.  2002.  Thumbs up? Sentiment Classification using Machine Learning Techniques. EMNLP-2002, 79—86.

Bo Pang and Lillian Lee. 2004. A Sentimental Education: Sentiment Analysis Using Subjectivity Summarization Based on Minimum Cuts.  ACL, 271-278

我们面临的任务是Polarity detection: Is an IMDB movie review positive or negative?”,数据集为“Polrity Data 2.0: http://www.cs.cornell.edu/people/pabo/movie-review-data”.作者将情感分析当作分类任务,拆分成如下子任务:

  1. Tokenization:正文提取,过滤时间、电话号码等,保留大写字母开头的字符串,保留表情符号,切词;
  2. Feature Extraction:直观上,我们会认为形容词直接决定文本的情感,而Pang和Lee的实验表明,采用所有词(unigram)作为特征,可以达到更好的情感分类效果。

其中,需要对否定句进行特别的处理,如句子”I didn’t like this movie”vs “I really like this movie”,unigram只差一个词,但是有着截然不同的含义。为了有效处理这种情况,Das and Chen (2001)提出了“Add NOT_ to every word between negation and following punctuation”,根据此规则可以将句子“didn’t like this movie , but I”转换为“didn’t NOT_like NOT_this NOT_movie, but I”。

另外,在抽取特征时,直观的感觉 “Word occurrence may matter more than word frequency”,这是因为最相关的情感词在一些文本片段中仅仅出现一次,词频模型起得作用有限,甚至是负作用,则使用多重伯努利模型事件空间代替多 项式事件空间,实验也的确证明了这一点。所以,论文最终选择二值特征,即词的出现与否,代替传统的频率特征。log(freq(w))也是一种值得尝试的降低频率干扰的方法。

  1. Classification using different classifiers:Naïve BayesMaxEntSVM,以朴素贝叶斯分类器为例,训练过程如下:

预测过程如下:

实验表明,MaxEnt和SVM相比Naïve Bayes可以得到更好的效果。

最后,通过case review可以总结下,影评情感分类的难点是什么?

  • 语言表达的含蓄微妙:“If you are reading this because it is your darling fragrance, please wear it at home exclusively, and tape the windows shut.”,“ She runs the gamut of emotions from A to B”。
  • 挫败感表达方式:先描述开始的期待(不吝赞美之词),后表达最后失望感受,如“This film should be brilliant.  It sounds like a great plot, the actors are first grade, and the supporting cast is good as well, and Stallone is attempting to deliver a good performance. However, it can’t hold up.”,“Well as usual Keanu Reeves is nothing special, but surprisingly, the very talented Laurence Fishbourne is not so good either, I was surprised.”。

3)Sentiment Lexicons

情感分析模型非常依赖于情感词典抽取特征或规则,以下罗列了较为流行且成熟的开放情感词典资源:

  • GI(The General Inquirer):该词典给出了每个词条非常全面的信息,如词性,反义词,褒贬,等,组织结构如下:

详细见论文:Philip J. Stone, Dexter C Dunphy, Marshall S. Smith, Daniel M. Ogilvie. 1966.The General Inquirer: A Computer Approach to Content Analysis. MIT Press

详细见论文:Pennebaker, J.W., Booth, R.J., & Francis, M.E. (2007). Linguistic Inquiry and Word Count: LIWC 2007. Austin, TX

详细见论文:Theresa Wilson, Janyce Wiebe, and Paul Hoffmann (2005). Recognizing Contextual Polarity in Phrase-Level Sentiment Analysis. Proc. of HLT-EMNLP-2005.

Riloff and Wiebe (2003). Learning extraction patterns for subjective expressions. EMNLP-2003.

  • Bing Liu Opinion Lexicon:其中包含Positive words: 2006,Negative words: 4783,需要特别说明的是,词典不但包含正常的用词,还包含了拼写错误、语法变形,俚语以及社交媒体标记等,详细见论文:Minqing Hu and Bing Liu. Mining and Summarizing Customer Reviews. ACM SIGKDD-2004.
  • SentiWordNet:其通过对WordNet中的词条进行情感分类,并标注出每个词条属于positive和negative类别的权重大小,组织结构如下:

详细见论文:Stefano Baccianella, Andrea Esuli, and Fabrizio Sebastiani. 2010SENTIWORDNET 3.0: An Enhanced Lexical Resource for Sentiment Analysis and Opinion Mining. LREC-2010

以上给出了一系列可用的情感词典资源,但是,如何选择一个合适的为我所用呢?这里,通过对比同一词条在不同词典之间的分类,衡量词典资源的不一致程度,如下:

对于在不同词典中表现不一致的词条,我们至少可以做两件事情。第一,review这些词条,通过少量人工加以纠正;第二,可以得到一些存在褒贬歧义的词条。

给定一个词,如何确定其以多大概率出现在某种情感类别文本中呢?以IMDB下不同打分下影评为例,最简单的方法就是计算每个分数(星的个数)对应的文本中词条出现的频率,如下图所示为Count(“bad”)分布情况:

使用更多的是likelihood公式:

为了使得不同词条在不同类别下的概率可比,通常使用Scaled likelihood公式代替,如下:

如下图所示,列出了部分词条在不同类别下的Scaled likelihood,据此可以判断每个词条的倾向性。

另外,我们通常会有这么一个疑问:否定词(如not, n’t, no, never)是否更容易出现在negative情感文本中?Potts, Christopher(2011)等通过实验给出了答案:More negation in negative sentiment,如下图所示:

4)Learning Sentiment Lexicons

我们在庆幸和赞扬众多公开情感词典为我所用的同时,我们不免还想了解构建情感词典的方法,正所谓知其然知其所以然。一方面在面临新的情感分析问题,解决新 的情感分析任务时,难免会需要结合实际需求构建或完善情感词典,另一方面,可以将成熟的词典构建方法应用于其他领域,知识无边界,许多方法都是相通的。

常见的情感词典构建方法是基于半指导的bootstrapping学习方法,主要包括两步:

  1. Use a small amount of information(Seed)
    1. A few labeled examples
    2. A few hand-built patterns
  2. To bootstrap a lexicon

接下来,通过相关的几篇论文,详细阐述下构建情感词典的方法。具体如下:

     1. Hatzivassiloglou & McKeown:论文见Vasileios Hatzivassiloglou and Kathleen R. McKeown. 1997. Predicting the Semantic Orientation of Adjectives. ACL, 174–181,基于这样的一种语言现象:“Adjectives conjoined by ‘and’ have same polarity;Adjectives conjoined by ‘but ‘ do not”,如下示例:

  • Fair and legitimate, corrupt and brutal
  • *fair and brutal, *corrupt and legitimate
  • fair but brutal

Hatzivassiloglou & McKeown(1997)提出了基于bootstrapping的学习方法,主要包括四步:

  • Step 1:Label seed set of 1336 adjectives (all >20 in 21 million word WSJ corpus)

初始种子集包括657个 positive words(如adequate central clever famous intelligent remarkable reputed sensitive slender thriving…)和679个 negative words(如contagious drunken ignorant lanky listless primitive strident troublesome unresolved unsuspecting…)

  • Step 2:Expand seed set to conjoined adjectives,如下图所示:

  • Step 3:Supervised classifier assigns “polarity similarity” to each word pair, resulting in graph,如下图所示:

 

  • Step 4:Clustering for partitioning the graph into two

最终,输出新的情感词典,如下(加粗词条为自动挖掘出的词条):

  • Positive: bold decisive disturbing generous good honest important large mature patient peaceful positive proud sound stimulating straightforwardstrange talented vigorous witty…
  • Negative: ambiguous cautious cynical evasive harmful hypocritical inefficient insecure irrational irresponsible minor outspoken pleasant reckless risky selfish tedious unsupported vulnerable wasteful… 

     2.  Turney Algorithm:论文见Turney (2002):  Thumbs Up or Thumbs Down? Semantic Orientation Applied to Unsupervised Classification of Reviews,具体步骤如下:

  • Step 1:Extract a phrasal lexicon from reviews,通过规则抽取的phrasal如下图所示:

 

  • Step 2:Learn polarity of each phrase,那么,如何评价phrase的polarity呢?直观上,有这样的结论:“Positive phrases co-occur more with ‘excellent’,Negative phrases co-occur more with ’poor’”,这时,将问题转换成如何衡量词条之间的共现关系?于是,学者们引入了点互信息(Pointwise mutual information,PMI),它经常被用于度量两个具体事件的相关程度,公式为:

两个词条的PMI公式为:

常用的计算PMI(word1, word2)方法是分别以”word1”,”word2”和”word1 NEAR word2”为query,根据搜索引擎检索结果,得到P(word)和P(word1, word2),如下:

P(word) = hits(word)/N

P(word1,word2) = hits(word1 NEAR word2)/N2

      则有:

      那么,计算一个phrase的polarity公式为(excellent和poor也可以使用其它已知极性词代替):

      Turney Algorithm在410 reviews(from Epinions)的数据集上,其中170 (41%) negative,240 (59%) positive,取得了74%的准确率(baseline为59%,均标注为positive)。

  • Step 3:Rate a review by the average polarity of its phrases

     3. Using WordNet to learn polarity:论文见S.M. Kim and E. Hovy. 2004.Determining the sentiment of opinions. COLING 2004,M. Hu and B. Liu. Mining and summarizing customer reviews. In Proceedings of KDD, 2004.该方法步骤如下:

  • Create positive (“good”) and negative seed-words (“terrible”)
  • Find Synonyms and Antonyms

Positive Set:  Add  synonyms of positive words (“well”) and antonyms of negative words

Negative Set: Add synonyms of negative words (“awful”)  and antonyms of positive words (”evil”)

  • Repeat, following chains of synonyms
  • Filter

以上几个方法都有较好的领域适应性和鲁棒性,基本思想可以概括为“Use seeds and semi-supervised learning to induce lexicons”,即:

  • Start with a seed set of words (‘good’, ‘poor’)
  • Find other words that have similar polarity:
    • Using “and” and “but”
    • Using words that occur nearby in the same document
    • Using WordNet synonyms and antonyms
    • Use seeds and semi-supervised learning to induce lexicons

5)Other Sentiment Tasks

上面介绍了文档级或句子级情感分析,但是,实际中,一篇文档(评论)中往往会提及不同的方面/属性/对象(以下统称属性),且可能对不同的属性持有不同的倾向性,如“The food wasgreat but the service was awful”。一般通过Frequent phrases + rules的方法抽取评价属性,如下:

  • Find all highly frequent phrases across reviews (“fish tacos”)
  • Filter by rules like “occurs right after sentiment word”:“…great fish tacos” means fish tacos a likely aspect

通常,我们还会面临一种问题:评价属性缺失,准确的讲,评价属性不在句子中。这是很常见的现象,此时就需要结合上下文环境,如来自某电影的评论缺失的评价属性基本上就是电影名或演员,可以基于已知评价属性的句子训练分类器,然后对评价属性缺失的句子进行属性预测。

Blair-Goldensohn et al.提出了一套通用的aspect-based summarization models,如下图所示:

详细见论文:S. Blair-Goldensohn, K. Hannan, R. McDonald, T. Neylon, G. Reis, and J. Reynar. 2008.  Building a Sentiment Summarizer for Local Service Reviews.  WWW Workshop

另外,其他的一些情感分析的相关任务有:

  • Emotion: 个人情绪
    • Detecting annoyed callers to dialogue system
    • Detecting confused/frustrated  versus confident students
  • Mood: 个人情绪
    • Finding traumatized or depressed writers
  • Interpersonal stances: 人际关系中的谈话方式
    • Detection of flirtation or friendliness in conversations
  • Personality traits: 性格
    • Detection of extroverts


个人主页

http://www.itongji.cn/user/getSheCreateList?userId=105371


视频教程网址
http://sina.lt/fkem


Python爬虫视频系列,小白入门
http://t.cn/R8Xu2c8

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值