词频统计和词云绘制

在前面我们已经提取了很多篇文章的内容,现在我们要对这些内容进行文本的词频统计和词云绘制,以观察热点内容。
在前文中,提取出的文本里有许多不需要的字符,比如列表的符号,因为是以列表的形式进行提取和存储的。将列表转换为字符串,可以使用’’.join()方法,大家可以自行处理一下,这里不再赘述。
词频统计的基本思路是将文本中所有的内容先进行分词,然后再进行停用词去除,停用词就是那些没有意义的词语,比如“的”,“那么”,“如果”等等。由于在结果中发现分词的结果还是存在很多不需要的词,因此先对它们进行了清洗。这里,我所有的文本全部放在了D盘的绿色金融文本库下。
os.walk就是对文件夹进行遍历,提取出文件夹下所有文件。
我们先拿到清洗过的文本:

import os
os.chdir(r'd:\\')
text=[]
text1=''
for root,dirs,files in os.walk(r'D:\绿色金融文本库'):
    for i in files:
        path=os.path.join(root,i)
        with open(path,'r',encoding='gb18030',errors='ignore') as f:
            text=f.readline()
            text1=text1+text
text1=text1.replace(' ','')
text1=text1.replace('新华社记者','')
text1=text1.replace('中国','')
text1=text1.replace('月','')
text1=text1.replace('近日','')
text1=text1.replace('日','')
text1=text1.replace('年','')
text1=text1.replace('中','')
text1=text1.replace('\n','')

文本清洗过后,需要进行分词和停用词取出,这里需要引入jieba包,并且需要一个停用词表(stopword.txt),停用词表可以在网上下载。
导入停用词表:

stopwords = {}.fromkeys([line.rstrip() for line in open(r'D:\stopword.txt',encoding='utf-8',errors='ignore')])

对文本分词并去除停用词:

import jieba
strings=jieba.cut(text1)
str=''
for i in strings:
    if i not in stopwords:
        str+=i

获得去除停用词后的分词文本:

str1=jieba.cut(str)

接下来就是词频统计和词云绘制,词频统计需要引入collections包

import collections
word_counts = collections.Counter(str1) # 对分词做词频统计
word_counts_top50 = word_counts.most_common(50) # 获取排名前50的词
word_counts_top50

在这里插入图片描述
最后生成词云,这里需要引入wordcloud包:

from wordcloud import WordCloud
wc = WordCloud(background_color = "black",max_words = 300,font_path='C:/Windows/Fonts/simkai.ttf',min_font_size = 15,max_font_size = 50,width = 600,height = 600)
wc.generate_from_frequencies(word_counts)
wc.to_file("wordcoud.png")

在这里插入图片描述
从图片中我们也可以看到,绿色、环保、责任等关键词是属于热点,这与我们的主题是相关的。当然,由于前面文本提取的时候不是很完美,还是多了许多不需要的词(比如那两串英文字符),这里要说声抱歉了,大家可以下去自行处理。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值