对中国四大名著--红楼梦 使用jieba进行分词处理 排除去停词 统计完整词频并按降序排列 前20词绘制词云图
文章目录
- 前言
- 一、jieba是什么?
- 支持四种分词模式:
- 支持繁体分词
- 支持自定义词典
- MIT 授权协议
- 二、直接上代码了
- 总结
前言
今天用jieba和词云库做个作业,顺便记录一下,作业要求:
1.使用jieba进行分词处理
2.排除去停词
3.统计完整词频并按降序排列
4.前20词绘制词云图
一、jieba是什么?
jieba 是目前表现较为不错的 Python 中文分词组件,并且有:
支持四种分词模式:
- 精确模式
- 全模式
- 搜索引擎模式
- paddle模式
支持繁体分词
支持自定义词典
MIT 授权协议
所以它在中文分词这方面还是很牛的,大家需要就自己看看叭
二、直接上代码了
import jieba
import wordclouddef takeSecond(elem):return elem[1]def createWordCloud(text): #生成词云函数w=wordcloud.WordCloud(font_path="STZHONGS.TTF", width=1000, height=500, background_color="white")w.generate(text)w.to_file("红楼梦词云图.jpg")if __name__=='__main__':path = r"红楼梦.txt"file = open(path, "r", encoding="utf-8")text = file.read()print(text)file.close()words = jieba.lcut(text) # jieba分词counts = {}for word in words: # 如果词长度不为1就留起来 (不是单个的字就留起来)if len(word) == 1:continueelse:counts[word] = counts.get(word, 0) + 1fourStopwords = open(r"cn_stopwords.txt", "r", encoding='utf-8').read() # 打开中文停词表StopWord = fourStopwords.split("\n") # 以换行符为间隔符切割中文停词for delWord in StopWord: # 如果词在停词表中就删掉try:del counts[delWord]except:continueitems = list(counts.items())items.sort(key=takeSecond, reverse=True) # 保留下来的词按降序排列print(items)wordscloud = "" # 存放要做的词云for i in range(20): # 前20个词 存入词云item = items[i]keyWord = item[0]wordscloud = wordscloud + ' ' + keyWordcount = item[1]createWordCloud(wordscloud) # 生成词云
运行结果:
注1: 中文停词表我是直接在github上下的 链接放这了中文停词表点进去就是的
注2:创建词云中字体的位置 在电脑的C:\Windows\Fonts
自己去复制一个过来就行了
最后我会把我的完整文件上传到资源,有需要的也可以下载
总结
完结撒花~ 唐怡佳继续加油叭!
对中国四大名著--红楼梦 使用jieba进行分词处理 排除去停词 统计完整词频并按降序排列 前20词绘制词云图相关推荐
- 词云--《红楼梦》--jieba库--wordcloud库
<红楼梦> 1.人物出场统计 import jieba f=open('F:/2级python/test/T10/sucai/红楼梦.txt','r',encoding='utf-8') ...
- 四大名著红楼梦第三回 贾雨村夤缘复旧职 林黛玉抛父进京都
却说雨村忙回头看时,不是别人,乃是当日同僚一案参革的号张如圭者.他本系此地人,革后家居,今打听得都中奏准起复旧员之信,他便四下里寻情找门路,忽遇见雨村,故忙道喜.二人见了礼,张如圭便将此信告诉雨村,雨 ...
- jieba库词频统计_如何用python对《三国演义》、《红楼梦》等名著开展词云分析及字频统计、出场统计等工作。...
以下以<红楼梦>为例进行设计. 在制作词云图及统计之前,需要下载python的几个库,wordcloud.jieba以及imageio等,我的操作系统为Windows10,IDE环境为id ...
- jieba分词统计红楼梦出现名字前20名
要求:红楼梦相关的分词,出现次数最高的20个. import jieba excludes = {"什么","一个","我们"," ...
- 红楼梦里的经典诗词赏析
<红楼梦>是中国的四大名著之一,曹雪芹以贾.史.王.薛四大家族的兴衰为背景,以贾府的家庭琐事.闺阁闲情为脉络,以贾宝玉.林黛玉.薛宝钗的爱情婚姻故事为主线,写下这篇巅峰之作.其中的经典诗词 ...
- python split函数 空格_python上手--10行代码读懂红楼梦
取名10行代码看懂红楼梦,是将介绍使用python代码来读红楼梦获取其主要人物.这里的思想就是词频统计,通过分析红楼梦小说文字中出现最多的词语,来概括说明红楼梦的核心人物和事情.实际上如果你能跟着往下 ...
- Python统计《红楼梦》人物出现频率
import jieba excludes = {"什么","一个","我们","那里","你们", ...
- python分析红楼梦出现的虚词词频统计_用Python分析红楼梦,见证贾府的兴衰
分词词频统计 什么是分词?众所周知中文是以字为单位,句子中所有的字连起来才能描述一个意思.例如我是一个学生.计算机不能很容易明白"学"."生"两个字合起来才表示 ...
- 用R进行文本分析初探——以《红楼梦》为例
原博地址:http://www.cnblogs.com/zzhzhao/p/5299876.html[侵删] 一.写在前面的话~ 刚吃饭的时候同学问我,你为什么要用R做文本分析,你不是应该用R建模么, ...
最新文章
- Java面向对象编程思想
- python从小到大的顺序输出-python从小到大的顺序输出
- python源码编译 mingw_使用mingw32 在windows python26 下编译安装4suite-xml
- 【Linux部署】Greenplum数据库6.13.0单机版 [CRITICAL]:-Error occurred: non-zero rc: 1(报错详情+问题处理:内存释放)
- btree索引和hash索引的区别(待更新)
- Web前端Javascript笔记(5)事件
- MySQL用户的增删改权以及root远程连接
- 2.SOA架构:服务和微服务分析及设计--- 理解面向服务架构
- 使用git来管理微信小程序
- Android 混淆大全一篇就够了
- 线性二次型调节器(LQR)原理详解
- python if .for 等函数
- Excise_day04Array
- 准确定位表单中的元素
- python -- 最长公共子串
- 扫雷c语言课程设计报告,扫雷游戏实验报告.docx
- 广和通FM650 5G模块连接Ubuntu不显示USB串口问题解决
- jupyterLab打开后出现Config option `template_path` not recognized by `ExporterCollapsibleHeadings`相关问题
- 一步到位:依靠注解@EnableScheduling,@Scheduled 三步解决springboot定时器任务
- 三菱PLC各型号之间的区别