中文词频统计与词云生成

中文词频统计

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()

 词云图:

中文词频统计与词云生成

 中文词频统计与词云生成