NLP-情感分析简介

NLP | 情感分析基础

一. 概念简介

1.任务描述:

本质上是一个分类任务,其一般是指判断一段文本所表达的情绪状态。其中,一段文本可以是一个句子,一个段落或一个文档。情绪状态可以是两类,如(正面,负面),(高兴,悲伤);也可以是三类,如(积极,消极,中性);或是星级(1星~五星)等等。总的来说,可以理解成:是对带有情感色彩的主观性文本进行数据挖掘与情感倾向分析的过程。

2.情感分析任务类型分类

按照处理文本的粒度不同,情感分析大致可分为词语级、句子级、篇章级三个研究层次。

  • 篇章级:待处理文本为一篇篇完整文章。

  • 句子级:待处理文本为一篇完整文章的一个个句子。

  • 词语级:词语的情感是句子或篇章级情感分析的基础。

3.情感分析的用途:

分析文本情感可以帮助我们从海量的文本内容中提取需要的信息,可用于商业也可用于政治。比如说,服装、电子产品等研发商根据网友的评论对商品进行改良;或是针对某一事件,对网友发表的博客等内容筛查,进行文本情感分析,已达到舆情监测的目的。

二.句子级情感分析:

1.基于词典的情感分类任务方法:

(1). 训练:

​ [1]. 情感词典:该部分包括了基本的:褒义词词典与贬义词词典,也可以下载其他的例如否定词词典和程度词词典等。

​ [2]. 权值计算:设,词典总词数为V,任务类别为\(C = \{ c_1,...,c_n \}\):s,w表示某一情感词典中的一个词,\(c \in C\),count(w,c)为训练集中情感类别为c的文本中出现词w的次数,count(w)表示训练集中词w出现次数,由此我们可得某一类别c下情感词w的概率为: \[ p(w|c_i) = \frac{count(w,c)+1}{count(c)+V} \]注:这里使用了加一平滑,也就是说,我们让每一个词的出现次数都加1,这样,即使一个情感词在训练集中没有出现过,他的概率也不是0。这样做的目的是:某些在训练集中没出现过的情感词的概率设为0是不合理的,因为我们在测试集中很可能会遇到这些训练集中没出现过的词。

(2). 打分:

​ 我们使用情感词典的一个比较直观的方法就是:对于褒义词我们就加上它的分数,对于贬义词就减去它的分数,如果还统计了否定词,则将当前句子在否定词后出现的情感词的分数乘-1;同理程度词,则是将其后修饰的情感词分数乘以程度词的分数。

​ 最终如果句子的总分数大于0,就说句子的情感是正面的;如果分数小于零,就说情感是反面的。

2.朴素贝叶斯的应用:

上述方法的弊端是只能处理正面、反面的任务,如果要处理多分类的任务,需要使用设定不同的阈值界限等方法,同时考虑的信息也比较片面。对此我们使用朴素贝叶斯进行优化。也即加上先验概率,同时在最终进行评价时,不用打分的思想,而是使用概率来进行选择。

(1). 训练:

先验概率求法:\(c \in C\),p(c)表示类别c可能出现的概率,N是训练集文本数目,count(c)是训练集中类别c的数据数目。 \[ p(c) = \frac{count(c)}{N} \] (2). 概率:设s是待判别的文本,\(c \in C\),p(s,c)表示文本s属于类别c的概率,则根据贝叶斯公式有 \[ p(s,c)=p(c)*p(s|c)=p(c)*p(w_1,...w_{n_s}|c) \] 根据朴素贝叶斯的假设:各特征值之间条件无关,又可以转化为: \[ p(s,c)=p(c)*\prod_ip(w_i|c) \] 最终选择概率最大的c即可。