本篇文章完全来自上述章节,只是个人学习总结笔记。
摘要: 情感分析/意见挖掘可以自动从大量数据中得到人们的看法,同时消解个体的偏向(bias),所以很必要。
[zm 这篇主要在讲对review评论的挖掘,着重是说人们对某件事情的看法,意见。我在接触之前,一直以为情感分析是分析情感,想得比较多的是情绪这个方面。可能是因为一直思考对话系统中的情感分析限制了自己的想法,总想分析对方的情绪。如果放在社交媒体上,其实也是一样的,我试图去分析人们的情绪消极或积极,也需要有一个对象,那也就变成了对某件事的看法。不过有一个因果问题,当人们在社交媒体上表达情绪的时候,是因为这个事件而有的情绪,还是对这个事件表达看法,好像很不一样。]
一: 定义问题
第一,什么是opinion
一个entity (e), 例如手机,或者某个牌子的手机,有许多component(摄像头,屏幕),和一些sub-component(感光元件等)。我们把这个entity看作一个树,每个node就是一个细节。对每一个(sub)component,可能会有几个attribute,比如摄像头清晰度,摄像头大小等等。这样一棵枝枝桠桠的树🌲,就是opinion target,供人评价的对象。
一般来说,我们不需要搞这么多层次,直接降维打击,用aspect (a) 来表示那些component+attribut,例如摄像头的像素,这就是一个aspect,一个entity,有许多aspect供人评价(包括entity本身)。除此之外呢,我们还考虑,谁是发出这个review的人(opinion holder(h)/source)[zm 从这个holder可以延伸出sex,age等等],也可以考虑时间[zm应该主要用于分析某社会事件].
这样我们把这个题定义为数组[e, a, o, h, t]的问题,[zm 哎呀!没想到!], 其中,对于对整个entity评价的评论,我们将aspect定为GENERAL所以我们做这种情感分析,做的就是: entity的抽取与分组(同义词放在一起), aspect的抽取与分组,抽取意见持有者和事件,把sentiment分类,生成一个上面所说的数组。这样把文本变成了结构化的文本,方便进一步的分析研究。
[zm 666,想问题就是要全面,我认为这个defination是整篇最重要的部分了,研究一个sentiment,要考虑到发起人和评价对象,才算一个完整的研究。因为平时做起来粗糙,场景单一,忽视了这个全面的定义。]
两个其他的问题:主观性(subjectivity)与情感(emotion)。
一个橘子很大,是个客观评价。
一个橘子很漂亮,是主观感受。
subjectivity classification就是用来区分一个句子是主观还是客观的。主观句子中一般有评价,但是客观句比如:这手机不耐摔,也暗含了评价。评价句不一定是主观句,但是有很大交集。
emotion:joy,anger,fear等等。这些emotion也有时表达了人们对事情的评价:买了这个手机真开心。这种句子被叫做rational evaluation sentences.就是感性评价句。
第二, aspect-based opinion summary
从每个方面来评价一个entity,最后给个总结。这部分不感兴趣。大概就是综合大家的评价生成一个评价,文本的评价可能会失去一些数量信息,不利于分析,扇形图之类的可以给读者一个比较便于analyse的结果。
二:文本情感分类
把整个文本看作一个整体,以获得对整个entity的评价。
监督学习:可以看作一个三分类(pos,neg,neutral)问题,一般review一般都会有用户自己的评分,一到五星,可以用这个做label来训练。目前的许多方法都可以直接用在这里:unigram的朴素贝叶斯和SVM都能表现不错。
除了用词的occurence,也可用其他特征,例如词频/词性[形容词更重要]/意见词或短语/否定词/句法依赖。基于这些特征,可以改进监督学习模型。
无监督学习:无监督学习一般就用意见词来判断
1.抽取形容词短语
2.计算在所有文档内这样的短语与excellent/poor的PMI,也就是共同出现的频率
3.统计这个文档内所有短语的平均SO(情感倾向)
三:句子主观性判断和情感分析
两个任务:
1. 判断句子主观性,从而过滤掉不表达观点的句子
2. 抽取句子中的aspect并分析so
一般认为一个句子来自同一个opinion holder
[zm 这部分主要在讲一些细节的问题,比如有多个从句的句子处理起来如何如何难,需要做短语级的分析]
四:观点词扩充
根据上面的一些研究,我们发现关键词是情感分类中最重要的任务,扩展关键词是一项很重要的任务,有以下几种方法。
1.根据词典扩充。种子+用wordnet/hownet之类的词典寻找同义词和反义词
缺点:太general,可能不适应具体文本。
2.根据文本库扩充。在文本库中通过AND/OR/BUT等一些连接词来扩充辞典。(CRF可以用在这里)
缺点:效率低
五: Aspect-Based 情感分析
两个分解任务:
1. 抽取Aspect
2. 情感分类
5.1 首先,情感分类:
用lexicon-based方法来解决这个问题
1. 用pos/neg标记opinion词
2. 解决shifter(not/no)
3. 解决but从句
4. 计算一个句子中每个aspect的oo(opinion orientation)
5.2 Opinion Rule(?)
opinion rule 就是表示一个opinion是正还是负
1. opinion word可以直接确定是正还是负
2. 这个结果是不是用户预期的结果同样可以表示正负的评价
3. 数量的高低多少同样可以表达看法的正负,例:电视太小了
4. 数量的增加减少也可以,例:吃了这个我头疼减轻了
5. 与正常/期待的不太一样,例:这个药让我血压变低了
6.产生/消耗资源,例:这个太费水了
5.3 Aspect抽取
这个章节介绍了一些无监督的特征抽取方式。第一种方法:
1.找到常出现的名词/名词短语:常出现在人们的评论中,通过计算这个aspect与entity/product class的PMI来确定是不是个component.
2.通过分析aspect和opinion的关系找到不常见的aspect:通过人们的评价,来找到aspect
CRF, HMM 也可以被用在这里。LDA等TOPIC modeling的方法也可以用在这里[zm在中文短文本上做了实验,效果不怎么样]
5.4 同时做意见词扩充与aspect抽取
通过探索句法特征来同时处理以上两项任务,主要分为以下四个分任务
1. 用opinion word抽取aspect
2. 用已得aspect抽取更多aspect
3.用额外获得的aspect抽取opinion word
4. 用已有的所有opinion word重新扩展opinion word
好玩,主要是用dependency grammar来解决问题
[zm 以下不太感兴趣,今天不看了]
6. 挖掘比较观点
7. 其他问题(entity/holder/extraction 抽取/grouping)
8. 垃圾观点检测
这篇文章对问题的阐述,定义,比较清晰。方法讲的不多,但是问题分析很细致。
Good Representation for Academic Writing:
The task is technically challenging and practically very useful.
Proliferation[增殖] of diverse sites.
Decipher the opinionated text
Research has been done in academia[学术界]
A unified framework
Two terms are used interchangeably.
Quintuple[五部分的]
Opinion, Alligation[陈述], Desire, Belief, Suspicious, Speculation[推断]
Opinion quintuples defined above provide an excellent source of information for generating both qualitative and quantitative summaries.
Some side is crucial
Concise[精确,简练]
Opinion orientation
engineer an effective set of features.
Be instrumental to [积极的,有帮助的]
Two Consecutive[连续的] words