中文词频统计与词云生成
时间:2019-03-25
本文章向大家介绍中文词频统计与词云生成,主要包括中文词频统计与词云生成使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
作业要求来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2822
1. 下载一长篇中文小说。
2. 从文件读取待分析文本。
f = open("红楼梦.txt", "r", encoding='gb18030') novel = f.read() f.close()
3. 安装并使用jieba进行中文分词。
4. 更新词库,加入所分析对象的专业词汇
jieba.add_word('林姑娘') jieba.load_userdict(r'红楼梦词库.txt'
5. 生成词频统计
for i in tokens: wordsCount[i] = tokens.count(i)
6. 排序
top = list(wordsCount.items()) top.sort(key=lambda x: x[1], reverse=True)
7.排除语法型词汇,代词、冠词、连词等停用词
f = open("stop_chinese.txt", "r", encoding='utf-8') stops = f.read().split() f.close() tokens = [token for token in novel if token not in stops]
8. 输出词频最大TOP20,把结果存放到文件里
top.sort(key=lambda x: x[1], reverse=True) pd.DataFrame(data=top[0:20]).to_csv('top_chinese20.csv', encoding='utf-8')
9. 生成词云
txt = open('top_chinese20.csv','r',encoding='utf-8').read() wordlist = jieba.lcut(txt) wl_split = ''.join(wordlist) backgroud_Image = plt.imread('background.jpg') mymc = WordCloud(background_color='white',mask=backgroud_Image, margin=2,max_words=20,max_font_size=150,random_state=30).generate(wl_split) plt.imshow(mymc) plt.axis("off") plt.show() mymc.to_file(r'WordCloud.png')
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python如何快速生成时间戳
- 从python读取sql的实例方法
- PHP+iframe模拟Ajax上传文件功能示例
- Centos7 Yum安装PHP7.2流程教程详解
- PHP session垃圾回收机制实例分析
- thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例
- Python常用库Numpy进行矩阵运算详解
- PHP设计模式之建造者模式(Builder)原理与用法案例详解
- PHP大文件切割上传并带进度条功能示例
- PHP设计模式之观察者模式入门与应用案例详解
- Python文件夹批处理操作代码实例
- ThinkPHP框架结合Ajax实现用户名校验功能示例
- Laravel框架Eloquent ORM新增数据、自定义时间戳及批量赋值用法详解
- PHP使用HTML5 FileApi实现Ajax上传文件功能示例
- python3.7调试的实例方法