SnowNLP是一个封装好的python库,可以做情感分析,计算文本相似度(BM25方法)、提取关键词等。
安装方法:pip install SnowNLP ,该库仅适用于python3版本
我也是无意发现这玩意儿,听说下过不错,我实验了一下
"""
学习一下使用SnowNLP
"""
from snownlp import SnowNLP
import csv
import sys
from snownlp import seg
#seg.train()
#SnowNLP分析情感
def snowanalysis(path):
csvfile = open(path, 'r', encoding='UTF-8')
reader = csv.reader(csvfile)
map1 = {}
map2 = {}
for line in reader:
#print (line[1])
sentiment1 = SnowNLP(line[1]).sentiments
sentiment2 = SnowNLP(line[2]).sentiments
#print (sentiment)
map1[sentiment1] = line[1]
map2[sentiment1] = line[2]
return map1,map2
#情感设置
# def sentiment_set():
# return
if __name__ =='__main__':
path = 'D:/GFZQ/GFZQ/xuesu2018/xuesu/佐力药业*******.csv'
map1,map2 = snowanalysis(path)
# map = snowanalysis(path)
#
for k,v in map2.items():
print (k,v)
"""
#test
text = '你叫啊!'
s = SnowNLP(text)
print ("内容 : %s" %text)
print ("情感值:%s" %s.sentiments)
if s.sentiments > 0.5:
print ('情感分析:积极')
elif s.sentiments <= 0.5:
print ('情感分析:消极')
"""
不修改语料库的情况下,得到如下结果:(我也不知道这是什么玩意儿,尴尬~)
关于语料库的修改:
pos.txt和neg.txt里面全是已经标注好的句子,大概好几万条,我没有这样的语料,所以我做出来的效果一定是很差的
做文本分析肯定需要领域相关的词来训练。