作業來源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2822
中文詞頻統計
1. 下載一長篇中文小說。
2. 從文件讀取待分析文本。
3. 安裝並使用jieba進行中文分詞。
pip install jieba
import jieba
jieba.lcut(text)
4. 更新詞庫,加入所分析對象的專業詞匯。
jieba.add_word('天罡北斗陣') #逐個添加
jieba.load_userdict(word_dict) #詞庫文本文件
參考詞庫下載地址:https://pinyin.sogou.com/dict/
轉換代碼:scel_to_text
5. 生成詞頻統計
6. 排序
7. 排除語法型詞匯,代詞、冠詞、連詞等停用詞。
stops
tokens=[token for token in wordsls if token not in stops]
8. 輸出詞頻最大TOP20,把結果存放到文件里
9. 生成詞雲。
代碼如下:
1 import jieba 2 def read_file(): 3 f = open('C:\\Users\\leo\\Desktop\\我當陰陽先生的那幾年.txt', 'r', encoding='utf-8') 4 content = f.read() #通過文件讀取字符串 str 5 f.close() 6 return content 7 def read_stops(): 8 f = open('C:\\Users\\leo\\Desktop\\stops_chinese.txt', 'r', encoding='utf-8') 9 content = f.read() #通過文件讀取字符串 str 10 f.close() 11 return content 12 text = read_file() 13 stops = read_stops().split() 14 #添加不切割的詞 15 jieba.add_word('三清書') 16 jieba.add_word('崔作非') 17 jieba.add_word('福澤堂') 18 #分割 19 words = jieba.lcut(text) 20 #除掉stops 21 tokens = [token for token in words if token not in stops] 22 wcdict = {} 23 """統計次數並排序""" 24 for word in tokens: 25 if len(word)==1: 26 continue 27 else: 28 wcdict[word] = wcdict.get(word,0)+1 29 wcls = list(wcdict.items()) 30 wcls.sort(key=lambda x:x[1],reverse=True) 31 for i in range(20): 32 print(wcls[i]) 33 cut_text = " ".join(tokens) 34 """生成詞雲""" 35 from wordcloud import WordCloud 36 ciyun = WordCloud().generate(cut_text) 37 import matplotlib.pyplot as plt 38 plt.imshow(ciyun) 39 plt.axis("off") 40 plt.show() 41 ciyun.to_file(r'D:\搜狗高速下載\wordCloud.jpg')
詞頻統計截圖:

詞雲展示:

主要問題:pycharm安裝第三方庫不成功,目測是pip的版本太低,大概就是版本問題,第三方的庫都安裝不了
解決方法:1.通過命令行安裝
2.下載壓縮包並解壓到放置package的路徑


