情感分析与观点挖掘总结笔记(一)

来源:互联网 发布:行知中学在哪 编辑:程序博客网 时间:2024/05/10 17:47

总结自《SentimentAnalysis-and-OpinionMining》
注:这是自己研一上半年做的笔记,文章有些老旧了,但前几章的概述还是不错的,所以就只上传了前四章内容以飨读者,如果有哪位对后面内容感兴趣,我再把后面章节的部分上传吧~O(∩_∩)O

第一章

1.2.1情感分析的不同分析层次
根据目前的研究现状,一般可以将情感分析调查分为三个主要层次
一、文本文档层次:该层次是判断评论的整体情感态度,从整体看是积极、消极还是中立的态度。不过这一层次的分析是基于假设每篇文档都是阐述关于一个单一实体的观点;不适用于评价或比较多个复杂的实体。
二、语句级别层次:该层次的任务是定位语句是否有表达积极、消极或中立的观点。该层次的分析类似于主观性分类。有些语句也会在客观描述中暗示了一些主观性评论,这些我们也应该标注出来。
三、主体与部分层次:文档层次或语句层次的分析并不能明确的发现用户喜欢什么或不喜欢什么。该层次的目标是分析出对于主体或主体某一部分的情感

为了更好的进行情感分析和舆论挖掘,对于评论观点我们可以分为一般性评论和比较性评论两大类。
一般性评论一般只对单个实体或实体一部分进行评论;而比较性评论是基于多个整体或部分的比较而得出结论。

1.2.2 情感词典和它的问题
将情感词汇总成情感词典,对于情感分析来说是必要而不充分的。
1、有些词汇并没有明确的积极或消极之分
2、有些语句虽然应用了情感词汇,但并没有表达任何情感,只是客观陈述。
3、有些语句没有用到情感词汇,但还是表达出了某些积极或消极的情感。
4、在反语的使用中,有些情感词汇会表达相反的意思。
1.2.3 自然语言处理的问题
情感分析是自然语言处理的一个分支,它涉及到自然语言处理的方方面面。由于在自然语言处理中的许多问题还没得到解决,这也给情感分析的相关研究增加了不少困难。但是情感分析并没有受限于此,因为情感分析不需要研究每条语句的语法,只需要获取对整体或某些部分的评论观点。在这一层面上讲,情感分析为相关研究者提供了一个更大的平台。
对于之前的相关研究,主要集中在文档或语句中的情感分类或主观表述,这些在现实应用中还是有很多的不足,尤其在近几年网络的快速发展,需要更深层,更细致的研究。

1.3垃圾评论的发现
新兴媒体的快速发展,允许越来越多的来自世界各地的人们可以匿名的自由发表评论。这样就会造成某些人或团体对某些组织或个人发起恶意的评论,掩盖了真是的大众观点。发现这类的垃圾评论是非常重要的,这类问题得解决不仅仅局限于自然语言的处理,还涉及到对人们网络行为记录的数据挖掘。

第二章

情感分析面临的问题
如果我们想要更好的理解并解决问题,就需要将问题进行结构化,概念化;也需要在同一个框架下,统一各种现有研究方向,使研究人员设计出更强大和精确的解决方案。
不同于一般的消息信息,情感或者说评论有很大的主观性,所以需要搜集大量的相关评价才可能具有实际的应用性。
关于产品和公共服务的相关舆论一般相对容易分析,社会政策上的讨论由于复杂的话题,情感的表述,讽刺和反语表述等,相对更难分析。

2.1.1 评论(Opinion)定义
一条评论可以分为四个部分(g,s,h,t)。g(target)为对象,s(sentiment)为情感,h(holder)为评论者,t(time)为评论时间
在更深层次分析时,实体(对象)在组成或属性上又可分为不同部分。可以使用简明化得树型图表示,根节点为实体,叶子节点为实体的不同方面。
这样评论又进一步分为五个部分(e,a,s,h,t)e(entity)为实体,a(aspect)为方面……

由于定义的简明化,这种五部分的分解方式可能会导致信息的丢失。我们可以通过嵌套关系来尽量是信息保持完整,但复杂的概念也会使问题的解决变得困难。

2.1.2 情感分析任务
1、将实体(entity)提取分类。需解决的问题是对于同一个实体可能会有几个不同的表述方式。
2、将方面(aspect)提取分类。需解决的问题是在方面表述上有explicit aspect 和 implicit aspect两种表述方式。不易提取的是隐藏的方面表达。
3、将情感(sentiment)、评论所有者(holder)、时间(time)提取分类。

根据上面五部分的模型(e,a,s,h,t)的表述,我们可以定义一个整体模型和观念文档模型:
整体模型(Model of entity):一个整体ei可以用一个全面且有限的方面Ai集来表述。Ai= {ai1, aii2,…, ain}。一个整体ei也可以通过由它的部分有限集来表示{eei1, eei2, …,eeis}。一个整体ei中的每一个方面a ij Ai可以由组成该整体的每一部分的这一方面的有限集合{aeij1, aeij2,…, ae ijm}来表示
观点文档模型(Model of opinion document):一个观点文档d包含了整体集合{e1, e2,… ,er} 和来自观点持有者集合{h1, h2,… , hp}对整体方面的子集观点。[理解对错不确定]
最后作为总结,给定一个观点文档集,情感分析时,就需要以下六个步骤:
Task1:提取整体并分类
Task2:提取方面并分类
Task3:提取观点持有者并分类
Task4:提取时间并规范化
Task5:提取情感并分类
Task6:观点的五部分(e,a,s,h,t)综合
2.3 不同类型的观点(opinion)分类
1、一般性观点和比较性观点。 一般性观点又分为直接性表述观点和间接性表述观点。
2、明确性观点和暗示性观点。

2.4 主观性和情绪
主观性语句:主观性语句表现了一些个人感觉、观点或信念。相对的客观性语句则是陈述了一些事实信息。
注意:、
1、一条主观性语句可能并不会表达任何情感。
2、客观性语句也可以暗示某些观点或情感。
情绪(emotion)定义:emotion是我们主观性的感觉或者想法。
emotion(情绪)和sentiment(情感)的意思很接近。sentiment或opinion的强烈程度一般和emotion的强烈有关。
在情感分析中opinion的相关研究大部分是evaluation(评价),evaluation一般可分为rational evaluation(客观性评价)和emotional evaluation(情绪性评价)
在实际应用中,我们可分为5个情感等级:emotional negative,rational negative,neutral,rational positive,emotional positive。

2.5 作者与读者的观点立场
对一件事物的分析,在不同层次人看来,可能会产生不同甚至相反的观点。

第三章 文档情感分类

在文档情感分类中,有时一篇文档中并不是评论一个单一的事物,可能会是多个,而且对每个事物的评价也不尽相同。这样就不能将这片文档归于某一个情感分类中。
本章首先是讨论分类问题来预测所属的分类标签,在通过讨论回归问题确定所属分类的等级。目前文档级别分类的相关研究方法大部分为监督学习方法。

3.1 监督学习方法的情感分类(sentiment classification supervised learning)
本节所说的情感分类本质上讲是文本的分类。传统的文本分类通常根据说描述的话题划分为体育、科学,娱乐等,而在情感分类中就分为高兴,生气,害怕等划分。由于文本的情感分类属于普通文本分类的一种,所以现有的相关监督学习方法也可以被应用到情感分类中。
在后面的研究中,研究者们尝试了越来越多的特征和学习算法。像其他的监督机器学习应用一样,情感分类的关键是一个有效的特征词收集的工程。
一些简单的特征判断方法:
1、terms and their frequency(术语和它们的使用频率)。
2、part of speech(词性)。词语的词性也很重要,一般不同的词性需要不同的对待,大部分的情感词为形容词或副词,有时名词或动词也会表述情感。
3、sentiment words and phrases (情感词和短语)。
4、rules of opinions(观点的规则)。除了情感词和短语外,还有一些其他的表述或语言成分可以用来表述或暗示情感或观点。
5、sentiment shifters(情感转换)。有些表述中会通过否定情感词等方法来转换情感(eg:don’t,not only…but also …)
6、syntactic dependency(语法依存)。
Words dependency-based features generated from parsing or dependency trees are also tried by researchers(不明白什么意思)

3.2 非监督学习方法的情感分类(sentiment classification unsupervised learning)
由于情感词汇在情感分类中经常具有关键作用,所以在情感分类中会经常用到情感词汇或短语。下面介绍的分类技术就是基于一些固定的句法模式来判断情感观点(Turney提出)。这种句法模式是基于词类标签进行分析,大体包括以下三步:

Step1:如果语句的句法标签模型符合表3.2,那么就可以提取两个相连的词语。例如模式2,如果第一个单词是副词,第二个单词是形容词,第三个单词不是名词,那么就可以提取前两个连续词语(副词和形容词)。名词或副词也会起到上下文作用,因为形容词、副词等在描述不同名词或副词时可能会表达出不同的情感。
这里写图片描述
这里写图片描述
step2:通过点互信息(pointwise mutual information(PMI))来衡量提取词汇的相关程度。
点互信息相关介绍(从网络摘抄):
PMI(Pointwise Mutual Information)
机器学习相关文献里面,经常会用到PMI(Pointwise Mutual Information)这个指标来衡量两个事物之间的相关性(比如两个词)。其原理很简单,公式如下:
PMI(x;y)=logp(x,y)/p(x)p(y)=logp(x|y)/p(x)=logp(y|x)/p(y)
在概率论中,我们知道,如果x跟y不相关,则p(x,y)=p(x)p(y)。二者相关性越大,则p(x,y)就相比于p(x)p(y)越大。用后面的式子可能更好理解,在y出现的情况下x出现的条件概率p(x|y)除以x本身出现的概率p(x),自然就表示x跟y的相关程度。
这里的log来自于信息论的理论,可以简单理解为,当对p(x)取log之后就将一个概率转换为了信息量(要再乘以-1将其变为正数),以2为底时可以简单理解为用多少个bits可以表示这个变量。(更正式的解释请阅读信息论相关理论)。
Step3:根据上面的计算结果,做出一个情感评价并分类。
3.3 Sentiment Rating Prediction(情感等级预测)
除了积极与消极的情感分类外,研究者也研究了评论的等级分数预测问题。由于等级分数的可度量性,该类问题可作为回归问题进行公式化,当然,也并非所有问题可以运用回归技术。
Pang 和 Lee通过实验比较了SVM回归方法、基于OVA策略的SVM多类分类方法和一种称为度量标记的元学习方法。发现基于OVA策略的SVM多类分类方法明显弱于另外两种方法。Goldberg and Zhu 通过一种基于图形化半监督学习问题的等级预测模型改进了这个方法。该方法使用了已标记(已评级)和未标记(未评级)的评论,未评级的评论作为测试评论也需要被评级。在图像中每一个节点是一个文本,两个节点之间的线是两个文本的相似值。一个大的相似权重意味着两篇文档有相似的情感等级。
Qu,Ifrim 和Weikum介绍了一种文档的bag-of-opinions表述,不同于传统的bag-of-words表述。每一个观点有三部分组成:情感词,修饰词和否定词。发展一种约束的岭回归(ridge regression)方法来学习情感分和每条来自独立领域或多个领域的额定评论集评价程度。这种方法的关键是开发一套可用的观念词典和评审等级。将这种回归模型转化到新的独立应用中,该算法在意见评分中提取出一个统计集合,然后作为一种附加的特征和一元模型一起运用在评级预测中。
不同于对每条评论的预测,Snyder and Barzilay 研究了基于预测每一方面等级的问题。一个简单的方式就是利用标准的回归或分类技术。但是这种方法没有利用用户对不同方面的评论。这些评论对于精确预测还是有很大帮助的,所以论文有提出了两个模型:方面模型和协议模型。

3.4跨领域的情感分析
情感分类在一个领域中具有很高的敏感性。训练自一个领域的文档分类器很难应用到另一个领域。因为在不同领域中,语句甚至语言结构的表述不同可能会产生不同的情感。更糟糕的是,有些词语在不同的领域中可能会代表不同的意思。
Aue and Gamon提出了一种在缺乏大量目标领域中的已标记数据的情况下,怎样将情感分类器转化到新的领域的方法。他们在实验中使用了四种策略:(1)训练来自其他领域,且可用于和测试于目标领域的混合已标签评论。(2)用策略1训练出一个分类器,但要限制一个只能用于目标领域的特征集合。(3)将来自目标领域中未标签评论和其他领域中已标签可用评论形成的分类器集成。(4)将目标领域已标签的少量评论和未标签的大量评论进行结合。
3.5跨语言的情感分析
跨语言的情感分析是对多语言的文档进行情感分类。有两种主要动力推动了跨语言的情感分析研究。一是来自每个国家的研究者都想建立一套属于自己语言的情感分析系统。目前,在英语的情感分析相关研究有很多资源和工具,现在研究问题是怎样将现有的英语相关研究成果运用到其他语言中。二是现在很多跨国企业想知道自己产品在不同国家的消费者评价,如果他们已有一套英语的情感分析,那么他们也想希望将这套系统应用到其他语言中。
有研究者利用英语情感分析资源对汉语评论进行情感分类。第一步是将汉语通过不同的翻译工具翻译成不同版本的英语,再通过基于词典的方法将翻译的不同版本英文评论进行情感分析分类。如果汉语词典也可以利用,那么也需要利用基于汉语词典的方法将汉语评论进行分析分类。实验表明这种方法是比较有效的。
还有一种是协同训练的方法(co-training method):在该训练方法中,以已标记的英语评论集和未标记的汉语评论集作为输入,将已标记的英语评论集翻译成已标记的汉语评论集,将未标记的汉语评论集翻译成未标记的英语评论集。对于每条评论的英语版本和汉语版本都是相互独立的。这种运用SVM的协同训练算法被用于学习两个分类器中。最终,这两个分类器合并成一个分类器。
Wei 和 Pal提出了一种转移的学习方法(a transfer learning method)。由于目前自动翻译机的不尽完美性,为最小化降低翻译中的噪音(noise),他们提出一种结构对应学习方法(SCL)来提取两种语言中的核心特征集。
Boyd-Graber 和 Resnik扩展了主体建模方法,将SLDA (supervised latent Dirichlet allocation )运用到多重语言(multi-languages)评论等级分析中——MLSLDA。

第四章 语句主观性和情感分类

文档级别的情感分类过于简单,我们需要进一步到语句级别进行情感归类。两种级别的情感分类没有根本性的不同,毕竟语句是短小的文档。一般语句会表达一种单一的观点,而文档会包含多重观点。
这种五部分定义(e,a,s,h,t)不能用在语句分类中,因为语句分类是它的一部分,没有说明t(target),只是对消极和积极观点进行分类。
语句情感分析可以作为一个三类分类问题(three-class classification problem)或者两个分割的分类问题(two separate classification problem)。对于后者方法,第一个问题是要分清这条语句是否有观点,第二个问题是如果有观点声明,是积极观点还是消极观点。第一个问题经常成为主观性分类(subjectivity classification),用来确定语句是主观性还是客观性。但需要注意的是,客观性语句也可以表达某些观点。所以第一个问题更确切的分类应该是判断一个句子是否具有武断性(opinionated),而不是主观与客观的判断。
但下面介绍的还是主观性的分类
4.1主观性分类(Subjectivity Classification)
主观性分类,将语句分为两类:主观性和客观性。目前已存在的大多数方法是基于监督学习的。例如:the naïve Bayes classifier with a set of binary features。
Wiebe 提出了一种非监督方法,只是用一个句子中的主观性表达的存在来确定一个句子的主观性。——(不懂)。由于没有完全的表达集,它提供了一些种子,然后通过分配相似性来发现相似的单词。但是这种方法的精确度不高。当时,这种方法和可分等级性(Gradability)经常用来过滤一些错误的主观表述。Gradability是一种语义特性(semantic property),能够使一些词汇表现出比较结构,或在修饰一些表述时表现出一定的程度。等级形容词可以作为很好的等级调节器用在手动编译的副词或名词短语上。
Yu and Hatzivassiloglou提出了一种使用语句相似性和一个naïve Bayes分类器。语句相似性方法是基于主观性语句或观点性语句相比事实语句,更类似于其他观点性语句的假设。他们使用了SIMFINDER系统,基于分享的词汇,短语和“单词网络”(WordNet synsets)来测量语句的相似性。对于naïve Bayes Classification,可以使用利用一些特征,像words (unigram), bigrams, trigrams, part of speech, the presence of sentiment words等。
在监督学习中的一个瓶颈之一就是需要手动注释大量的训练例子。这就需要提出一种自举(bootstrapping)的方法自动标记训练数据。Riloff and Wiebe提出的这种算法是使用高精度的分类器(HP-Subj和HP-Obj)来自动标记一些主观性和客观性的语句。这种高精度分类器使用了一个带有主观性线索的词汇清单。高精度主观性分类判断一个句子是否是主观性语句,依据是否有比较好的主观性线索,高精度客观性分类器分类一个句子具有客观性,如果没有很强的主观性线索的话。这些筛选出的语句添加到训练数据中来学习样本语句,这些样本语句被自动注释为主观性和客观性,再将它们添加到训练集中,并以此重复该算法。
Wiebe and Riloff提出了一种基于一般规则的方法来产生一些用来主观性分类的训练数据。这种基于规则的主观性分类器视一条语句为主观性,当它包含两条或更强的主观性线索时。相反,如果在语句中没有很强的主观性线索,基于一般规则的客观性分类器将它视为客观性。该系统也会利用信息提取系统——AutoSlog-TS,学习一些关于客观性语句的新样本。
Riloff, Patwardhan and Wiebe研究不同特性(features)之间的关系。他们在unigrams, n-grams and lexico-syntactic patterns中定义了包含关系。如果一个特性被另一个所包含,那么这个特性就不需要,可以被移除掉。
Pang and Lee提出了一种基于最小割的算法(mincut-based),将一条语句分为主观性和客观性。该算法从事于观点文档的语句图表化。该图表的建立首先基于本地注释的连续性(local labeling consistencies)和基于传统分类方法计算出来的独立句子的主观性得分。本地注释的连续性意思是说相联系的句子更有可能有相同的分类标签(主观或客观)。这项工作可以从评论中移除客观性语句,以改善文档水平的情感分类。。
Raaijmakers and Kraaij发现子字的N元字符而不是词的N元单词,也能很好的表现出语句情感和主观性分类。For example, for the sentence ,”This car rocks”, subword character bigrams are th, hi, is, ca, ar, ro, oc, ck, ks.在实验中,词的N元(word n-grams),字的N元(character n-grams)和音素的N元(phoneme n-grams)都做了主观性分类比较。发现字的N元分类方法明显优于其他两种。
Wilson, Wiebe and Hwa指出一条语句也可能会包含主观性和客观性两条从句。精确的定位出从句也是非常关键的,另外明确主观性的强度也非常重要。
Benamara et al.提出了一种分为四个类型(S,OO,O,SN)的分类器。S表示subjective和evaluative(表示句子可分为positive和negative);OO表示在客观语句中暗藏的positive和negative;O表示没有任何观点的客观陈述句;SN表示subjective但non-evaluative(没有positive和negative)。这种分类器更加完善,也符合在2.4节讲的,有些subjective sentence是non-evaluative,而有些objective sentence是evaluative。
4.2语句情感分类
当一条语句被定义为主观性后,我们就需要确定它是表达一种积极还是消极的观点。在此之前,我们需要先假设这条语句是表达了一位观点持有者的单一观点。这样可以简化语句情感分类的研究。
在主观性语句分类中,Yu and Hatzivassiloglou使用了一中类似于Turney的方法。但不是使用一个种子词,而是使用了一个形容词种子集。而且也没有使用PMI,而是使用了对数似然比(log-likelihood ratio)来断定每个形容词、副词、名词、动词的积极或消极。为了对每条语句划分积极或消极,利用了这条语句中每个词汇的对数似然平均值来判定。
在aspect层次情感分类中,Hu and Liu提出了一种基于词汇的算法,而且这种方法也能很好的确定一条语句的情感方向。这种情感词典一般使用一种自举策略来实现,而自举策略则是利用了给定的积极或消极情感词和在WordNet中同义或反义的关系。
Gamon et al.提出了一种半监督学习算法,用来学习已标注的小集合语句和未标注的大量语句。这种算法基于使用了朴素贝叶斯(naive Bayes)的期望最大化(Expection Maximization(EM))。它可以将语句分为三类:积极,消极和其他。
McDonald et al.提出了一种分层序列学习模型(hierarchical sequence learning model),类似于条件随机场(conditional random field)(CRF),在语句层和文档层联合学习和推断情感。
4.3条件语句处理
目前现有的关于语句级别主观性和情感分类的研究主要集中于解决一般性问题,而没有考虑到不同类型的语句需要不同的对待。Narayanan, Liu and Choudhary认为,用一种技术去解决所有问题是不可能的,因为不同类型的语句在不同方式上会表达出不同的情感。他们的研究主要集中在条件语句,这些条件语句有一些独特的特性,使它们很难通过一个系统来确定它们的情感方向。
条件语句是那些描述比较含蓄或假定条件下的结果。一个典型的条件语句包含两个从句:条件从句和结果从句,它们是相互依存的,任何独立的一个都不能判断情感。例如:If someone makes a reliable car, I will buy it。 有一种监督学习方法,利用一个语言学特征集来解决这个问题。
另外一种比较困难确定的语句是疑问语句。据我所知目前在这方面还没有研究。但以后在这个领域还是需要深入研究的。
4.4讽刺语句的处理
Sarcasm在语言活动中是一种非常复杂的形式。讽刺语言在语言学、心里学和认知科学中已经有所研究。在情感分析中,Sarcasm表示当某个人带有积极观点的讨论一件事情,实际上是消极观点。Sarcasm很难处理,个人观点认为,讽刺性语句在产品和服务评价上并不常见,但是在政治观点上却非常常见。
Tsur, Davidov and Rappoport提出了一种半监督学习方法来识别讽刺语言。它用了一个已注释语句的小集合,而没有使用未注释的语句,但是它可以通过Web搜索来自动扩展种子集合。研究者假设讽刺性语句在文章中和其他讽刺性语句是经常共同出现的。
Gonz¨¢lez-Ib¨¢ñez, Muresan and Wacholder利用Twitter数据来研究情感分析,他们使用了基于SVM和logistics regression的监督学习方法来识别讽刺性推文和非讽刺性推文。
4.5跨语言的主观性和情感分类
类同与文档跨语言的情感分类
4.6语篇信息在情感分类中的应用
大部分已存在的文档级别和句子级别的情感分类都没有用到语篇信息(Discourse Information)。Asher, Benamara and Mathieu使用了五类修辞的关系:Contrast,Correction,Support,Result 和 Continuation。Somasundaran, Ruppenhofer and Wiebe提出了一种称为opinion frame的概念,这种观点框架的成分就是它们目标之间的观点和关系。
Somasundaran et al 提出了一种基于观点框架注释的情感分类方法。这种分类算法使用的是集体分类(collective classification),Bilgic, Namata and Getoor将这种分类通过图表形式展现出来。图表中节点是需要被分类的语句或一些其他表述,连线是它们之间的联系。这些联系可以用在一般的联系特征集中。每一个节点也会生成自己的本地特征集,这种特征集可以从一个节点影响到另一个节点。

0 0
原创粉丝点击