谈一下SnowNLP的情感分析

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 ('情感分析:消极')
"""

不修改语料库的情况下,得到如下结果:(我也不知道这是什么玩意儿,尴尬~)

谈一下SnowNLP的情感分析_第1张图片


关于语料库的修改:

pos.txt和neg.txt里面全是已经标注好的句子,大概好几万条,我没有这样的语料,所以我做出来的效果一定是很差的

做文本分析肯定需要领域相关的词来训练。


你可能感兴趣的:(NLP)