【作业】中文词频统计及词云制作

1、中软国际华南区技术总监曾老师还会来上两次课,同学们希望曾老师讲些什么内容?(认真想一想回答)

答:希望可以演示一下大数据的应用,实实在在地演示,比如爬虫什么的。

2、中文分词

(1)下载一中文长篇小说,并转换成UTF-8编码。

(2)使用jieba库,进行中文词频统计,输出TOP20的词及出现次数。

(3)**排除一些无意义词、合并同一词。

(4)**使用wordcloud库绘制一个词云。

(**两项选做,此次作业要求不能雷同。)

 1 import jieba
 2 from wordcloud import WordCloud
 3 import matplotlib.pyplot as plt
 4 
 5 import jieba
 6 
 7 book = "绿山墙的安妮.txt"
 8 txt = open(book,"r",encoding='utf-8').read()
 9 
10 exc = {'不是','一个','我们','这个'}
11 
12 ls = []
13 words = jieba.lcut(txt)
14 counts = {}
15 for word in words:
16     ls.append(word)
17     if len(word) == 1:
18         continue
19     else:
20         counts[word] = counts.get(word,0)+1  #计数字典
21 for word in exc:
22     del(counts[word])   
23 items = list(counts.items())  #计数列表
24 items.sort(key = lambda x:x[1], reverse = True)  #排序
25 for i in range(20):
26     word , count = items[i]
27     print ("{:<10}{:>5}".format(word,count))
28     
29 cy = WordCloud().generate(txt)
30 plt.imshow(cy)
31 plt.axis("off")
32 plt.show()

 

 

 

posted @ 2017-09-25 18:02  27杨华星  阅读(216)  评论(0编辑  收藏  举报