作业:中文词频统计与词云生成

这个作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2822

1. 下载一长篇中文小说。

  本文将下载《天龙八部》小说第一章并将其为例,展示生成中文词云和词频统计的完整过程。

2. 从文件读取待分析文本。

f = open(u'.txt',encoding='UTF-8').read()

3. 安装并使用jieba进行中文分词。

4. 生成词频统计

在第425行,进行分词,然后将结果进行遍历(426-433行),遍历中,剔除单个字符,每个词语和它所出现的次数写入字典,第434、435行将字典转化为元组所组成的列表,并依据出现次数进行排序,然后遍历列表,取出前10名。

第二段代码(441-445行)是依据权重取出了关键词,可以看出,这章小说,主要讲的就是段誉的事情了,不论是权重还是词频都是他最高。。。

 5. 生成词云

#coding:utf-8

import jieba
from wordcloud import WordCloud 

f = open(u'天龙八部.txt','r').read()
s = {}
f = jieba.cut(f)
for w in f:
    if len(w) > 1:
        previous_count = s.get(w,0)
        s[w] = previous_count+1

word = sorted(s.items(),key=lambda (word,count):count, reverse = True)
word = word[1:100]
#print word[:100]
wordcloud = WordCloud(font_path = 'MSYH.TTF').fit_words(word)
import matplotlib.pyplot as plt
plt.imshow(wordcloud) 
plt.axis("off")
plt.show()

运行结果如下:

猜你喜欢

转载自www.cnblogs.com/luengmingbiao/p/10596980.html