句子级别的情感分类目标是识别每个观点文档中的句子所包含的情感倾向。大多数文档级别的情感分类论文都忽略中性类,但对于句子级别的情感分类,中性类就不可以忽略了。句子级分类假设:一个句子只表达了一个观点,即只含有一种情感。这使得句子级情感分类难以应用到一些复杂的句子中:
- 这个假设只适用于仅带一个情感的简单句(主谓宾)
- 这个假设可能会导致只能判别句子整体层次是正面或负面的情感,会忽略一些细节。
- 句子级情感分类任务只适用于常规型观点的句子,而不能用于表达比较型观点的句子。
定义4.1(句子级情感分类):给定句子 x,判断x表达的是正面、负面还是中性(无)的观点。
定义4.1也没有使用五元组对句子级情感分类任务进行定义,这是因为句子级分类只是整个情感分析任务的一个中间步骤,这一任务并不关注观点评价对象、观点持有者和观点发布时间等信息的抽取与识别。句子情感分类可以看作一个三类分类问题或者两个单独的两类分类问题进行解决。在后一种情形下,第一步是判别当前句子是否包含了观点信息。第二步是识别句子中观点的倾向性,判别其是褒义的观点还是贬义的观点。
定义4.2(含观点的):一个句子若表达或隐含了正面或负面情感,则这个句子是含观点信息的。
定义4.3(不含观点的):一个句子若不表达也不隐含任何正面和负面情感,则它是不含观点的。
此外句子级情感分类不能处理带有相反观点等多种类型的句子,如:”Apple is doing well in this bad economy“。
定义4.4(主观性与客观性):主观性即在人的主观意识中而不是在客观世界中产生的。客观性即真实现实存在的。
定义4.5(句子主观性):一个客观句表达的是事实性的信息,而一个主观句表达的是个人感受、观点、判断或信仰。
- 一个人主观性的句子也可能不表达任何正面或负面的情感。
- 客观句也可以隐含观点或情感。
4.1 句子级主客观分类
主客观分类就是把句子分为主观句和客观句两类。
大多现有主客观分类方法都是基于监督学习的。比如,Wiebe等(1999)的早期工作就使用朴素贝叶斯分类器来进行主客观分类,其中用了一组二值特征,比如,代词、形容词、基数词是否出现,will 以外的情态动词是否出现,not 之外的副词是否出现等。Yu和Hatzivassiloglou(2003)使用句子相似度和朴素贝叶斯分类器进行主客观分类。句子相似度方法的基本假设是主观性句子与其他主观性句子在语义上相似,而与客观性句子的语义不相似。他们利用Hatzivassiloglou等(2001)的SIMFINDER系统来衡量句子的主观性。
监督学习的一大瓶颈就是需要人工标注大量数据。为了减少人工工作,Riloff和Wiebe(2003)给出了一种基于自举策略的方法对数据自动标注。算法首先用两个具有高准确度的分类器(HP-Subj和 HP-Obj)自动发现一些主观句和客观句。这两个高准确度的分类器简单地使用明显表达了主观性的词典项(单个词或n-gram)进行主客观的判别。在HP-Subj分类器中,如果一个句子包含两个或更多的主观词,这个句子将被视为一个主观句。而在HP-Obj分类器中,如果一个句子不包含任何主观成分,这个句子将被视为一个客观句。初步分类后,该方法把提取出的句子加到训练集中,训练得到的模板接着用来分类更多主观句和客观句,再把这些句子加人训练集,进行算法的下一次迭代。他们用了一些句法模板来限制模板的种,。下表为一些句法模板例子和模板实例:
基于这些规则,如果一个句子中包含两个或更多强主观性的线索,则该分类器把当前句子分为主观句。相反,如果一个句子中没有包含任何主观性的线索且满足些条件,则分类器将该句子识别为客观句。这个系统还用了信息抽取系统AutoSlog-TS学习新的客观句模板。这些基于规则的分类器所产生的数据可以进一步用来训练一个朴素贝叶斯分类器。
Pang和Lee(2004)提出了一个基于最小割的算法进行主客观分类,该算法需要构建一个观点文档的句子图。构造这个图用到了局部标签一致性(用以产生两个句子关联性得分,判定两个句子拥有相同类别标签主观和客观的可能性)和传统分类器输出的句子主观性的概率(用以产生每个句子的主观性得分)。最小割算法则可以用局部标签一致性来改进基于单个句子的主客观分类。这个工作的目的是将客观句移除,以改善文档级别情感分类。
有趣的是,Raaijmakers 和 Kraaij(2008)发现:基于字母的 n-gram 特征,而不是传统基于词的n-gram 特征,也可以很好地用于情感和主客观分类。比如句子“This car rocks”中包含的字母 bigram 就有 th、hi、is、ca、ar、ro、oc、ck、ks。他们比较了基于词的n-gram、基于字母的n-gram、基于音素的n-gram对主客观分类任务的效果。令人惊奇的是,基于字母的n-gram效果最好,而基于音素的n-gram和基于词的n-gram效果则差不多。4.2 句子级情感分类
与文档级情感分类任务相似,这个问题依然可以使用监督学习的方法处理,也可以用基于词典的方法进行处理。
Hu和Liu(2004)用了一个基于词典的算法进行面向属性的情感分类,但这个方法也可以用于确定句子的情感类别。他们用自举策略,通过给定的正负情感种子词以及 WordNet 中的同义词反义词关系,得到一个情感词典。一个句子的情感倾向可以通过对句中所有情感词的倾向得分求和得到。
Gamon等(2005)使用了一个半监督学习算法从一个有标注的小数据集和一个无标注的大数据集中学习分类器。该算法基于 EM 算法,并用朴素贝叶斯作为基分类器(Nigam et al.,2000)。
McDonald等(2007)使用了一个类似条件随机场(CRF)(Laferty et al.,2001)的层次序列标注模型,来联合学习并同时判别句子和文档中所蕴含的情感。训练数据集中的每个句子都有情感标注,每条评论也有一个情感标注。他们的结论显示同时在两个级别进行学习,能够同时提升两个级别的情感分类准确性。
Socher等(2013)使用了一个深度学习方法进行句子级和短语级的情感分类,他们称为递归神经张量网络。这个网络主要是对句法树中的短语生成了一个语义组合函数。训练时用到了给定的情感类别标签,以及一个 softmax 分类器的输出,该分类器的输入则是神经网络组合函数产生的向量。softmax 分类器的训练也用到了句法树的结点向量和该结点的类别标签。
最后,许多研究者还尝试研究了面向推文的情感分类任务。因为一条推文很短,可以看作句话。例如,Davidov等(2010)用了传统的n-gram特征,并使用了如标签、表情符号、标点、惯用模式等推特特有的特征。Volkova 等(2013)研究了不同性别在使用主观性或含观点语言、表情符号、标签等上的不同。实验表明,考虑了这些特征的分类效果比不考虑的分类效果好。4.3 处理条件句与讽刺句
4.3.1 处理条件句
Narayanan 等(2009)认为不太可能有一种万能技术可以解决所有问题。因为不同类型的句子表达情感的方式很不一样,需要一个能关注不同句子类型的分治处理策略。
条件句通常会描述隐含的意思、假设情形及其对应结果。通常情况下,一个条件句会包含相互依赖的两个从句:条件从句和结果从句。仅仅有情感词(如great、beautiful、bad)是不能区分句子中是否含有观点信息的。因此,已有对非条件句适用的情感分类方法在条件句上就失效了。下面列出一些条件句模式,其通常都会含有情感信息。这些模式对于产品评论、在线讨论、博客文本等都很有用,而在其他领域文本中不是很常见。每个模式都必须出现在结果从句中,而条件从句常会表达一个要买特定类型产品的一种有条件的意愿。%20ENTITY%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20ENTITY%20is%20the%20way%20to%20go%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20this%20is%20it%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20(search%20%7C%20look)%20no%20more%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20CHOOSE%20ENTITY%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20check%20ENTITY%20out%20%7D%20%5C%5C%20%0A%0A%5Ctext%20%7B%20NEGATIVE%20%7D%26%20%3A%3A%3D%20%26%20%5Ctext%20%7B%20forget(this%7Cit%7CENTITY)%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20keep%20looking%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20look%20elsewhere%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20CHOOSE(another%20one%7Csomething%20else)%20%7D%20%5C%5C%0A%0A%5Ctext%20%7B%20CHOOSE%20%7D%26%20%3A%3A%3D%20%26%20%5Ctext%20%7B%20select%7Cgrab%7Cchoose%7Cget%7Cbuy%7Cpurchase%7Cpick%7Ccheck%7Ccheck%20out%7D%20%5C%5C%0A%0A%5Ctext%20%7B%20ENTITY%20%7D%26%20%3A%3A%3D%20%26%20%5Ctext%20%7B%20this%7Cthis%20ENTITY%5C_TYPE%7CENTITY%5C_NAME%20%7D%20%5C%5C%0A%5Cend%7Barray%7D%0A#card=math&code=%5Cbegin%7Barray%7D%7Bll%7D%0A%5Ctext%20%7B%20POSITIVE%20%7D%26%20%3A%3A%3D%20%26%20%5Ctext%20%7B%20ENTITY%20is%20for%20you%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20ENTITY%20is%20it%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20ENTITY%20is%20the%20one%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20ENTITY%20is%20your%20baby%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20go%20%28with%20%7C%20for%29%20ENTITY%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20ENTITY%20is%20the%20way%20to%20go%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20this%20is%20it%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20%28search%20%7C%20look%29%20no%20more%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20CHOOSE%20ENTITY%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20check%20ENTITY%20out%20%7D%20%5C%5C%20%0A%0A%5Ctext%20%7B%20NEGATIVE%20%7D%26%20%3A%3A%3D%20%26%20%5Ctext%20%7B%20forget%28this%7Cit%7CENTITY%29%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20keep%20looking%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20look%20elsewhere%20%7D%20%5C%5C%0A%26%26%5Ctext%20%7B%20CHOOSE%28another%20one%7Csomething%20else%29%20%7D%20%5C%5C%0A%0A%5Ctext%20%7B%20CHOOSE%20%7D%26%20%3A%3A%3D%20%26%20%5Ctext%20%7B%20select%7Cgrab%7Cchoose%7Cget%7Cbuy%7Cpurchase%7Cpick%7Ccheck%7Ccheck%20out%7D%20%5C%5C%0A%0A%5Ctext%20%7B%20ENTITY%20%7D%26%20%3A%3A%3D%20%26%20%5Ctext%20%7B%20this%7Cthis%20ENTITY%5C_TYPE%7CENTITY%5C_NAME%20%7D%20%5C%5C%0A%5Cend%7Barray%7D%0A&id=ZAbbJ)
大多数情形下,实体名称不会在这些句子里提及,即它们要么在更早的句子中提到了,要么就是当前正在评论的产品。但是,观点所评价对象的属性则会在条件从句中频繁提到。尽管这些模式对于发现条件句中的情感很有用,但是对于非条件句可能就不适用了。大多带有情感词的条件句并不表达观点,要识别它们依旧很难。顺便提一句,使用 if或者whether表达不确定性的句子,通常都不含正面或负面情感。
另一种难以处理的句子是疑问句,据我所知,这个领域还没有什么相关研究。4.3.2 处理讽刺句
在情感分析领域,讽刺是指当一个人表达正面观点时,实际蕴含的是反面观点,反之亦然。讽刺句因为句法形式繁多、情感倾向不明确,在情感分析领域很难处理。讽刺句在产品和服务的评论中并不多见,但在政治相关的讨论中很常见。
Tsur等(2010)使用了一种基于半监督学习的方法识别文本中的讽刺现象。其提出的讽刺检测算法用到了少量有标注的种子句子,但没有用未标注数据。它通过网页搜索自动地扩展种子集。作者假设讽刺句会在文本中和其他讽刺句频繁共现,于是把种子集中的每个句子当作查询词进行网页搜索,保存每次搜索引擎返回的前50条网页摘要,并加人训练集中。这个扩展之后的训练集用来学习和分类。学习时使用的特征包括两类:基于模板的特征和基于标点的特征。基于模板的特征是一个高频词的有序序列,基于标点的特征则包括了叹号、问好和引号等的数量,以及句中首字母大写和全大写的单词数量。然后,他们用了一个基于近邻的方法进行分类。这一研究并没有涉及情感分类,只是用来识别讽刺。
Riloff等(2013)提出了一种自举方法来检测特定类型的讽刺推文,这种类型的讽刺推文由一个正面情感后面接一个负面情感的句子。比如“I love waiting forever for a doctor”中,喜欢表示一个正面情感,而永远等待表示一个负面情形。他们的自举学习过程假设一个正面情感短语会出现在一个否定短语的左边,并且靠得很近(通常是相邻的,但也不一定)。通过人工标注的讽刺和非讽刺语料,算法首先抽取出一些候选的否定短语,都是在love右边出现的n-gram。之后就基于人工标注数据,对每个候选短语打分,超过一定阈值的就加入到否定短语集合中。自举学习过程中,交替地学习正面情感和负面情感短语,直到不能抽取出更多的短语时停止。最终得到的正面情感短语和否定短语就可以用来识别讽刺类型的推文。4.4 跨语言主客观分类和情感分类
这方面的研究同样使用大量英语资源和工具,通过自动翻译系统,帮助在其他资源较少的语言上建立情感分析系统。现有研究主要提出三种处理策略:
- 把目标语言的句子翻译为源语言,再使用在源语言上训练得到的分类器进行分类。
- 把源语言的训练语料翻译为目标语言,然后训练一个目标语言上的分类器。
- 把源语言的情感或主观性词典翻译为目标语言,再为目标语言构建一个基于词典的分类器。
Banea 等(2010)做了一个跨语言句子级主客观分类的大范围实验,他们将标注后的英语语料翻译为五种其他语言。第一,他们发现将所有不同语言的翻译文本与原本的英语合为一个数据集,可以提升原本只用英语数据进行主客观分类的结果。第二,他们发现通过多数投票的方式合并多语言分类器的预测结果,有可能得到一个句子级高精度主客观分类器。
Kim等(2010)引人了一个叫作多语可比性( multilingual comparability)的概念,来评价多语言的主客观分类系统的性能。他们使用一组含有主观性信息的文本的多语言版本,根据其分类结果的一致程度来衡量多语言的可比性。他们用平行语料研究了源语言和目标语言的分类结果,利用Cohen’s Kappa统计量衡量结果的一致性。结果显示,用英语翻译而来的语料进行训练,所得分类器在主客观分类和多语可比性两方面都有较好的效果。
4.5 在情感分类中使用语篇信息
现有的情感分类工作,无论是文档级别还是句子级别,大都没有用到句子间或从句之间的语篇信息。但是,很多情形下这类分析是很有必要的。
Asher等(2008)和Somasundaran 等(2008)研究了语篇级别的情感标注任务。其使用了五种修辞关系:对比、修正、支持、结果和连续,与表达了情感信息的文本表达一起进行情感信息的标注。
Somasundaran 等(2008)提出一种称为观点框架的概念,这一框架由观点及观点和观点评价对象之间的关系构成。在另一篇论文中,他们使用Bilgic等(2007)提出的协同分类算法进行情感分类。协同分类是在一个图上进行的,其中图中的节点是待分类的句子,边则是它们之间的关系。这些关系可以用来生成用于学习的关系特征,每个节点自己还能产生一组局部特征。在协同分类的框架中,关系特征可以让一个节点的分类结果去影响其他节点的分类。