中文詞頻統計: 作業連接: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
8. 輸出詞頻最大TOP20,把結果存放到文件里
9. 生成詞雲。
本案例統計紅樓夢詞頻:
1.在網上下載紅樓夢txt文件

2.使用PyCharm 編譯器自動下載 jieba 包
3.搜狗文庫中下載紅樓夢詞庫,並將詞庫.scel文件轉化為txt文件

4.先將轉化為txt形式的詞庫文件加入,再對紅樓夢文本進行詞頻統計,統計出頻率最高的20個詞:
```
import jieba
txt = open(r"C:\Users\Administrator\Desktop\all.txt",'r',encoding='utf-8').read()
word_dict =r"C:\Users\Administrator\Desktop\11.txt"
jieba.load_userdict(word_dict)
words = jieba.cut(txt)
# 鍵值對形式 {}
counts={}
for word in words:
if len(word)==1:
continue
else:
counts[word] = counts.get(word,0) +1 #遍歷所有,並加1
items = list(counts.items())#鍵值對變成列表
items.sort(key=lambda x: x[1], reverse=True)
for i in range(20):
word, count = items[i]
print("{0:<5}{1:>5}".format(word, count))
```
5.編譯結果:
曹操 934
孔明 831
將軍 760
卻說 647
玄德 571
關公 509
丞相 488
二人 463
不可 435
荊州 420
孔明曰 384
玄德曰 383
不能 383
如此 376
張飛 348
商議 344
如何 336
主公 327
軍士 309
呂布 299
6:詞雲形式:
·
