天天看點

中文詞頻統計與詞雲生成

中文詞頻統計

1. 下載下傳一長篇中文小說。

2. 從檔案讀取待分析文本。

ltxz = open(r'F:/ltxz.txt','r',encoding='utf-8').read()
wordsls = jieba.lcut(ltxz)      

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. 排序

paixu=list(stayed_line.items())
paixu.sort(key=lambda x:x[1],reverse=True)      

7. 排除文法型詞彙,代詞、冠詞、連詞等停用詞。

stops

a = open(r'F:/stops_chinese.txt','r',encoding='utf-8').read()
stops = a.split()      

tokens=[token for token in wordsls if token not in stops]

排除:

wordsls = jieba.lcut(ltxz)
tokens = [token for token in wordsls if token not in stops]      

8. 輸出詞頻最大TOP20,把結果存放到檔案裡

中文詞頻統計與詞雲生成

9. 生成詞雲。

cut_text = " ".join(tokens)
from wordcloud import WordCloud
ciyun = WordCloud().generate(cut_text)
import matplotlib.pyplot as plt
plt.imshow(ciyun)
plt.axis("off")
plt.show()      

 詞雲圖:

中文詞頻統計與詞雲生成
中文詞頻統計與詞雲生成