文本情感分析关键技术研究
上QQ阅读APP看书,第一时间看更新

第二章 情感语义块特征

一篇文本由标点和文字组成的字符串来表现。字或字符成为词,词合并为短语,最后再形成句子以及段落和篇章。因此对文本情感分析,研究者们一般都从判断词语的情感倾向[1](Word Polarity)开始。

本章从阐述情感特征的定义入手,详细介绍特征无监督的方法提取,最后详细说明情感特征的采集系统。

第一节 研究现状

早在1997年Hatzivassiloglou等人就利用对情感词倾向有约束性的语言学上的连词,来推断整个文章的观点和态度,即由其中已知情感倾向的形容词推测另一个形容词的倾向。Turney等人利用词语与一些具有明显语义倾向的种子词之间的关联特性,用统计的方法识别词语的倾向性,并分别对SO-PMI和SO-LSA两种方法,以及“and”和“near”两种关联程度进行分析,另一种思路是利用WordNet中的同义、反义和上下文等关系计算词语情感极性。利用本来标注为褒贬的词(知网中)作为基准词,或者利用计算语料中的待定词汇与基准词之间的相似度(通过相似度公式),最后确定待定词的褒贬倾向度,最后以倾向度明显的词作为特征词,这是由徐琳宏等人提出的。

本章借鉴于文献,由于使用了网络搜索引擎或大型语料库[2],能够获得较大的情感特征库,并且避免了人工标注的复杂工作,根据中文文本的特殊性,提出语义块的概念作为情感特征的定义,结合情感特征的自动采集及情感特征人工标注的方法设计情感特征的采集系统。

第二节 情感特征的定义

SVM算法模型自从20世纪60年代末引入SMART系统,目前已成为最主要的关乎文本表示的方式,在许多实用的文本处理信息系统取得很好的效果。

简单来讲,将一个文本表示成一个向量就是空间模型。之后用“特征项—文档”矩阵(term-by-documentmatrix)来表示通过多个文本所组成的集合。其中,文档(可以是更大粒度的信息,或者一个句子、段落、文章)和特征项(可以是一个句子或者任何粒度的信息,或者一个字、词、短语)都是抽象意义上的表示。由此,如下的矩阵可以被构造为一个表示整个文本集合的模型:

img

图2.1 SVM算法模型示意图

如图2.1所示,每一列代表的是一个文档,每一行代表的是一个特征项,特征项i在第j篇文档中的权重表示为每一个单元格wij,另外由于每一个特征项总是会稀疏地出现在一些文档中,此外,由于每一个特征项又是非常大的,这会造成文本分类中的一些问题,比如特征空间的高维性。在定义好向量空间以后,就可以为向量空间的文本相似度运算提供便利,比如余弦、内积等。如下式所示:

img

在公式(2-1)中我们可以看到,相似性会随着余弦的减少而减少(q为查询向量)。当两个向量正交时,余弦值为0,两者差异最大。当两个向量重合时,余弦值为1,两者最相似。余弦的运算可看作规一化了的点积运算。

一 特征项的选择与权重

特征项的选择以及对其权重的取值决定了向量空间模型表达能力。中文文本中存在字、词、句、章等多层次的语言单位及n-gram,这些均可作为特征项,选择何种语言单位作为文本情感分析的特征项的原则是:

1.文本在特征项空间中的分布有明显的统计规律。

2.含有语义信息较多,表达能力强的语言单位。

3.选择过程容易实现,其时间和空间开销较小。

在文本情感分析研究中,常采用词作为特征项。

(一)字特征

在GB2312-80标准中有6763个常用汉字,然而因为字特征对文本的表达能力较差,很难表达完整的语义信息,所以使用中文单用字作为特征项是无法满足精确语义的表达要求的。

(二)词特征

高频和低频词特征对文本的表达能力均小于中频词特征。高频词在所有文章中都有相近的高频率,而低频词在所有文本中出现频率都低,因此要对高、低频和中频词区别处理。

中文文本中含有一些停用词,[3]包括助词、虚词等,即统计词频时忽略这类词,或者采用词性标注方法,直接去除这类词。因此采用词作为特征项,需要有准确高效分词系统的支持。

中文与西文的一个明显区别在于,西文以词为语言单位,词间存在分隔符;而中文以字为语言单位,词由一个或多个字组成,词间没有分隔符。因此,分词是中文信息处理的基础。词是能独立使用的最小语言单位。

以词为特征项时,中文文本表示要应对分词问题。自动分词是由计算机自动识别文本中词边界的过程。从处理过程上看,分词系统的输入是字符序列(c1c2c3…cm),输出是词序列(w1w 2w3…wm)。目前中文自动分词对词典词的切分已经比较成熟,而难点在于未登录词识别及切分歧义消解。中文分词一般包括三个过程:词典词语切分、切分排歧和未登录词识别。在实际系统中,三个过程可能相互交叉、反复融合,也可不存在明显的先后次序。

常用划分词语的方法有:最大匹配法、最短路径法、全切分法及最大概率方法。例如,北大计算语言所的分词系统采用了统计方法进行词语的粗分;北航1983年CDWS系统则采用的是正向或逆向最大匹配方法;而清华大学SEGTAG系统采用的是全切分方法;中科院计算所ICTCLAS系统采用的是基于N-最短路径方法中文词语粗分模型;微软亚洲研究院的汉语分词系统采用的是一体化噪声信道模型,将字典内词切分、命名实体、实体词和新词识别在一个框架内进行,对于不同分词规范,还提出了基于TBL自适应分词技术。

这些方法总体上都是基于词表,它们面临的共同问题是分词规范直接影响词表质量。尽管存在国家标准,某些单位也制定了自己的规范,但其实用性不强,很难依据这些标准及规范构造出高度一致性的词表。2003年,SIGHAN于日本札幌举行首届国际汉语自动分词竞赛,为了应对没有统一词表的问题,竞赛采用四个目前使用较多的大型语料库来组织训练和测试集。这四个语料库分别为Academica Sinaca语料、宾州中文树库、香港城市大学和北京大学语料。竞赛涉及当时大多数的分词技术,其中统计方法占据主流。竞赛结果表明未登录词对分词性能有很大影响,而切分歧义消解和未登录词识别是汉语切分的难点。

国际上对于分词的研究非常活跃,以ACL的SIGHANWorkshop中文语言处理会议为例:

从2003年开始首届的International Chinese Word Segmentation Bakeoff 到2008年第四届International Chinese Language Processing Bakeoff:Chinese Word Segmentation,Named Entity Recognition and Chinese POS Tagging,尽管名称有所改变,分词仍是讨论的热点。在2008年的会议上发表的论文大多数都是围绕分词展开的,而其中有半数采用的方法都是基于CRF(Conditional Random Fields)模型架构的。CRF常用来分隔和标注数据序列的概率模型架构,其放宽了Markov模型中的强独立性,更准确地反映了上下文环境对分隔的影响。另外,基于字的分词方法也受到部分研究者的认可,这类方法将分词问题转化成对字的标注问题,与基于词的方法相比,前者只需要标注语料,而不需要字典,对于未登录词有高适应性。

多数研究者使用源于西方的语言处理方法处理中文,例如:

用A*算法对Dependency parsing生成树进行搜索,解决Dependency parser对局部信息的决策困难。

根据语法及语义为合成词分类,并对中文的派生词进行形态分析。

基于中文词素[4]进行词性标注。

最大熵模型用于机器学习领域处理中文标注。

用MLN(Markov Logic Network)表示领域知识识别命名实体。[5]MLN为马尔科夫网络(Markov Network)及一阶逻辑[6](First-order logic)的混合,将概率和约束结合,满足约束概率就高,反之概率就低,并且约束拥有的权重可以表示对概率影响力的差异。

Web中的庞大语料不仅使SMT(Statistical Machine Translation,基于双语语料统计方法)技术适用于机器翻译,同时也吸引着研究者对其进行中文信息挖掘。此外,有研究者使用知网(HowNet)[7]形成词义带权义素图,后用PageRank算法为图节点估分,进行词义排歧。

(三)确定特征权重

确定特征项的权重有多种方法,但是基本上都基于以下两个观察:(1)一个特征项在一篇文档中出现越多次,它与文档的主题就越相关。(2)一个特征项在搜索到的所有文档中总共出现的次数越多,它能够区别文档类别的能力就越弱。以上这两点实际上说明了这样两个信息:类内文档越相似越高,类间文档差异性越大就越好。基本上都可以用L(i,j)×G(i)来统一表示,其中L(i,j)表示特征项i在文档j中的权重,而G(i)则反映了特征项的全局权重。

之后我们会分别介绍几种计算特征项权重的方法。下面我们先引入几个概念:

词语频率(term frequency)fij:特征项i在文档中出现的频率。

词语倒排文档频率(inverse document frequency)idfi:表示该词语在文档中分布情况对其重要性的影响。常用的计算方法如下:

img

其中,N:文档集合中有的文档数目;ni:出现过特征项的所有文档数目总和。

归一化因子(normalization factor):对各个分量进行标准化。

另外,定义M为文档集合中特征项的数目。

目前,比较常用的特征权值计算方法有TF-IDF、TFC、熵权值等,下面分别加以介绍。

TF-IDF[8]是在向量空间模型中最常采用的特征项权重计算方法。它全面考察了一个特征项在所有文档中的分布,并注意到特征项的权重反比于它在文档集合中出现的频率,这一点符合所谓的Zipf’s法则,可以用前面介绍的词语倒排文档频率因子来描述。它的计算公式如下:

img

TF-IDF权值计算方法的一个变种就是TFC权值计算方法。因为没有考虑到归一化的问题,TF-IDF权值计算方法会获得同样一个特征项,这就出现了不正常的偏向于长文档的现象,因为用同一个特征项在较长的文档中出现的频率会较高,同时也因为文档较长,查询向量与之匹配成功的概率也增大。因此TF-IDF方法[9]的归一化因子计算方法如下:

img

其中,归一化因子一般都是各项系数平方和的平方根。在函数中,以y=f(x)为例,f(x)存在最大值f(xm),那么可以做新函数z= f(x)/f(xm),z的最大值为1,这样就归一化了。例如,{2.5,3.5,0.5,1.5}归一化后变成了{0.3125,0.4375,0.0625,0.1875},简单解释,归一化就是将括号里面的总和变成1,然后写出每个数的比例,即为:2.5+3.5+0.5+1.5=8,2.5/8=0.3125,3.5/8=0.4375,0.5/8=0.0625,1.5/8=0.1875。

熵权值的计算方法基于信息理论,是这其中最复杂的计算方案。在文献[18]中,S.T.Dumais将它与其他六种方法做了比较,认为这是最有效的方法。五个测试的结果表明,熵权值的计算方法比简单的特征项频率优40个百分点以上。它的计算方法如下:

img

其中img是特征项i的熵。

当Ei等于-1时,所有的特征项等概率分布,当Ei等于0时,这个特征项仅出现在一个文档里。

除了以上三种方法,还有其他一些计算权重的方法。有最简单的布尔权值计算方法、特征项频率权重计算方法、LTC权重计算方法等。布尔权值计算方法只考察一个特征项是否出现在某一文档中,若出现,则将权值记为1;若不出现,则记为0。而特征项频率权重计算方法就是将其频率值作为它的权重。LTC权重法则是在TFC的基础上,用特征项频率的对数替换了原始的特征项频率。

二 语义块特征无监督提取

(一)基于块的语义分析

基于块的语法语义分析,诸如Shallow Parsing[10]、基于块的语义标注也是目前受关注的研究方向。

本书提到的情感特征采用“广义块”概念,它是介于单字与句子之间的处理单位,而不是传统意义的词汇,它不是来源于人工编写的词典,是完全基于语料的统计结果。接近的概念有,由心理学引入的语块(chunk)和HNC(Hierarchical Network of Concepts,概念层次网络)的语义块。其中HNC的语义块定义如下:“语义块(可以是一个词、一个短语,甚至可包含另一个句子,或由另一个句子蜕化而来)是下一级语义的构成单位,一般来说,语义块包含核心部分(语句要素)和说明部分。语义块以其要素命名。”HNC理论认为,汉语以“字义基元化,词义组合化”方式构造新词,因此可以构建概念表述体系,亦即概念层次网络。传统研究方法是基于西方语言而建立的,并没有考虑汉语的实际特点。在计算机的语言考察研究中,句法分析和语义分析(源于图灵标准)所提出的标准各有偏低和偏高的不足,像句法语句什么的绝对不是思维的机制,而对于联想网络的建立、开发、发展、精简与存储才是,因此,这并不是用于描述人的语言或感知的过程的最佳方式。也正是因为这样,对汉语的相关处理更不应该以图灵测试为标准,而应该将语言模糊的消解能力放在首位。HNC认为应从语言的深层入手,以语义表达做基础,将自然语言所描述的知识规划为概念、语言和常识三个相互独立的层次,建立比较完备的语义概念陈述、数学表达式和语句的语义表述模型。相似地,人在交流过程中的语言理解,其实是一个减少“模糊”的过程。因此,HNC把消减模糊当作自然语言理解初级时期的目标,换句话说就是以消减模糊为实现目标的第一步来描述语言感知的过程。HNC认为无限的自然语言语句可以用有限的句类物理表达式来表达。

根据这种设想提出了词汇层面可以通过局部词汇联想的方式,句类与语义块可以通过全局联想的方式,其中句类被看作是语句的一种语义类型。因此可以说,这种理论的分析方法是对人脑思维顺序的一种模拟,是模仿人类语言形成过程的一种方法。

(二)无监督方法

无监督理解,即基于无监督机器学习方法对自然语言进行理解,是我们研究的方向;而构建无监督文本理解方法,实现并验证其有效性是我们研究的目的。文本的无监督理解需要由多个相继处理来完成,而处理中文文本时,分词是这一处理链条中的首要环节。在本节中:

1.我们首先阐明研究所涉及的一些基本概念。

2.然后,我们简要引入当前该研究领域中已经存在的典型方法,并着重说明已有方法存在的问题。

我们将“无监督文本理解”这一概念分为后续两小结进行阐述,如下:

1.无监督学习。

2.文本理解。

(三)无监督学习

机器学习(Machine Learning),即根据所获取的经验数据指导后续行为,其中获取经验数据的主体是机器,而指导后续行为的客体也是机器。为了能够指导后续行为,机器取得经验数据后,必须进行分析推理,以便获取数据中蕴含的模式信息,并以该信息为基础进行行为决策。获取经验数据加以分析的过程可以视为学习,对于基于统计的学习方法,分析的实质就是从数据当中获得特定特征的概率分布,并从这些分布当中抽取出更加泛化的信息,以指导后续行为。对经验的泛化可视为学习的核心目的。这里引入一个相当简洁精确的机器学习定义:

A computer program is said to learn from experience E with respect to some class of tasks T and performancemeasure P,if its performance at tasks in T,asmeasured by P,improves with experience E.

根据这一定义,我们可以抽取出三个核心概念:

1.经验(Experience),即已存在的数据,是机器需要处理的对象。

2.任务(Task),即特定的用途,机器根据它选择要处理的对象及处理的方式方法。

3.表现(Performance),机器根据它可以判断学习的有效性。我们可以将表现分为准确率(Accuracy)[即效果(Effect)]和计算复杂度(Computational Complexity)[即效率(Efficiency)]。

另外,我们可以根据该定义体会到,只有能够提高任务表现的经验才是有效的。

值得注意的是,在构建机器学习方法时,理论上我们力图避免掺杂人类直觉,但实际上,设计者的直觉对构建过程的影响是不可避免的。在该书所涉及的研究中,我们构想全新方法的最初阶段就是基于个人的直觉,然后根据实验结果不断对初始方法进行修改。显然,在这种修正改进的过程中,直觉的主观性逐渐由实验的客观性所取代。

无监督学习(Unsupervised Learning)是机器学习中的一种类型,与之相对的是监督学习(Supervised Learning)和半监督学习(Semi-Supervised Learning)。它们的差别主要在于它们所依靠的经验数据存在差异。之所以我们强调经验数据存在差异,而不简单地讲无监督学习不存在人为经验数据,或者说先验知识,是因为无监督方法同样建立在构建者的先验知识的基础上,例如,初始设置(参数、阈值[11])也可以视为先验知识。

具体到基于统计方法的自然语言处理领域,一般以学习方法所采用的训练语料(Training Corpus)为标准来区分学习类型:

1.无监督方法仅对无标注的语料进行学习。

2.监督方法仅对标注后的语料进行学习。

半监督方法同时对标注后和无标注的语料进行学习,其中标注后的语料是必备的,但相比无标注语料的规模要小得多。

另外,当某方法必须采用由人类可读(human readable)的字典(dictionary)或者人工创建的机器可读(machine readable)词典(Lexicon)时,该方法必然是监督方法。

对于监督方法,学习过程始终不会偏离人工明确给定的正误标准,而无监督方法则没有这种标准可以依赖。显然,无监督方法的构建难度远大于监督方法。理论上,学习的目的是确定数据组织的方式,找到蕴含的特征及模式,监督与否的差别在于是否有人工干预。而现实情况是,我们只能根据人工介入的程度来分辨一个方法是否归属于无监督方法,而不能仅仅将绝对无人工干预的方法才视为无监督方法。例如,那些使用先验概率分布(Priori probability distribution)并对超参数(Hyperparameter)进行人工赋值的学习模型,我们将这类方法视为无监督方法,只要它们不需要使用标注语料即可。如果机器学习模型中所包含的参数必须人工给定,必然会降低方法的泛化程度,因此可能损害处理实际数据时的表现,于是为了能够在处理不同语料时提高表现,需要对人工赋值的那些参数进行调整。

按照惯例,我们称那些更加严格地避免人为干预和先验知识的无监督方法为完全无监督方法(Completely Unsupervised Approach)。显然,完全无监督方法的构建比一般的无监督方法更具难度。需要指出的是,我们的研究目的正是构建这类完全无监督方法,对文本所承载的自然语言信息进行理解。

(四)文本理解

文本,特指经机器编码的字符序列。尽管声波和图像也可以承载语言信息,然而它们涉及自动语音识别[12](ASR)和光学字符识别(OCR)[13],这类问题不属于我们研究的范围。事实上,不论图像或波形,我们都可以通过相应的技术将这些数据转换为字符序列。

理解,即自然语言理解,特指机器进行的阅读理解,这与以人为主体的理解相对。自然语言理解(Natural language understanding)与自然语言生成(natural language generation)可视为自然语言处理(natural language processing)中的两个互逆过程,前者分解分析输入数据,而后者汇集输出数据。理解比生成更加复杂,因为理解需要面对的输入数据包含未知及不可预期的特征,处理这些特征首先需要确定采用何种语法语义处理方案,而生成往往采用既定方案即可产生输出的结果。

不论采用的具体方法如何,自然语言理解包含以下步骤:

1.语法分析,该过程的目的是将自然语言转化为理解系统的内部表示,这一过程具有较强的语言相关性,可以进一步分为:

①获取语言单位,如词素(morpheme)。根据不同的语言需要不同的方法进行处理,比如形态分割(morphological segmentation)或词汇分割(word segmentation)等。

②标注词性(Part of Speech)。

③句法分析(Parsing)。

2.语义分析,相对语法分析,在不同语言间一般不存在差异。

3.逻辑推理。

目前,基于统计的自然语言理解方法一般用于解决语法分析问题,因为语法分析部分可以不考虑符号与现实世界间的联系,而现实世界具有非常复杂的结构关系,这是直接使用统计方法较难解决的问题。

对于一种语言的理解,获得该语言的基本结构单位是首要问题,因为后续步骤都将以此为处理的基础,同时分而治之也是基本的计算策略,因此文本分割成为文本理解中的一项重要任务,如:

1.具有形态变化的语言,如英语、阿拉伯文等,需要形态分割。

2.词间没有分割符的语言,如中文、韩文等,需要词汇分割。

3.句子分割,对于句法分析是必要的。

4.更加粗粒度的语言单位,如段落等也存在分割问题。

我们目前研究的对象是中文文本,因此中文分词是首先需要解决的问题。作为无监督中文文本理解的首要部分,本书的全部内容都围绕我们所提出的无监督分词方法展开。我们在处理无监督分词问题时所取得的进展,将为未来的工作铺平道路,使我们对无监督词性标注及无监督句法分析的研究成为可能。

(五)无监督分词

完全无监督分词方法,尽管该方法的有效性仅在中文语料上进行了验证,但该方法不具语言相关性,不局限于特定语言,理论上可以用于需要分割处理的各种语言。

无监督分词方法的最大优势在于我们不需要人工分割的语料作为训练集,当然更不需要人工编纂的词典。监督方法一般需要规模远大于测试集的训练集对学习模型进行训练,同时测试集和训练集被假定遵照同一分割标准进行分割,如果训练集较小,或者训练集与测试集分属不同领域及分割标准,监督方法的表现将不会理想。相比之下,对于无监督分词方法,特别是对于我们所提出的方法,并不存在训练集和测试集的区别,或者说训练集和测试集可以看作一体,因此当给定一个没有经人工分割的语料时,该类方法给人的感觉是对未标注语料直接进行分割,不需要特别训练,而无监督方法实质上将无标注语料视为训练集进行学习,之后又将该语料视为测试集进行分割。

自然语言处理领域中,对中文这样没有词间分隔符的语言来说,分词是一项重要的任务,当然,对于具有分割符的语言,如英语,由于某种原因缺失分割符时,也同样需要分词处理。目前,多数已存在的分词方法属于监督方法。在多数情况下,监督方法能够取得比无监督方法更高的准确度,但是监督方法涉及更多的人工干预。然而,当面对较为陌生的语言时,我们缺乏足够的特定于这些语言的语言学知识,我们很难创建完善的词典,或提供足量的标注语料,监督方法很难应对,而无监督方法能够适应这种情况。另外,无监督方法可以与监督方法混合使用,这样可以克服两者的不足。

(六)已存在的方法

自从互信息[14](Mutual Information,MI)被Shih和Sproat引入无监督分词领域,[15]很多研究者对此种方法展开了研究。

基于改进后的最大期望[16](Expectation Maximization,EM[17])算法以及加入了基于MI的剪枝算法,使得这种方法效果优于较早的无监督分词方法(基于EM和MI)。

另外,引入无监督领域的还有较复杂的狄里克雷[18]过程(Dirichlet Process,DP),比如非参数贝叶斯技术中的Pitman-Yor过程(PYP)、层次化DP(HDP)、层次化PYP(HPYP)、层次化HPYP(HHPYP)等。另外一种基于层次化Pitman-Yor过程的无监督分词方法,在SIGHAN Bakeoff-2的部分语料上进行了测试。

相对于DP等较为复杂的技术,存在一些基于相对简单思想的方法,诸如TONGO和Voting Experts。

很多情况下,良度(goodness)测量(这种测量用来找到词间的边界,或者对候选词进行筛选,或者两者皆有。)就是无监督方法。Zhao 和Kit列举了四种用于分词的良度算法,[19]包括Frequency of Substring with Reduction、Description Length Gain、Accessor Variety和Branching Entropy,并在SIGHAN Bakeoff-3数据集上进行了评测。

(七)存在的问题

构建无监督方法时存在两个原则:

1.降低人工干预强度。

2.提高方法的通用性。

尽管已存在的无监督分词方法各不相同,但它们或多或少存在以下问题:

1.无监督方法通常依靠最大化策略,或设定阈值,或两者皆有。依赖于最大化策略的方法易于适应不同的上下文环境,因为不需要太多的手工调整;相对最大化策略,依赖阈值的方法在一些特定的情况下可以获得更高的准确率。值得注意的是,若要符合无监督方法构建的初衷,即减少人工干预,依赖人工给定阈值的做法是不合适的,同时阈值也会降低方法的通用性,然而一般很难单纯依赖最大化策略获得满意的表现,特别是全局最大化策略的效率会相对较低。

2.无监督方法一般会限定最大词长度,长度以字符为单位。因为在没有标注语料和词典的情况下,方法本身无法获知词汇分割的黄金标准,即人工分割标准,于是,出于分割准确度及复杂度两方面的考虑,方法实施时需要限定词长度。对词长度的限定可以分成两类:一类限定输出词长度,即假定不存在超过既定长度的词;另一类则限定一次完整分割的总长度,可以看作句长度。这两类限定中,前者往往以提高准确率为目的,而后者则主要是为了降低分割的复杂度。如果将最大词长度限定在一个小范围内,比如2个或3个字符长,尽管可以提高特定语言下的准确率,但具有过强的语言相关性。

3.无监督方法必须提供处理不同长度词汇的策略,换言之,方法必须使不同长度的候选词之间可以相互比较,即具有可比性。很多方法在处理不同长度的候选词时,采用针对性很强的限制和策略,这种区别对待不同长度候选词的方式,使得方法具有很强的语言相关性,比如中文中双字词较多,所以对双字词施以高权重来提高对中文进行处理的表现。

4.很多无监督方法为不同的字符类型设定不同的策略进行处理,最常见的是利用标点符号进行初分割,即分句,或者在处理中文时,将数字、拉丁字母等与中文字符分别处理。这类字符编码信息可以看作语言相关的先验知识[20],这种依赖于字符编码信息的策略提高了语言相关性。

在这一节中,我们澄清了在研究中涉及的多个概念,并引入我们所做的工作。对于中文文本的无监督理解,首要且最基本的问题便是无监督条件下如何进行词汇分割和提取,它是所有后续工作的基础,也是我们工作的意义所在。

三 情感语义块特征的生成

本文中的情感语义块特征是参考HNC的语义块概念提出的,“语义块”不一定是人接受的字、词、短语、句子等自然语言单位,它既可以看作语法单位,也可是语义单位。

使用“语义块”可以替代传统词典,“语义块”源自对语料中文本的完全切分。方法的特点如下:

●采用完全切分来获得候选词汇,自动生成词典;

●不筛选切分的结果,忠实记录统计结果,生成词典(语义块库);

●根据记录的特点,时间与空间复杂度尽量低,采用后缀树Suffix tree(PAT tree)的结构,构成词典;

●根据句子乃至整个语料提供的上下文对切分的结果按策略选出最佳拆分结果,作为广义块序列。

后缀树(Suffix tree)是一种数据结构,能快速解决很多关于字符串的问题。后缀树提出的目的是用来支持有效的字符串匹配和查询。

(一)后缀树的生成

简单点说,后缀树就是将一个给定字符串的所有后缀全部压入一个Trie,然后将只有单个叶子的节点压缩,从而形成的一棵树。假定一个字符串txt:“Mississippi”。生成后缀树的步骤如下。

(1)得到txt的所有后缀:

T1=mississippi=txt

T2=ississippi

T3=ssissippi

T4=sissippi

T5=issippi

T6=ssippi

T7=sippi

T8=ippi

T9=ppi

T10=pi

T11=i

T12=(empty)

(2)将所有非空后缀进行排序。

(3)将所有后缀的公有前缀进行合并,即可得到图2.2。

(二)通过后缀树查找独立的语义单位

这个问题等同于查找两段中文字符串S1、S2中最长公共部分。

S1:“第一次去电影院看电影,3D效果不明显,胜在搞笑。”

S2:“相当幽默的影片,最搞笑的要属那两只狐狸。”

如果使用分词技术:

S1:第一/m次/qv去/vf电影院/n看/v电影/n,/wd 3D/x效果/n 不/d明显/a,/wd胜/v在/p搞/v笑/v。/wj

img

图2.2 构造字串后缀树

S2:相当/d幽默/a的/ude1影片/n,/wd最/d搞/v笑/v的/ude1要/v属/v那/rzv两/m只/q狐狸/n。/wj

很明显,使用分词技术将独立的语义单位拆分开了。如果使用后缀树来处理这两段字符串,算法简要描述如下:

将S1和S2拼接作为字符串压入后缀树,找到最深的非叶节点。这个深是指从树根节点所经历过的字符个数,最深非叶节点所经历的字符串起来就是最长重复子串。需要找到非叶节点,是因为既然是要找到S1与S2重复的公共部分,当然叶节点个数要≥2。原理是:如果T在S中重复了两次,则S应有两个后缀以T为前缀,重复次数自然就统计出来了。

此外,鉴于PAT tree在字符串子串匹配上有着非常优异的表现,采用Patricia Tree(PAT tree)存储结构来降低存储空间的复杂度。PAT tree是后缀树结构的一种特殊形式,采用半无限长字串(semi-infinite string,sistring)作为字符串的查找结构,简单来说就是一种压缩存储的二叉树结构。

字符串S1、S2使用语义块概念来切分独立的语义单位,空格作为切分标记,切分如下:

S1:第一次去电影院看电影,3D效果不明显,胜在搞笑。

S2:相当幽默的影片,最搞笑的要属那两只狐狸。

具体算法步骤如下:

(1)列出S1、S2的后缀树结构,得到S1的后半段的所有后缀:

img

图2.3 后缀树结构

S2的后半段后缀树为:

img

图2.4 S2的后缀树

(2)将所有非空后缀进行排序,结果如下:

img

图2.5 后缀树排序

(3)将所有后缀的公有前缀进行合并,即可得到。

(4)依据S1和S2拼接作为字符串压入后缀树后形成的结构(即图2.5),找到最深的非叶节点。最深非叶节点所经历的字符串起来就是最长重复子串。

可以发现,“搞笑”就是最长重复子串。

所以,根据以上介绍的步骤和原理,根据汉语言中众多的句型结构,可按照后缀树方法形成充分的语义库。

img

图2.6 后缀树合并

第三节 情感特征采集系统

1962年,Tomkirns曾提出这样的八种情感,这八种情感基本都会出现在现实生活中。之后,Plutchik在此基础上又增加了自己的理解,他所罗列的情感稍稍略有不同,多了容忍和期盼这两种情感色彩,而少了关心和羞愧的感情色彩。再后来Ortony等又在1988年发表论文阐述了一个基本情感表。我们从表中也可以看出,前四种情感是普遍得到认同的,后两种厌恶与惊奇稍次之,除了这几种,后面所列各项的情感就有所不同了。许多年来,多数的专家学者就提出了接近20种的基本情感。

img

图2.7 基本情感的类别

img

图2.8 情感特征采集系统

本章设计了一个情感特征采集系统,如图2.8所示,这个系统提出通过判断语义特征的倾向值(Semantic Orientation Value,SO)来判断情感特征的褒贬倾向,并将情感自动标注与人工标注结合起来。这套系统同时具备以下特点:自动标注效率高、能够获取特征频率、擅长处理大批量数据以及人工标注的情感具有多个类别性。

其中语义块的属性设计如图2.9所示。根据采集语料的不同,通过情感特征采集系统最终获得的特征可以分为广义情感特征库与领域情感特征库(狭义情感特征库),如图2.10所示。

img

图2.9 语义块的属性设计

img

图2.10 广义情感特征库与领域情感特征库

一情感特征的自动标注

根据获得的情感语义块,可以确定其情感的极性(polarity)。

首先,在Sogou搜索引擎[21]上检索含有贬义情感倾向的特征,其中,检索到的网页数最高的如表2.1所示。我们选择其中的“不好、无聊、遗憾”三个特征作为贬义情感倾向的基准词(尽管其他贬义情感倾向的特征词频较高,但是在实验采用的评论语料中发现,它们出现频率并不高,不适合作为基准词)。

表2.1 贬义特征频率

img

针对带有褒扬、喜爱、尊敬、肯定等情感色彩的特征,检索到的网页数最高的前十位如下:

表2.2 褒义特征频率

img

首先选择普遍认可的“成功、努力、快乐”三个特征作为褒义情感倾向的基准词,但是在实验中发现,需要选择相近频率的词语作为基准词,但是这三个特征的频率都远远大于贬义特征的频率,因此不适合作为褒义情感倾向的基准词。应该选择如表2.3中所示的特征。

表2.3 选择适当频率的褒义特征

img

结合Sogou互联网搜索引擎[22]的搜索结果,计算每个语义特征的倾向值(Semantic Orientation Value,SO)。根据下面公式计算SO值。

img

其中,hits(″不好″)表示利用搜索引擎查询字符串“不好”能返回的页面总数;hits(phrase_xAND″良好″)表示利用该搜索引擎查询“phrase_x”和“良好”共同出现时能返回的页面数量。

如果一个情感特征与褒义倾向的基准词“良好、合适、好看”共同出现的机会平均值大于与贬义倾向的基准词“不好、无聊、遗憾”共同出现的机会,则该情感特征为褒义倾向的可能性大于为贬义倾向的可能性。

根据以上算法,利用搜索引擎共采集22000个情感语义特征。

二 情感特征的人工标注

在机器对情感特征极性自动标注的基础上,使用人工辅助标注情感特征,以保证情感标注的准确性。

选择五名实验者对情感语义特征进行标注,标注的类别分为:客观词、褒义词、贬义词。此外,采集系统还收集了否定词、加重/肯定语气词、一般/弱语气词、模糊语气词等对情感倾向性有影响的语义特征。

对不能做出准确判断的情感语义特征,可以进行人工评价:不清楚、感觉很好、感觉不好,等等。情感特征极性采集系统的初始状态如图2.11所示。

img

图2.11 情感特征极性采集系统初始状态

在情感特征极性的采集过程中,我们发现了一些值得深入探讨的问题,并对采集系统做进一步的改进:

(1)特征包含多个极性。对于有些特征,如“简单”,在例句“本产品操作简单”中“简单”表示褒义;但是在例句“导演头脑简单”中“简单”表示贬义,因此对特征“简单”需要同时标注为褒义词和贬义词。采集系统的自动标注模块会将这两种极性并分别放入不同的领域情感特征库,如产品评论和电影评论领域。

(2)情感极性扩充。对于情感特征极性的采集,为适应更广泛的应用环境,系统必须还要包含得到普遍共识的基本情感表,即恐惧、愤怒、悲伤和高兴,然后是厌恶和惊奇。如图2.12中“神秘”即含有“惊奇”的感情色彩。如果采用情感特征极性的类别达到20种的基本情感,那么本系统的人工标记的误差将大大增加。

img

图2.12 情感语义块特征极性采集系统界面

(3)情感类别的人工判断不一致性。实验中共有22485个语义特征,对五名实验者做出判断结果的一致性进行对比分析。人工判断情感特征的一致性如表2.4和图2.13所示。

在实验中,做出一致的褒义判断的特征占总特征数的82.9%,做出一致的贬义判断的特征占总数的87.6%,而做出一致的客观性判断的特征仅占总数的78.3%,如图2.14所示。

分析原因如下:(1)实验者普遍对贬义特征的敏感程度要大于褒义特征,因此做出贬义判断的一致性要明显大于做出褒义判断的一致性;(2)在没有语境的条件下,实验者对特征的看法往往是片面的、考虑不周全的;(3)实验者对客观特征的敏感程度最低,这其中受到了个人的观点倾向、社会背景、个人立场等因素的影响。例如“红色”在字典中是中性词;但有时“红色”还被看成流血、危险、恐怖的象征色,这时“红色”代表恐惧、紧张的情绪;在中国,红色传统上表示喜庆,在婚礼上和春节都喜欢用红色来装饰,红色表示爱的颜色,这时“红色”代表高兴、愉快的情绪。在例句“股市一遍红”中“红色”表示什么样的情感色彩呢?这就很难做出判断,在这不仅仅需要上下文语境,而且需要背景知识。在北美的股票市场,红色表示股价的下跌;而在东亚的市场,红色表示股价上升。因此,需要根据采集语料所属领域的不同进行领域情感特征标注,形成领域情感特征库。

img

图2.13 人工判断情感特征的结果对比

表2.4 人工判断情感特征的一致性举例

img
img

图2.14 人工判断情感特征的一致性对比

本章小结

本章分析并讨论了对中文文本进行情感分析时首先要解决的问题,即情感特征的定义和情感特征极性的获取方法。

文本中情感特征的获取是首要问题。如果将词作为文本表示的特征项,就需要中文自动分词,目前词典词的切分较成熟,而未登录词识别及切分歧义消解是中文自动分词难点;尤其在跨领域评论文本中,存在着大量的未登录词及口语化表达。

针对上述讨论的问题,本章提出了采用语义块作为情感特征,并设计了情感特征的采集系统,获得情感特征集合。


[1]根据国内外的相关研究现状可知,词语级别的情感倾向性研究比较薄弱。一般是通过语义词典(WordNet、HowNet或同义词词林)来直接得出词语的倾向性,再间接应用于句子片段级别或篇章级别的倾向性研究,对于以词语倾向性分析为重点的研究少之又少。传统的词语倾向性分析有两种方法,一种是基于词频统计来计算词语的倾向性概率。该方法需要大规模语料,如何选取语境信息作为特征向量也很困难,此种方法复杂且较难得到理想的结果。另一种方法就是基于语义词典得到词语的倾向性。该方法简单易行,但是不能从词典中得到词语倾向性程度,即默认词典倾向性程度大小不同的词语对语句或篇章的情感倾向性贡献相同。由此可知,在多情感词的句子片段中,情感的综合判断会出现误差。同时,词典只能提供词语本身的倾向性,而没有结合语境来分析,虽然有的词典给出词语的一些属性,但是这也不能覆盖词语的语境信息。本文结合自建词典与语料统计的方法,通过计算词语间的相关度和相似度,给出一个带倾向权值的情感词词典。词典既体现了词语的情感倾向性与倾向强度,也是词语综合语境后得出的结果。

[2]语料库是语料库语言学研究的基础资源,也是经验主义语言研究方法的主要资源。应用于词典编纂、语言教学、传统语言研究、自然语言处理中基于统计或实例的研究等方面。语料库有多种类型,确定类型的主要依据是它的研究目的和用途,这一点往往能够体现在语料采集的原则和方式上。有人曾经把语料库分成四种类型:⑴异质的(Heterogeneous):没有特定的语料收集原则,广泛收集并原样存储各种语料;⑵同质的(Homogeneous):只收集同一类内容的语料;⑶系统的(Systematic):根据预先确定的原则和比例收集语料,使语料具有平衡性和系统性,能够代表某一范围内的语言事实;⑷专用的(Specialized):只收集用于某一特定用途的语料。除此之外,按照语料的语种,语料库也可以分成单语的(Monolingual)、双语的(Bilingual)和多语的(Multilingual)。按照语料的采集单位,语料库又可以分为语篇的、语句的、短语的。双语和多语语料库按照语料的组织形式,还可以分为平行(对齐)语料库和比较语料库,前者的语料构成译文关系,多用于机器翻译、双语词典编撰等应用领域,后者将表述同样内容的不同语言文本收集到一起,多用于语言对比研究。已经累积了大量各种类型的语料库,如葡萄牙语种树库、面向文本分类研究的中英文新闻分类语料库、路透社文本分类训练语料库、中文文本分类语料库、大开放字幕库Open Subtitles的多语言平行语料数据(Open Subtitles Corpus)、《圣经》双语语料库(“Bible”bilingual corpus)、Shortmessages service(SMS)corpus[短消息服务(SMS)语料]等。

[3]在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为Stop Words(停用词)。

[4]词素是最小的音义结合体,其最大的特点是不能再被分割为更小的音义结合体。

[5]所谓的命名实体就是人名、机构名、地名以及其他所有以名称为标识的实体。更广泛的实体还包括数字、日期、货币、地址,等等。

[6]一阶逻辑是一种形式系统(Formal System),即形式符号推理系统,也叫一阶谓词演算、低阶谓词演算(Predicate Calculus)、限量词(Quantifier)理论,也有人称其为“谓词逻辑”,虽然这种说法不够精确。总之,不管怎么说,一阶逻辑就是一种形式推理的逻辑系统,是一种抽象推理的符号工具。我们要注意的是,一阶逻辑不同于单纯的“命题逻辑”(Proposition Logic),因为,一阶逻辑里面使用了大量所谓“限量词变量”(Quantified variables),比如,imgx(意思是存在一个变量x),限量词符号“img”是把字母“E”从左向右反转过来产生的,其原本的意思的“Exist”(存在);而限量词imgx(对所有的变量x),符号“img”是将字母“A”从下向上反转而产生的,其原本意思是“All”(所有、全部)。在这里,逻辑符号“img”和“img”就是一阶逻辑的“限量词”(Quantifier)。

[7]知网:一个知识系统,名副其实是一个网而不是树。它所着力要反映的是概念的共性和个性,例如,对于“医生”和“患者”,“人”是它们的共性。“知网”在主要特性文件中描述了“人”所具有的共性,那么“医生”的个性是他是“医治”的施事,而“患者”的个性是他是“患病”的经验者。

[8]TF-IDF(Term Frequency-Inverse Document Frequency)是一种用于资讯检索与资讯探勘的常用加权术。TF-IDF是一种统计方法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜寻引擎应用,作为文件与用户查询之间相关程度的度量或评级。除了TF-IDF以外,因特网上的搜寻引擎还会使用基于链接分析的评级方法,以确定文件在搜寻结果中出现的顺序。

[9]TF-IDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。TF-IDF实际上是:TF*IDF,TF词频(Term Frequency),IDF反文档频率(Inverse Document Frequency)。TF表示词条在文档d中出现的频率。IDF的主要思想是:如果包含词条t的文档越少,也就是n越小,IDF越大,则说明词条t具有很好的类别区分能力。如果某一类文档C中包含词条t的文档数为m,而其他类包含t的文档总数为k,显然所有包含t的文档数n=m+k,当m大的时候,n也大,按照IDF公式得到的IDF的值会小,就说明该词条t类别区分能力不强。但是实际上,如果一个词条在一个类的文档中频繁出现,则说明该词条能够很好代表这个类的文本的特征,这样的词条应该给它们赋予较高的权重,并选来作为该类文本的特征词以区别于其他类文档。这就是IDF的不足之处。

[10]Shallow Parsing,也叫部分句法分析(Partial Parsing)或语块分析(Chunk Parsing),来自自然语言处理领域出现的一种新的语言处理策略。它是与完全句法分析相对的,完全句法分析要求通过一系列分析过程,最终得到句子的完整的句法树。而浅层句法分析则不要求得到完全的句法分析树,它只要求识别其中的某些结构相对简单的成分,如非递归的名词短语、动词短语等。这些识别出来的结构通常被称作语块(chunk),语块和短语这两个概念通常可以换用。

[11]阈值指的是触发某种行为或者反应产生所需要的最低值。

[12]自动语音识别(Automatic Speech Recognition)技术的目标是让计算机能够“听写”出不同人所说出的连续语音,也就是俗称的“语音听写机”,是实现“声音”到“文字”转换的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。语音识别是研究如何采用数字信号处理技术自动提取以及决定语音信号中最基本、最有意义的信息的一门新兴的边缘学科。它是语音信号处理学科的一个分支。

[13]OCR是指:电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程,即对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程。如何除错或利用辅助信息提高识别正确率,是OCR最重要的课题,ICR(Intelligent Character Recognition)的名词也因此而产生。衡量一个OCR系统性能好坏的主要指标有:拒识率、误识率、识别速度、用户界面的友好性、产品的稳定性、易用性及可行性等。

[14]互信息(Mutual Information)是信息论里一种有用的信息度量,它是指两个事件集合之间的相关性。互信息与多元对数似然比检验以及皮尔森χ2校验有着密切的联系。信息是物质、能量及其属性的标示。一般而言,信道中总是存在着噪声和干扰,信源发出消息x,通过信道后信宿只可能收到由于干扰作用引起的某种变形的y。信宿收到y后推测信源发出x的概率,这一过程可由后验概率p(x|y)来描述。相应地,信源发出x的概率p(x)称为先验概率。我们定义x的后验概率与先验概率比值的对数为y对x的互信息量,也称交互信息量(简称互信息)。

[15]Sproat和Richard等发表于1990年的杂志Computer Processing of Chinese and Oriental Languages上的一篇名为“A statisticalmethod for finding word boundaries in Chinese text”的文章。文章针对中文文本进行研究,发现一种词语之间的统计关联方法,即互信息。

[16]期望最大化算法在统计中被用于寻找,依赖于不可观察的隐性变量的概率模型中,参数的最大似然估计。

[17]EM是一个在已知部分相关变量的情况下,估计未知变量的迭代技术。EM的算法流程如下:1.初始化分布参数;2.重复直到收敛。E步骤:估计未知参数的期望值,给出当前的参数估计。M步骤:重新估计分布参数,以使得数据的似然性最大,给出未知变量的期望估计。

[18]狄里克雷分布是一组连续多变量概率分布,是多变量普遍化的B分布。为了纪念德国数学家约翰•彼得•古斯塔夫•勒热纳•狄里克雷(Peter Gustav Lejeune Dirichlet)而命名。狄里克雷分布常作为贝叶斯统计的先验概率。当狄里克雷分布维度趋向无限时,便成为狄利克雷过程(Dirichlet process)。狄里克雷分布奠定了狄里克雷过程的基础,被广泛应用于自然语言处理特别是主题模型(topic model)的研究。

[19]Zhao和Kit等发表于2008年的IJCNLP会议上的一篇名为An empirical comparison of goodnessmeasures for unsupervised Chinese word segmentation with a unified framework的文章,针对无监督的中文文本分词技术提出了四种分词的良度算法,并详细进行了评测。

[20]先验知识(prior knowledge)是先于经验的知识。在哲学上,它使人联想到下述思想:人类头脑包含有若干内在的特征,它可为人类理性和悟性提供基础。

[21]Sogou搜索引擎于2010年5月搜索的结果。

[22]推荐访问搜狐实验室提供的数据资源,http://www.sogou.com/labs/resources.html。