文本情感分析方法研究综述
1. 引言
文本情感分析是自然语言处理领域的一个重要分支,其广泛应用于舆情分析、情感对话、商品和服务评论等方面。现阶段,随着人工智能不断进步,通过情感计算实现有效的情感分析,是一个有巨大意义的任务。
2. 文本情感分析介绍
文本情感分析又称意见挖掘,是指对带有情感色彩的主观性文本进行分析,挖掘其中蕴含的情感倾向,对情感态度进行划分。
3. 文本情感分析过程
其过程主要包括原始数据获取、数据的预处理、特征提取、分类器以及情感类别的输出。
- 原始数据的获取一般是通过网络爬虫获取相关数据,如微博内容、推特语料、各大电商网站的评论等。
- 数据预处理是指进行数据清洗去除噪声,常见的方法有去除无效字符和数据、统一数据类别(如中文或简体)、使用分词工具进行分词处理、停用词过滤等。
- 特征提取根据使用的方法不同,会有不同的实现方法,在依赖不同的工具获得文本的数值向量表征时,常见的方法有词频计数模型N-gram和词袋模型TF-IDF,而深度学习方法的特征提取一般都是自动的。
- 分类器输出得到文本的最终情感极性,常见的分类器方法有SVM和softmax。
4. 文本情感分析方法
根据使用的不同方法,将情感分析方法分为:基于情感词典的情感分析方法、基于传统机器学习的情感分析方法、基于深度学习的情感分析方法。
mindmap
文本情感分析方法
基于情感词典的情感分析方法
基于传统机器学习的情感分析方法
基于深度学习的情感分析方法
其中,基于深度学习的情感分析方法分为:
- 单一神经网络的情感分析;
- 混合(组合、融合)神经网络的情感分析;
- 引入注意力机制的情感分析;
- 使用预训练模型的情感分析;
4.1 基于情感词典的情感分析方法
它是指根据不同情感词典所提供的情感词的情感极性,来实现不同粒度下的情感极性的划分。该方法的一般流程如下:
- 首先将文本输入,通过对数据的预处理(包含去噪、去除无效字符等),接着进行分词操作。
- 然后,将情感词典中的不同类型和程度的词语放入模型中进行训练。
- 最后,根据情感判断规则将情感类型输出。
现有的情感词典大部分是人工构造,按照划分的不同粒度,可将情感分析任务划分为:词、短语、属性、句子、篇章等级别。
注:需对词语进行情感极性和强度不同程度的标注。
流程图如下:
基于情感词典的方法可以准确反映文本的非结构化特征,易于分析和理解。当情感词覆盖率和准确率高的情况下,情感分类效果比较准确。
但该方法仍存在不足:
- 主要依赖情感词典的构建,现有的情感词典需要不断扩充才能满足需要;
- 跨领域和跨语言效果不佳;
- 考虑不到上下文之间的语义关系;
4.2 基于传统机器学习的情感分析方法
是指通过大量的有标注或无标注语料,使用统计机器学习算法,抽取特征,最后再进行情感分析输出结果。
基于机器学习的情感分类方法主要分为三类:有监督、半监督、无监督方法。
在有监督方法中,通过给定带有情绪极性的样本集,可以分类得到不同的情感类别。有监督的方法对数
据样本的依赖程度较高,在人工标记和处理数据样本上花费的时间较多。常见的有监督方法有:KNN、朴素贝叶斯、SVM。
在半监督方法中,通过对未标记的文本进行特征提取可有效改善文本情感分类结果,且可以解决带有标记的数据集稀缺问题。
在无监督方法中,根据文本间的相似性对未标记的文本进行分类,这种方法在情感分析中使用较少。
基于传统机器学习的情感分类方法主要在于情感特征的提取以及分类器的组合选择,不同分类器的组合选择对情感分析结果产生一定影响。同时,在对文本内容进行情感分析时常常不能充分利用上下文文本的语境信息,因此影响最终的分析结果。
4.3 基于深度学习的情感分析方法
方法可细分为:单一神经网络、混合(组合、融合)神经网络、引入注意力机制、使用预训练模型。
4.3.1 单一神经网络
该语言模型使用了一个三层前馈神经网络来建模。神经网络主要由输入层、隐藏层、输出层构成。其中,该网络的输入层的每个神经元代表一个特质,隐藏层层数及隐藏层神经元是由人工设定,输出层代表分类标签的个数,一个基本的三层网络如下所示:
该语言模型的本质就是根据上下文信息来预测下一个词的内容,而不依赖人工标注语料。由此可以发现,语言模型的优势就是能够从大规模的语料中学习丰富的知识。可以有效解决基于传统情感分析方法中忽略上下文语义的问题。
典型的神经网络学习方法有:卷积神经网络、递归神经网络
、长短期记忆网络等。
长短期记忆网络是一种特殊类型的递归神经网络,在处理长序列数据和学习长期依赖性方面效果不错。为了加快模型的训练速度,减少计算量和计算时间,Gopalakrishnan等人提出了六种不同参数的精简LSTM模型,通过实验证明,不同参数设置和模型层数设置均会对实验结果产生影响。
Fei等人提出了一种基于长短期记忆的多维话题分类模型,该模型由LSTM细胞网络构成,可以实现对向量、数组和高维数据的处理。
为了解决传统CNN方法中忽略文本潜在主题的问题,Zhou等人提出了一种基于CNN的多样化限制玻尔兹曼机(RBM)方法来对文本中句子的顺序潜在主题建模,来达到情感分类效果。
Li等人提出了一种基于卷积神经网络(CNN)的中文微博系统意见摘要算法,该模型通过应用CNN自动挖掘相关特征来进行情感分析,通过一个混合排序函数计算特征间的语义关系,该方法在四个评价指标上(准确率、召回率、精度、AUC)优于传统的分类方法(SVM、随机森林、逻辑回归)。
Wang等人提出了一种将递归神经网络和条件随机场相结合的联合模型,将其整合到一个统一的框架中,用于对方面词和意见词的提取。该模型同时学习高级判别特征,并在方面词和意见词之间进行信息的双重传播。
4.3.2 混合神经网络
将上述单一神经网络方法的优点进行组合和改进。Madasu等人提出了一种顺序卷积注意递归神经网络(SCARN),通过与传统的CNN和LSTM方法相比较,SCARN具有更好的性能。
罗帆等人利用联合循环神经网络和卷积神经网络,提出一种多层网络模型:H-RNN-CNN,该模型使用两层RNN对文本进行建模,并将其引入句子层,实现了对长文本的情感分类。
Xing等人通过引入一个新的参数化卷积神经网络用于方面级情感分类,使用了参数化过滤器(PF-CNN)和参数化门机制(PG-CNN)。
Jiang等人提出了一种基于分句极性和卷积神经网络融合的情感分析方法,首先利用神经网络对构成原句的多个分句的情感极性进行计算,然后利用极性融合规则对输出的分句情感极性进行合并,来计算原句的情感极性。
考虑到普通时间卷积网络对文本进行单向特征提取时不能充分捕捉文本特征,对文本的分析能力较弱,韩建胜等人提出一种基于双向时间卷积网络(Bi-TCN)的模型。该模型使用单向多层空洞因果卷积结构分别对文本进行前向和后向特征提取,将两个方向的序列特征融合后进行情感分类。
Lai等人提出一个基于语法的图卷积网络(GCN)模型来增强对微博语法结构多样性的理解。
除了实现对长文本的情感分类问题,混合神经网络方法也用于短文本情感分类问题。杜永萍等人提出一种基于CNN-LSTM神经网络的情感分类方法,在短文本评论中对含有隐含的语义的短文本评论中的情感倾向性识别取得不错的效果。为充分利用情感分析任务中的情感信息,李卫疆等人提出了一种基于多通道双向长短期记忆神经网络的情感分析模型(Mutil-Bi-LSTM),对情感分析任务中现有的语言知识和情感资源进行建模,生成不同的特征通道,让模型充分学习句子中的情感信息,通过实验对比,取得了比普通Bi-LSTM、结合情感序列特征的卷积神经网络以及传统分类器更好的性能。
相比于基于情感词典和传统机器学习的情感分析方法,采用深度学习神经网络的方法在文本特征学习方面有显著优势,能主动学习特征,并对文本中的词语信息主动保留,从而更好地提取到相应词语的语义信息。
4.3.3 引入注意力机制
Hinton等人率先提出了深度学习的概念,通过深层网络模型学习数据中的关键信息,以此来反映数据的特征,从而提升学习的性能。
基于深度学习的方法是采用连续、低维度的向量来表示文档和词语,因此能够解决数据稀疏的问题;此外,基于深度学习的方法属于端到端的方法,可以自动提取文本特征,降低文本构建特征的复杂性。
而注意力机制最早是应用在视觉图像领域,研究者在RNN模型上使用了注意力机制来实现图像分类,随后,Bahdanau等人通过将注意力机制应用在机器翻译任务中。2017年,谷歌机器翻译团队提出用Attention机制代替传统的RNN方法搭建了整个模型框架,并提出了多头注意力机制(Mutil-head attention)机制,如下图展示:
其中,Q、K、V首先经过一个线性变换,然后输入到放缩点积Attention(Scaled Dot-Product attention)中,进行h次计算,即多头。之后将h次的放缩点积Attention结果进行拼接,再进行一次线性变换得到的值作为多头Attention的结果。
注意力机制能够扩展神经网络的能力,允许近似更加复杂函数,即关注输入的特定部分。
Da’U等人提出了一种基于注意力机制的神经网络(SDRA)的深度感知推荐系统,该系统能够捕捉产品的不同方面以及用户对不同方面产品的潜在情感。
此外,作者还引入了协同注意机制,以更好地对用户-项目交互进行细粒度建模,从而提高预测性能。
Yang等人首次提出一种将目标层注意和上下文层注意交替建模的协同注意机制,通过将目标转移到关键词的上下文表示来实现方面情感分析,优于传统带有注意力机制的神经网络方法。
Pergola等人提出一种基于话题依赖的注意模型,通过使用注意力机制来实现对单词和句子的局部主题嵌入,用于情绪分类和主题提取。
刘发升等人提出了一种将注意力机制和句子排序的双层CNN-BiLSTM模型,该方法解决深度学习方法应用在情感分析时没有很好地解决文本特征和输入优化的问题。
顾军华等人提出一种基于卷积注意力机制的模型(CNN_attention_LSTM)用于提取文本的局部最优情感和捕捉文本情感极性转移的语义信息。该方法首先使用卷积操作提取文本注意力信号,将其加权融合到Word-Embed-ding文本分布式表示矩阵,突出文本重点的情感词和转折词,然后使用长短期记忆神经网络LSTM来捕捉文本前后情感语义关系,最后采用softmax线性函数实现情感分类。
陈珂等人针对情感词典不能有效地考虑到上下文语义信息,RNN获取整个句子序列信息有限以及在反向传播时可能存在梯度消失或梯度爆炸的问题,提出了一种基于情感词典和Transformer的文本情感分析方法,该方法充分利用了情感词典的特征信息,还将与情感词相关联的其他词融入到该情感词的不同位置,发现句子中的单词顺序和距离对句子中情感的影响。
此外,还对含有隐式情感词的文本进行研究,赵容梅等人利用CNN对文本进行特征提取,再使用LSTM提取文本中的上下文信息,并通过添加注意力机制。
潘东行等人提出一种结合上下文语义和融合注意力机制的情感分析方法,该方法首先使用Word2vec方法进行特征提取,在通过结合不同的分类模型(TextCNN、LSTM、BiGRU)最后通过融合注意力机制的方法来实现。
Wei等人提出一种基于多极性正交注意的BiLSTM模型,该方法可以有效识别词语和情感倾向之间的差异。
4.3.4 使用预训练模型
预训练模型是指用数据集已经训练好的模型。最新的例如:ELMo、BERT、XL-NET、ALBERT等。
Peters等人提出一个新方法ELMo,该方法使用的是一个双向的LSTM语言模型,由一个前向和一个后向语言模型构成,目标函数就是取这两个方向语言模型的最大似然值。和传统的词向量方法相比,这种方法的优势在于每一个词只对应一个词向量。ELMo利用预训练好的双向语言模型,然后根据具体输入从该语言模型中可以得到有着上下文依赖的当前词表示(对于不同上下文的同一个词的表示是不一样的),再当成特征加入到具体的NLP中有监督模型里。
2018年谷歌提出一种基于BERT的新方法,将双向的transformer机制用于语言模型,充分考虑到单词的上下文语义信息。在模型的输入方面,BERT使用了WordPiece、embedding作为词向量,并加入了位置向量和句子切分向量。
Araci等人提出一种基于BERT的FinBERT语言模型来处理金融领域的任务。
Xu等人通过结合通用语言模型(ELMo和BERT)和特定领域的语言理解,提出DomBERT模型用于域内语料库和相关域语料库中的学习。
Zhao等人提出了一种基于BERT的情感分析和关键实体检测方法,并将其应用于在线金融文本挖掘和社交媒体舆情分析。
Sun等人提出一种新的ABSA(Aspect-Based Sentiment Analysis,基于方面的情绪分析)方法,通过微调预先训练的BERT模型将ABSA任务转化为句子对分类任务。
Hu等人提出一种基于方面的硬选择的情感分析方法,通过给定的意见片段的开始和结束位置,选择两个位置之间的词进行情绪预测利用预先训练好的BERT模型来学习句子和方面之间的深层关联,以及句子中的长期依赖关系,并通过自批判强化学习进一步检测意见片段。