情感词云图

微博的评论有积极的也有消极的,我们可以利用读取的微博评论绘制出词云图来分析消极与积极情绪。

首先我们需要去读取我们截取的微博评论,并利用jieba库对评论进行分词

import pandas as pd
import numpy as np
import jieba
import warnings
warnings.filterwarnings("ignore")
data = pd.read_csv('weibo_senti_900.csv')
#利用jieba库来进行分词
data['review_cut'] = data['review'].apply(lambda x: list(jieba.cut(x)))
data.head()

我们在对评论分好词以后就需要对里面的停用词进行处理,去除不需要的停用词

with open('stopword.txt','r',encoding ='utf-8') as f:
    stop = f.readlines()
import re
stop = set([re.sub(' |\n|\ufeff','',r)for r in stop])
data['review_words'] = [[i for i in s if i not in stop]for s in data['review_cut']]
data.head()

 

 做好停用词处理以后就可以绘制情绪词云图了

from wordcloud import WordCloud
import matplotlib.pyplot as plt
word_maps = [data[data['label']==x]['review_words'].explode().value_counts() for x in(0,1)]
wc_price = [WordCloud(background_color = 'white',font_path= 'simhei').fit_words(word_map)for word_map in word_maps]
plt.figure(figsize=(10,10))
for i in range(2):
    plt.subplot(2,1,(i+1))
    plt.imshow(wc_price[i])
    plt.axis('off')
plt.show()

如果文章有错误,敬请指正!!

猜你喜欢

转载自blog.csdn.net/qq_52351946/article/details/131353796