情感分析(sentiment analysis)是2018年公布的计算机科学技术名词。
它可以根据文本内容判断出所代表的含义是积极的还是负面的,也可以用来分析文本中的意思是褒义还是贬义。
一般应用场景就是能用来做电商的大量评论数据的分析,比如好评率或者差评率的统计等等。
我们这里使用到的情感分析的模块是snownlp,为了提高情感分析的准确度选择加入了jieba模块的分词处理。
由于以上的两个python模块都是非标准库,因此我们可以使用pip的方式进行安装。
pip install jieba
pip install snownlp
jieba是一个强大的中文分词处理库,能够满足大多数的中文分词处理,协助snownlp的情感分析。
# Importing the jieba module and renaming it to ja.
import jieba as ja
from snownlp import SnowNLP
# Importing the snownlp module and renaming it to nlp.
为了避免大家使用过程中出现的版本冲突问题,这里将python的内核版本展示出来。
python解释器版本:3.6.8
接下来首先创建一组需要进行情感分的数据源,最后直接分析出该文本代表的是一个积极情绪还是消极情绪。
# Creating a variable called analysis_text and assigning it the value of a string.
analysis_text = '这个实在是太好用了,我非常的喜欢,下次一定还会购买的!'
定义好了需要分析的数据来源语句,然后就是分词处理了。这里说明一下为什么需要分词处理,是因为snownlp这个情感分析模块它的中文分词结果不太标准。
比如说,‘不好看’,这个词如果使用snownlp来直接分词的话大概率的就会分为’不’和’好看’这两个词。
这样的明明是一个带有负面情绪的中文词汇可能就直接被定义为正面情绪了,这也就是为什么这里需要先使用jieba进行分词处理了。
# Using the jieba module to cut the analysis_text into a list of words.
analysis_list = list(ja.cut(analysis_text))
# Printing the list of words that were cut from the analysis_text.
print(analysis_list)
# ['这个', '实在', '是', '太', '好', '用', '了', ',', '我', '非常', '的', '喜欢', ',', '下次', '一定', '还会', '购买', '的', '!']
根据上面分词以后的结果来看,分词的粒度还是比较细致的,每个词都是最多两个字符串的长度。
使用jieba提供的cut()函数&#