pythonjieba情感分析步骤_Python基于NLTK+jieba+SnowNLP的情感分析(一)

本文介绍了如何使用nltk的NaiveBayesClassifier结合jieba和SnowNLP进行情感分析。通过训练关键词、去除停用词以及利用SnowNLP进行正负面判断,提高分析准确性。
摘要由CSDN通过智能技术生成

搜集了网上一些论坛的玩家反馈信息,需要进行正负面分析,刚开始是用jieba分词然后关键词匹配的做法去实现的,但是发现这样子做比较不合情理,因为不带情感、简单的分词会对真实意思产生偏差

比如:

我不喜欢今天的电影

分词之后的效果是

我,不,喜欢,今天,的,电影

所以我的做法是

1、适用nltk的NaiveBayesClassifier包进行关键词训练进行

2、WordPunctTokenizer进行带情感的分词

3、classifier.classify+SnowNLP进行正负面分析

接下来分步讲解实现方式

1、数据准备、特征提取

我自有一批正面关键词和负面关键词,需要注入到nltk里面,这样可以使它在进行分析的时候,把我的词库也加到影响因子里面

def word_feats(words):

return dict([(word, True) for word in words])

# 训练将特征提取之后的对象适用NaiveBayesClassifier进行训练

classifier = NaiveBayesClassifier.train(train_set)

2、分词

分词需要用到nltk的stopwords去过滤一些噪音,以免对分析结果产生太多影响

fromnltk.corpusimportstopwords

word_lst = WordPunctTokenizer().tokenize(text)

word_lst =[wforwinword_lstif(wnot instopwords.words('stop_word'))]

使用stopwords.words的时候可能会出现如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值