自然语言处理NLP——情感分析(Sentiment Analysis)简述

基于文本的情感分析,主要关注文章中的主观句,所以,subjective classifier即将主观句从文本中分离出来,就是整个情感分析的第一步。一般来说,这个方法是基于规则的分类方法——句子中包含n(一般为2)个表达情感的词语时就认为这个句子是主观句。

对于这个问题,Bing Liu 给出了一个情感分析的模型,对于非比较主观句而言,分为五个成分:

O 为实体对象

F 为实体特征

SO 为个人情感倾向

H 情感持有人

T 情感表达的时间

对于事物之间有比较关系的主观句,分为六个部分。(比上一个多了个实体O, SO也变为了PO,意为prefer object,更倾向于哪个)


分析的方式主要有两种:

1. gradable lexicon-based

即为给每个情感词语打分,最后将句子中的所有分数加起来,与一个阙值进行比较(一般就是0)。

在这个过程中,有几种常用的打分规则:

a,negative rule:

就是情感词前边有否定,则将这个情感词分数的绝对值减1 再符号取反

b, capitalization rule:

情感词如果被大写的话,其绝对值在原基础上加1,符号不变

c, intensifier rule:

前边有强调词(强调词也有各自的评分),正加负减

d, diminisher rule:

有表示略微意思的词,正减负加

e, exclamation rule:

用一些符号取强调情感,如!!!,正加负减

f, emotion rule:

符号表情(也有各自的评分)


这个方式的优点就是,词语库可扩展,并且不需要训练,运行效率很高

缺点就是,这个词语库是需要维护的,并且词语在出现过程中,很可能伴随着缩写和错别字等情况。


2. corpus-based/supervised machine learning

核心就是朴素贝叶斯。

自然语言处理NLP——情感分析(Sentiment Analysis)简述_第1张图片

大概就是这个样子,比较简单,就不展开说明了。


情感分析也面临着一些语言处理上的困境,主要就是指代问题,对于现在的技术来说,分辨指代词准确的指代实体是什么比较困难。还有就是,对于一些客观句来说,也可能表达情感,比如,我的手机屏幕在买的第二天坏了。

你可能感兴趣的:(nlp,情感分析,NLP)