中文文本情感分析-python包SnowNLP入门
目录
1.情感分析是什么?
极性:观点正负性的程度,0-1,0为负,1为正
持有者:提取出观点的持有者是谁
日常分析中使用频率:极性>观点>持有者
程度词设置不同的权重
从例子可以看出,基于情感词典的分析是有误差的
文本向量化:文本变为数值
2.情感分析有什么用?
3.情感分析实战-SnowNLP
SnowNLP官方参考资料:
https://pypi.org/project/snownlp/
https://github.com/isnowfy/snownlp
SnowNLP介绍:是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。注意本程序都是处理的unicode编码,所以使用时请自行decode成unicode。
SnowNLP两个坑:
SnowNLP已经训练好的模型不支持中文繁体字和英文,因为训练好的模型是用中文简体训练的
Snownlp模型训练精度不高,比如:
自己用snownlp训练模型:
官网中关于训练的说明
现在提供训练的包括分词,词性标注,情感分析,而且都提供了我用来训练的原始文件 以分词为例 分词在snownlp/seg目录下
from snownlp import seg
seg.train('data.txt')
seg.save('seg.marshal')
# from snownlp import tag
# tag.train('199801.txt')
# tag.save('tag.marshal')
# from snownlp import sentiment
# sentiment.train('neg.txt', 'pos.txt')
# sentiment.save('sentiment.marshal')
这样训练好的文件就存储为seg.marshal了,之后修改snownlp/seg/__init__.py里的data_path指向刚训练好的文件即可