利用SnowNLP快速进行评论数据情感分析

2020-11-25 11:08:42 浏览数 (1)

上次课给大家介绍了文本关键词提取的常用方法,本节课老shi将给大家讲解自然语言处理的另一个重要应用——文本情感分析。众所周知,很多场景下,我们都需要用到情感分析技术。比如,做金融产品量化交易,需要根据舆论数据来分析政策和舆论对股市或者基金期货的态度;电商交易需要根据买家的评论数据来分析商品的预售率等等。那么到底什么是文本情感分析,我们又该如何做文本情感分析呢?

首先,情感分析是根据情感倾向来进行的,而情感倾向最常见的就是我们平时说的喜欢、不喜欢、讨厌等。目前情感倾向分析的方法主要分为两类:一类是基于情感词典的方法,一类是基于机器学习的方法。这两者主要的区别是,前者需要用到标注好的情感词典;后者则需要大量人工标注的语料作为训练集,通过提取文本特征,构建分类器来实现情感的分类。下面先简单介绍基于SnowNLP的评论数据情感分析方法。

可能有同学会问,SnowNLP是什么?SnowNLP是一个基于Python的情感分析工具库,可以进行中文分词、词性标注、情感分析、文本分类、文本关键词提取等。SnowNLP的情感值取值范围为0到1之间,值越大,说明情感倾向越积极。下面老shi就利用SnowNLP工具库分别对某电商平台商品的好、中、差评论数据进行快速的情感分析。

首先,引入SnowNLP库:

代码语言:javascript复制
from snownlp import SnowNLP

然后测试一条好评数据:

代码语言:javascript复制
SnowNLP(u'确实很满意的一次购物。做工很好很精致。内外都很特别。这几天穿着很暖和的。而且轻薄。包装都很好。').sentiments

得到的情感值为0.9999995023960646,情感值较高,说明买家对商品比较认可。

接着我们再测试一条中评数据:

代码语言:javascript复制
SnowNLP(u'屏幕分辨率一般,一分钱一分货吧。').sentiments

得到的情感值为0.043297449390443,说明买家对商品的看法一般,甚至是不喜欢。

最后我们来测试一条差评数据:

代码语言:javascript复制
SnowNLP(u'很差的一次购物体验,细节做得极差了,还有发热有点严重啊,散热不行,用起来就是烫得厉害,很垃圾!!!').sentiments

得到的情感值为0.0038967116164347892,情感值很低,说明买家对商品极不认可,存在退货的可能。

以上就完成了很简单快速的商品评论数据的情感值计算,通过以上例子说明SnowNLP对评论数据确实很好用,准确率也很高!关于评论数据情感分析的例子还有很多,可以用的工具也很多,SnowNLP只是其中之一,有兴趣的同学可以多进行对比测试。本次课程到此,下次再详细介绍基于情感词典的分析方法,敬请关注!!

0 人点赞