博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
中文词频统计与词云生成
阅读量:4979 次
发布时间:2019-06-12

本文共 1214 字,大约阅读时间需要 4 分钟。

中文词频统计:     作业连接:

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:词云形式:

 ·

 

转载于:https://www.cnblogs.com/Anla/p/10579295.html

你可能感兴趣的文章
二进制位处理
查看>>
学术之道-凌晓峰 读书笔记
查看>>
bcp 的一般用法
查看>>
C语言中volatilekeyword的作用
查看>>
Visual Studio 2010 配置Ogre
查看>>
ecstore小记
查看>>
【例3.6】过河卒(Noip2002)
查看>>
Spring 事务入门
查看>>
Codeigniter MongoDB类库
查看>>
Java设计模式——单例模式
查看>>
hdu 2732 Leapin' Lizards(最大流)Mid-Central USA 2005
查看>>
基于lnmp.org的xdebug安装
查看>>
redisTemplate如何注入到ValueOperations
查看>>
增加列并修改列的顺序
查看>>
国庆七天乐 Day2
查看>>
各种图论模型及其解答(转)
查看>>
kafka消息的可靠性
查看>>
一些软件设计的原则
查看>>
.NET平台开发Mongo基础知识
查看>>
Git:多人推送/抓取分支事项
查看>>