1.2 文本情感分析方法
文本情感分析研究始于20世纪90年代,当时的情感分析主要分为两类,一类是基于知识库/情感词典的方法,另一类是基于机器学习的方法。近几年,深度学习在语音识别、图像识别等应用领域取得了飞速发展,也为情感分析提供了新的思路。
1.2.1 基于知识库的方法
基于知识库的方法主要利用词汇的情感倾向来判断文本的情感极性,分析对象是文本中具有情感倾向的词汇。首先判断或计算词汇/词组的褒贬倾向性,再以词汇/词组为单位,通过对词汇/词组的褒贬程度加权求和等方法,获得整个句子或篇章的情感极性。知识库/情感词典的构建方法通常有三种,即手工标注方法、基于知识库的方法和基于语料库的统计方法。基于知识库的方法主要是借助知识库资源(比如Wordnet、Hownet等)中概念之间的关系(同义词关系、反义词关系、上下位关系等)、概念的解释等来判断词语的情感极性。基于语料库的方法通常有如下的假设:具有相同情感倾向性的情感词容易出现在同一句子中。因此,这类方法通常需事先手工标注一小部分种子情感词,然后通过待判定情感词与种子词在语料中共现关系的强度来估算待判定情感词的情感极性。
1.2.2 基于机器学习的方法
基于机器学习的情感分析方法需经过预处理、文本表示(特征选择、特征约简、特征权重设置)与分类器训练,最终输出对情感极性的预测。1)特征选择:选取适当的语义单元作为特征,对不同文档有较强的区分能力。2)特征约简:去除特征集中不能有效反映类别信息的特征,提高分类的效率和准确率。3)特征权重设置:一般按照特征词是否出现取0/1值,或者按词频信息取TF、TF-IDF值等。4)分类器训练:常用的分类器包括朴素贝叶斯(Naïve Bayes, NB)、支持向量机(Support Vector Machines, SVM)、最大熵(Maximum Entropy, ME)等。在有监督学习的方法中,对一篇文本的情感倾向性判别可以看成文本分类过程,可以用标注好的语料来训练情感分类器。然而,有监督方法要求已标注的情感文本集和待标注的情感文本集服从相同的分布,以便经由已标注文本集训练出的分类器可以自然地适用于待标注文本。当标注文本特别稀缺,或者已标注文本和待标注文本领域不同时,可以采用半监督学习或者迁移学习等策略。
1.2.3 基于深度学习的方法
随着深度学习技术的发展,大量的文本情感分析研究围绕文本的表示学习和各种神经网络的结构设计展开。
表示学习是指通过表示学习算法将自然语言中所蕴含的语法和语义等信息编码为向量表示的过程。目前常用的词汇表示学习有两种方式,一种是上下文无关的词向量表示,比如Word2Vec和GloVe;另一种是上下文相关的词向量表示,比如ELMO和BERT。基于上下文的词向量学习模型虽然可以学习到词与上下文之间的语法和语义关系,但是没有包含显式的情感信息,比如good和bad的词向量表示比较接近,然而情感极性截然不同。因此,有研究者提出学习具有情感属性的词向量(情感词向量)方法,这一类方法大体可以分为两类,一类是对已有词向量进行面向情感分析任务的微调,从而学到具有情感属性的词向量;另一类是利用神经网络模型从头开始学习具有情感属性的词向量。
目前较为流行的神经网络模型包括卷积神经网络、循环神经网络、记忆网络和预训练语言模型等,这些模型在本书第2章会有详细介绍。不同神经网络模型具有不同的特性,因此很多研究者根据情感分析任务,设计了多种网络结构组合的情感分类模型,比如将卷积神经网络作为下层,在词向量矩阵上进行卷积操作,然后将得到的抽象表示输入上层的循环神经网络中。在实际应用中,具体选择哪一种模型,要依据任务特点和计算资源条件来决定。