前言
文本情感分析(也称为意见挖掘)是指用自然语言处理、文本挖掘以及计算机语言学等方法来识别和提取原素材中的主观信息,其主要任务就是对文本中的主观信息(如观点、情感、态度、评价、情绪等)进行提取、分析、处理、归纳和推理。
当前的情感分析技术分流成两类,一是基于规则(情感词典)的方法;二是基于统计学习的方法。第一类情感分析根据情感词典所提供的词的情感倾向性信息,结合语言知识和统计信息,进行不同粒度下的文本情感分析。第二类方法主要研究如何在本文表示层面寻找更加有效的情感特征,以及如何在机器学习模型中合理地使用这些特征。与第一类相比,第二类方法虽沿袭了传统基于主体的文本分类框架,但存在一些特殊问题需要单独处理,如情感极性的转移和领域适应问题(宗成庆等,2019)。
具体一点就是,基于情感词典的情感分析,将文本中的词句与词典配对计算它的情感数值,例如可能“快乐”在某个词典中情感信息值为0.9。而基于统计学习的情感分析,需要用到机器学习的算法,将文本中的数据集先做情感评判,后去训练模型,再用训练好的模型去判断新的句子的情感是偏向“正情绪”还是“负情绪”。这一方法的核心是构造数据集,标注数据集,基于数据集进行特征提取(传统机器学习)或者深度学习自动特征提取后建模,再去做情感分析。
在这里,我们先了解基于情感词典的情感分析是如何进行的。主要用到snownlp包来完成入门学习。SnowNLP是一个python写的类库,主要用于处理中文文本,可实现分词、词性标注、情感分析、汉字转拼音、繁体转简体、关键词提取以及文本摘要等等。
安装、导入snownlp
pip install snownlp #安装
from snownlp import SnowNLP #导入
<