中文词频统计: 作业连接:
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:词云形式:
·