Python利用玻森情感词典判断句子情感分值

import pandas as pd
import jieba
df = pd.read_table(r"D:\BosonNLP_sentiment_score.txt",sep= " ",names=['key','score'],engine='python',encoding='utf-8')    #玻森情感词典文件的位置
key = df['key'].values.tolist()
score = df['score'].values.tolist()

def getscore(f):
            segs = jieba.lcut(f)  #分词
            score_list  = [score[key.index(x)] for x in segs if(x in key)]
            return sum(score_list)  #计算得分 """
if __name__=='__main__':
    #f='我现在心里真的很乱'
    f='今天去了北京,故宫很壮观'
    print(getscore(f))

情感值输出结果:

-4.0458716382710005   #f='我现在心里真的很乱'

3.3441567109332997    #f='今天去了北京,故宫很壮观'

#可据此判断情感倾向性



也可以通过在命令行pip install snownlp 安装snownlp包来进行类似功能

from snownlp import SnowNLP    #导入方式
print(SnowNLP('很差的一次购物体验,细节做得极差了,还有发热有点严重啊,散热不行,用起来就是烫得厉害,很垃圾!!!').sentiments)        #示例
0.0036849517156107847  #输出情感分值

不过通过安装情感词典包的分值评判体系可能稍有区别,snownlp包对于上述示例输出0.0...的数值表示消极,而示例在利用BosonNLP_sentiment_score.txt情感词典文件进行评判时分值如下,更为直观

-2.826954121025998

版权声明:本文为qq_38563206原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。