1.2 研究进展
1.2.1 概述
观点分析是对人们发表的针对实体、事件及属性的观点、评价和情绪的可计算化研究。近年来,由于广泛的应用前景和许多可研究的挑战问题,这个领域吸引了工业界和学术界大量的关注。观点极性分析不是一个单一的问题,而是由许多方面和子问题组成的复杂问题。此领域的研究起源于观点极性分类及主观性分类,即将其作为一个文本分类问题。观点分类是判别一个观点文档或句子表达表示出的观点极性,如正面或者负面。[14]主观性分类则是检测一个句子是主观还是客观性描述。[15]然而,许多真实环境下的应用要求更详细的分析,因为用户通常想知道观点的主题。[13]例如,一个产品评论,读者想知道用户称赞或者指责产品的哪个特征。为便于理解,以亚马孙网站上一款手机评论(图1.4)为例进行分析:
图1.4 手机评论样例
(为了便于分析,手工添加了句子编号)
在这份评论中有若干个观点,前5句表达正面观点,后3句表达负面观点。这些观点针对不同的目标或者对象。例如,第2句评价屏幕,第3句评价喇叭,第6句评价按键,第5句却是评价“我”,而不是手机相关的内容。在实际应用中,用户关心的基本是产品的某一个待评价目标而不是具体用户的信息。这些观点的持有者也不相同,第4句和第5句是“女朋友”,其他句的观点持有者则是评论的作者。
根据对这个评论样例的直观理解,观点分析问题形式化定义如下:一个观点是一个五元组,,其中ei是实体的名称,aij是实体ei的一个方面(aspect), sijkl是对实体ei的方面aij的观点极性,hk是观点持有者,tl是持有者hk发表观点的时间。通常观点极性sijkl为正面、负面或者中性,也可以用不同的强度级别来表示,如很多评论网站采用1~5星级。
根据上述观点分析的定义,整个问题可以分解为如下几个子任务。
任务1:实体抽取和分类。抽取文本中所有的实体表达,并且将同义的实体表达分组到一个类簇,每一个类簇表示一个唯一的实体。
任务2:评价目标的抽取和分类。抽取文本中与实体相关的所有被评价的目标方面(为了便于理解,本书在后续描述中将其称为“评价目标”)短语,并且将多个同义的评价目标短语分组到一个类簇,每一个类簇都表示实体唯一的一个被评价目标。
任务3:观点持有者抽取和分类。从文本或者结构化数据中抽取每个观点的持有者并对其进行分类。
任务4:时间抽取和标准化。抽取出观点提出的时间,并对不同格式的时间进行标准化。
任务5:观点分类。检测文档、句子或者评价目标相关的观点极性,即正面、负面和中性,或者指定一个数字星级。
任务6:观点五元组生成。基于前5个任务的结果,生成观点五元组表示。一段文本可能包含多个观点五元组。
与客观存在的事实信息不同,观点是一种主观性的信息。在实际应用中,单个持有者的观点不一定能充分反应群体的认知,这就需要分析大规模群体中的所有成员的观点。基于这个原因,提供某种形式的观点摘要成为观点分析问题的一个潜在需求。因此,观点摘要任务也是学者经常研究的问题,其定义如下。
任务7:观点摘要。根据从给定文本中检测出的所有用户的观点,自动产生某种形式的观点摘要,如定量或者定性的观点概述。
随着观点分析早期研究工作的提出[13][16-17],学者对各个任务的研究都相继展开。根据实际应用的驱动,评价目标的抽取和分类(任务2)及观点分类(任务5)的相关研究工作较多,国内外研究者目前已取得较好的成果。观点摘要(任务7)作为一种最终应用形式,也具有较高的研究和应用价值。因此,本书的研究工作围绕这三个任务展开。
1.2.2 观点分析研究现状
1.评价目标的抽取和分类
此任务是细粒度观点分析的必要步骤。当人们对目标进行评价时,可能针对目标的不同方面(属性)分别评价,不同的评价目标可能获得不同的观点评价类别。由于领域差异、评价人用词习惯不同等原因,评价目标的抽取面临很大的挑战,因此学者对此问题进行了深入研究。评价目标的抽取和分类方法可以分为两类:非本体方法和本体方法。
(1)非本体方法。一种思路是基于主题模型的方法。比如,Moghaddam等人[18]针对冷启动术语(cold-start term)问题,设计了FLDA(Factorized Latent Dirichlet Allocation)模型来抽取评价目标和评估目标的认可星级,克服了直接采用LDA模型遇到的冷启动术语训练语料稀少的问题。同样是为了克服训练语料稀少的问题,Wang等人[19]提出了两种半监督的模型,即FL-LDA(Fine-grained Labeled LDA)和UFL-LDA(Unified Fine-grained LDA)。第一种模型结合了从电商网站获取的种子目标词,第二种模型结合未标记文档中的高频词来建模。为了更充分地利用训练资源,Zheng等人[20]结合评估表达式模式(appraisal expression pattern)到LDA模型进行目标和情感的抽取,其评估表达式模式是从词间的最短依存路径中获取的。为了克服评价目标与情感各自独立建模的信息孤立问题,Xu等人提出联合评价方面/情感模型来抽取评价目标。他们先建立依存情感词典,然后将词典的情感先验信息注入LDA模型中去抽取主题和分类。另一种思路则采用非主题模型方法。比如,Zhang等人[21]使用CRF模型,结合多种句法和语义特征进行评价目标识别。Bagheri等人[23]提出一个无监督的领域无关的模型,来抽取显式及隐含的评价目标。他们先基于词性模式建立显式候选目标列表,采用自举方法进行扩充。然后通过排序算法进行列表减化,并采用基于图打分算法识别隐含目标。上述研究工作注重通用性,Hai等人[24]则专注于从语料领域角度进行考虑,通过观点特征固有的和外在的领域相关性来进行目标识别。还有其他一些方法从不同方面进行算法改进。比如,Quan等人[25]提出一种新的相似度度量方法PMI-TFIDF,来识别产品及其目标方面的关联。Yan等人[26]提出一个通过同义词典扩展的PageRank算法,来抽取产品评价目标。他们先抽取名词短语和其依存关系及相关的情感词,然后通过同义词对评价目标进行扩充,最后采用排序算法进行打分。
(2)本体方法。由于产品的质量完全依赖其组成部分的质量,而各部分的质量又由其各种属性来决定,用户的评价目标通常包含产品的组成部分和属性,因此产品和目标是一种层级关系。由于本体方法是一种描述层级关系的经典方法,人们自然想到了利用本体方法进行评价目标抽取与分类。早期工作采用人工构建本体的方式。比如,Zhou等人[27]手工从180篇电影评论构建一个电影本体用于观点分析。Liu等人[28]提出了自动构建方法,主要基于产品特征和情感词,采用双向传播算法建立模糊领域情感本体树(Fuzzy Domain Sentiment Ontology Tree, FDSOT),并用于面向方面的情感分类。Lau等人[29]则进一步将隐含目标词考虑进来,针对此任务构建了本体学习系统。他们先使用LDA和Gibbs采样方法抽取显式和隐含目标词,然后将相关上下文中的情感词加入本体树。由于完全建立新的本体需要较高的成本,因此Mukherjee等人[30]以ConceptNet 5本体为基础来构建产品相关的本体,其本体包含4级层级关系,目标词的层级越高,其权重越高。
2.观点分类
此任务目标是对观点极性进行分类,属于经典的分类问题,需要先抽取和选择文本的特征对其进行表示,也就是特征选择。观点分类常用的特征包括词频、词性、情感词(短语)以及否定词。一种选择方式是基于词典的方法,它由一个小的种子词集合进行自举(bootstrap)扩充成大的词典[31]。另一种方法是基于统计学习的方式,也是目前常用的方法。这种方法将文本看作一个词袋(Bag of Words),记录了文档中出现的每个词及其出现频率。在词袋的基础上进行统计分析的方法主要有点对互信息(Point-wise Mutual Information, PMI)[32]、卡方分析(Chi-square, χ2)[33]以及潜在语义索引(Latent Semantic Indexing, LSI)[33]等。
完成特征选择后,就可以采用常用的文本分类方法进行分类,用于观点分类的方法可以分为机器学习方法、基于词典的方法和混合方法三种。①常用的机器学习分类器,如朴素贝叶斯(Naive Bayes, NB)、最大熵(Maximum Entropy, ME)和支持向量机(Support Vector Machines, SVMs)等,都已经成功应用于观点分类[34-37]。②基于词典的方法也是通常采用的一种做法。Nasukawa等人[38]通过创建一个包含3513个情感短语的词典来进行主题喜好检测,在两个数据集上的实验证明了其方法的有效性。Whitelaw等人[39]将词典构建半自动化,创建了一个包含1329个形容词性及修饰符的词典,基于此词典划分评估组(appraisal groups),然后以评估组为特征进行观点分类。基于前人构建的词典,人们可以更好地进行分类。比如,Wilson等人[40]和Kanayama等人[41]都采用从词典中获取的上下文情感线索辅助观点分类并取得较好的效果。③混合方法是综合运用机器学习算法和词典信息等进行观点分类。Sindhwani等人[42]结合词典中的先验情感知识到正则最小二乘分类算法,对三个不同领域的文本语料进行分类,结果表明其性能优于基线方法。Xia等人[43]对特征集进行了扩充,他们整合两种类型的特征集(词性特征集和现实关系特征集)和机器学习方法进行观点分类,并通过实验证明两类特征集均能够提升分类性能。Prabowo等人[44]则是混合不同的学习方法进行训练,他们采用5种不同的分类器进行混合训练,实验结果较单一分类器有所提升。Abbasi等人[45]结合词汇资源及n-gram特征构建一个特征关系网络(feature relation network, FRN),采用基于图的算法进行观点分类。
3.观点摘要
此任务的主要目的是生成产品的总体评价摘要或者针对某一目标的评价摘要[46-47]。Beineke等人[46]提出观点(情感)摘要问题,其目标是从一篇文档中抽取一段文本用来表示用户对一个主题所持有的观点。Hu等人[13]则从某一个目标方面的评价角度来抽取用户的观点,他们重点关注的是更细粒度的用户态度。Carenini等人[48]通过直观的句子抽取和语言生成方法产生摘要,他们先通过统计的方法找到重要的特征目标并估计观点分布,进一步通过语言生成技术形成观点摘要文本。Li等人[49]提出结构化的观点摘要方法,他们采用目标特征词最近的情感表达作为观点信息,并将得到的目标—表达对列表作为最终的观点摘要。还有一些研究者对关键句子的选择算法进行了深入研究。比如,Zhu等人[50]针对句子的选择问题提出了一种方法,他们将此问题形式化为社区领袖检测问题,其中的社区由描述同一目标的观点句子组成。Kim等人[51]则对解释性句子的抽取问题进行了研究,并提出了相应的打分排序方案。研究者还对不同的领域数据进行了有针对性的摘要方法研究,如Wang等人[53]研究会话文本的摘要问题,Zhuang等人[52]结合WordNet、统计分析和电影知识提出了针对电影评论领域的摘要方法,Wang等人[54]研究了社区问答和博客的观点摘要问题等。
1.2.3 面向社交媒体的观点分析现状
对于社交媒体,相关研究工作主要围绕在线评论和微博两种社交媒体展开。针对其不同于普通文本的一些特点,学者提出了更具体的分析处理方法。本书就上述两种社交媒体近年来的研究进展做简要梳理。
1.产品评论分析
一般的观点分析方法也可以直接或者通过组合的方式应用于产品评论分析[55-58]。除此之外,产品评论中还有一些需要特别处理的问题,即产品评价目标分组和隐含目标识别。
产品评价目标分组指将抽取出的表示产品评价目标的词语按其所属的目标进行分组,如笔记本电脑评论中的评价目标词“电池”“电芯”“续航”等词都是指笔记本电脑的电池评价目标。此任务可以看作评价目标抽取后的一个必要处理步骤,经过评价目标抽取和分组之后,才能得到准确的评价目标属性信息,从而进一步进行评价目标层级的细粒度观点分析。评价目标抽取方法如上节所述,目的是将文本中用户评价的目标词进行检测识别,得到的目标词其实是描述产品目标的多组同义(近义)词(短语),而评价目标分组的目的就是正确地进行分组划分。Guo等人[59]提出分两步处理评价目标抽取和分组问题,他们采用两个无监督的潜在语义关联模型(Latten Sematic Association, LSA)处理半结构化的评论文本,第一个LSA将词分组成概念集合,第二个LSA将概念集合进一步形成产品的评价目标分组。为了克服无监督模型性能的瓶颈,Zhai等人[60]提出了半监督的有约束期望最大化算法,能够对小部分已标记的评价目标种子词进行扩充来增强分组性能。其后续工作[61-62]进一步从标记样本的生成和主题模型的半监督化上进行了改进。Huang等人[63]从词法形态和上下文特性方面生成约束信息来增强分组过程。Zhao等人[64]分析评论文本的特点之后,提出利用情感分布的一致性来辅助提高分组的性能,其实验结果也证明了其方法的有效性。另一部分研究工作则是将抽取和分组两个步骤合并到统一的方法中进行,此类方法主要是基于主题模型进行改进。[65-69]
隐含目标识别在产品评论中,因为评论文本具有集中的针对性,因此用户往往省略评价目标,如手机产品评论中的一句话“可以待机三天”,如果补充成完整的表达,应该是“电池可以待机三天”。电池作为手机产品的一个评价目标,由于没有出现在文本中,被称为隐含目标,被省略后虽然并不影响读者理解,但为机器处理带来挑战。自Liu等人[70]首次提出评论文本中隐含评价目标的现象后,很多学者对其进行了深入研究。Su等人[71]提出采用基于语义关联分析的PMI(Point-wise Mutual Information)来识别隐含评价目标,但他们并没有提供量化的实验结果。基于规则的方法也是常用的方案之一。比如,Hai等人[72]采用基于观点词的共现关联规则挖掘方法来检测隐含评价目标。Wang等人[73]则提出了专门针对中文评论文本的混合关联规则挖掘方法,可以更好地处理中文信息。Poria等人[74]使用常识知识和句子依存树中发现的规则来检测隐含评价目标。主题模型作为常用的文本分析方法,也可以辅助进行隐含评价目标识别。Xu等人[75]先利用LDA主题模型进行显式评价目标发现,然后用发现的显示评价目标数据来训练SVM分类器进行隐含评价目标的发现。
2.微博观点分析
作为当前最为流行的社交媒体,微博也是用户经常发表观点的平台之一。基于微博中用户发表的观点,可以分析产品口碑[76]、预测股票走势[77]、分析公众舆论[78]等。为此,国内外机构组织了公开评测,如SemEval(Semantic Evaluation)、COAE(Chinese Opinion Analysis Evaluation)、NLPCC(Natural Language Processing and Chinese Computing)等都发布了相关的评测任务。尽管常用的观点分析方法都可以应用于微博,但是由于微博内容长度的限制,其提供的上下文信息过于稀疏,还因连续时间内的博文内容间的关联影响以及用户的社会关系网络等特点,使分析过程中需要考虑更多的影响因素。如何充分利用微博的特点也是研究者着力重点突破的问题。相关方法可以分成三类:①距离监督训练方法;②特征预处理方法;③基于深度神经网络的方法。
(1)距离监督训练方法。Go等人[79]首次提出采用距离监督(Distant Supervision)方法来训练分类器完成观点分类,此方法能够利用微博文本中自带的表情符号作为含有噪音的标记数据。例如,含有表情符号:)的博文通常表示积极的情感,而含有:(符号的博文通常表示消极的情感,此类符号就可以作为距离监督的指示信息。随后的工作又相继对监督信息进行了扩充,如Davidov等人[80]进一步将监督信息扩展到hashtag, Barbosa等人[81]加入了Twitter句法特征,都在一定程度上提高了分类效果。上述研究仅限于正负二分类。Kouloumpis等人[82]综合考虑各类距离监督特征,引入中立观点分类,完成了微博观点三分类任务。Liu等人[83]则将表情符号信息与手工标注信息结合提出表情平滑语言模型来进行微博观点分析,其实验结果证明新模型的效果好于单独使用任何一类监督信息的模型。
(2)基于主题模型的方法。普通的主题模型方法主要用于分析一般文本,需要大量的上下文信息,而微博(Twitter)的特点使其无法提供足够的上下文信息,因此主题模型需要经过改进才能更好地用于微博观点分析。最初的做法是将多条微博文本聚集到一起作为一个伪文档进行分析[84-85],其效果明显优于单条分析。Lim等人[86]则引入距离监督信息到主题模型中,提出Twitter观点主题模型(Twitter Opinion Topic Model, TOTM),该模型将hashtag、表情符号和强情感词融入分析过程,能够利用目标—情感表达间的交互行为更好地处理观点分析问题。Nguyen等人假设句子具有单一主题与情感,基于此假设将情感因素引入主题模型分析用户观点,并成功应用于股票预测。
(3)基于深度神经网络的方法。观点分析问题的一个基本因素就是特征表示,特征表示的好坏直接影响着分析效果。深度神经网络作为目前流行的表示学习技术,已经在图像处理、文本分析等领域都取得了很大的成功。如何利用深度神经网络方法更好地学习观点特征的表示及上下文环境的表示成为目前观点分析领域的一个热点问题。Tang等人[88]率先提出在学习词嵌入(Word Embedding)时考虑情感因素,即在学习Twitter词表示的目标函数中不仅要保留语言模型信息,还要保留情感极性信息,他们使用的情感信息仍然是Twitter特有的距离监督信息。在其基础上,Ren等人[89]加入了主题因素,即同时考虑语言模型、情感因素和主题分布来学习词表示,使观点分析性能取得进一步提升。除了词嵌入学习之外,多种新的神经网络学习模型也成功应用于微博观点分析。Santos等人[90]采用有监督的卷积网络进行Twitter情感分类,其输入层特征包括词向量(表示句法和语义)和字符向量(用来表示词法和形状特征)的拼接,经过隐藏层对句子得到的情感标签打分,其模型顶层采用softmax还原出情感标签分布。Dong等人[91]提出自适应循环神经网络用于目标依赖(target-dependent)的Twitter情感分类任务。同样是目标依赖情感分类任务,Vo等人[92]则通过词表示和pooling函数将丰富的Twitter环境特征信息进行表示,采用liblinear线性分类器很好地完成了分类任务。Ren等人[93]在另一研究工作中提出利用Twitter丰富的上下文序列作为辅助资源来训练卷积神经网络(Convolution Neural Network, CNN)模型用于观点分析。