广师大学习笔记之文本统计(jieba库好玩的词云)
1.jieba库,介绍如下:
(1) jieba 库的分词原理是利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结构和动态规划方法找到最大概率的词组;除此之外,jieba 库还提供了增加自定义中文单词的功能。
(2) jieba 库支持3种分词模式:
精确模式:将句子最精确地切开,适合文本分析。
全模式:将句子中所以可以成词的词语都扫描出来,速度非常快,但是不能消除歧义。
搜索引擎模式:在精确模式的基础上,对长分词再次切分,提高召回率,适合搜索引擎分词。
2.按安装jieba库
(1)在命令行下输入:pip inshtall jieba
有进度条弹出来,再等待一下就安装好了。
(2)调用库函数 1:导入库函数<库名>
使用库中函数:<库名> . <函数名> (<函数参数>)
4.jieba库函数
(1)库函数常用的功能
2.jieba库的应用
3.利用jieba库统计一篇文章的出场顺序:
上代码:
1 # -*- coding: utf-8 -*-
2 import jieba
3
4 txt = open("D:\\文本\\Detective_Novel(utf-8)\Detective_Novel(utf-8).txt", "r", encoding='utf-8').read()
5 words = jieba.lcut(txt) # 使用精确模式对文本进行分词
6 counts = {} # 通过键值对的形式存储词语及其出现的次数
7
8 for word in words:
9 if len(word) == 1: # 单个词语不计算在内
10 continue
11 else:
12 counts[word] = counts.get(word, 0) + 1 # 遍历所有词语,每出现一次其对应的值加 1
13
14 items = list(counts.items())
15 items.sort(key=lambda x: x[1], reverse=True) # 根据词语出现的次数进行从大到小排序
16
17 for i in range(3):
18 word, count = items[i]
19 print("{0:<5}{1:>5}".format(word, count))
4.运行结果
五。再利用wordcloud库生成词云图:
1.安装wordcloud库 在命令行打pip install wordcloud
代码如下:
1 from wordcloud import WordCloud
2
3 import matplotlib.pyplot as plt #绘制图像的模块
4
5 import jieba #jieba分词
6
7 path_txt='D:\\文本\\Detective_Novel(utf-8)\Detective_Novel\
8 l(utf-8)'
9
10 f = open("D:\\文本\\Detective_Novel(utf-8)\Detective_Novel(utf-8).txt", "r", encoding='utf-8').read()
11
12 # 结巴分词,生成字符串,wordcloud无法直接生成正确的中文词云
13
14 cut_text = " ".join(jieba.cut(f))
15
16 wordcloud = WordCloud(
17
18 #设置字体,不然会出现口字乱码,文字的路径是电脑的字体一般路径,可以换成别的
19
20 font_path="C:/Windows/Fonts/simsun.ttc",
21
22 #设置了背景,宽高
23
24 background_color="black",width=2000,height=1200).generate(cut_text)
25
26 plt.imshow(wordcloud, interpolation="bilinear")
27
28 plt.axis("off")
29
30 plt.show()
运行结果如下:
广师大学习笔记之文本统计(jieba库好玩的词云)的更多相关文章
- 数字、字符串、列表、字典,jieba库,wordcloud词云
一.基本数据类型 什么是数据类型 变量:描述世间万物的事物的属性状态 为了描述世间万物的状态,所以有了数据类型,对数据分类 为什么要对数据分类 针对不同的状态需要不同的数据类型标识 数据类型的分类 二 ...
- ArcGIS案例学习笔记-点群密度统计
ArcGIS案例学习笔记-点群密度统计 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:对于点群,统计分布密度 数据: 方法: 1. 生成格网 2. 统计个数, ...
- ArcGIS案例学习笔记-栅格数据分区统计(平均高程,污染浓度,污染总量,降水量)
ArcGIS案例学习笔记-栅格数据分区统计(平均高程,污染浓度,污染总量,降水量) 联系方式:谢老师,135-4855-4328,xiexiaokui@qq.com 目的:针对栅格数据,利用多边形面要 ...
- ArcGIS案例学习笔记_3_2_CAD数据导入建库
ArcGIS案例学习笔记_3_2_CAD数据导入建库 计划时间:第3天下午 内容:CAD数据导入,建库和管理 目的:生成地块多边形,连接属性,管理 问题:CAD存在拓扑错误,标注位置偏移 教程:pdf ...
- jieba (中文词频统计) 、collections (字频统计)、WordCloud (词云)
py库: jieba (中文词频统计) .collections (字频统计).WordCloud (词云) 先来个最简单的: # 查找列表中出现次数最多的值 ls = [1, 2, 3, 4, 5, ...
- python爬虫——京东评论、jieba分词、wordcloud词云统计
接上一章,动态页面抓取——抓取京东评论区内容. url=‘https://club.jd.com/comment/productPageComments.action?callback=fetchJS ...
- jieba 库的使用和好玩的词云
jieba库的使用: (1) jieba库是一款优秀的 Python 第三方中文分词库,jieba 支持三种分词模式:精确模式.全模式和搜索引擎模式,下面是三种模式的特点. 精确模式:试图将语句最精 ...
- Jieba库使用和好玩的词云
jieba库的使用: (1) jieba库是一款优秀的 Python 第三方中文分词库,jieba 支持三种分词模式:精确模式.全模式和搜索引擎模式,下面是三种模式的特点. 精确模式:试图将语句最精 ...
- NLTK学习笔记(二):文本、语料资源和WordNet汇总
目录 语料库基本函数表 文本语料库分类 常见语料库及其用法 载入自定义语料库 词典资源 停用词语料库 WordNet面向语义的英语字典 语义相似度 语料库基本函数表 示例 描述 fileids() 语 ...
随机推荐
- Java提高班(四)面试必备—你不知道的数据集合
导读:Map竟然不属于Java集合框架的子集?队列也和List一样属于集合的三大子集之一?更有队列的正确使用姿势,一起来看吧! Java中的集合通常指的是Collection下的三个集合框架List. ...
- xamarin.forms之page
最近在使用xamarin.forms做APP开发,之前做过ios的应用,虽然没做过安卓,但之前也有一点了解,什么四大组件五大布局啥的,微软的xamarin.forms的文档也挺详细的,基本都是复制粘贴 ...
- SpringCloud系列——Feign 服务调用
前言 前面我们已经实现了服务的注册与发现(请戳:SpringCloud系列——Eureka 服务注册与发现),并且在注册中心注册了一个服务myspringboot,本文记录多个服务之间使用Feign调 ...
- Creating a ROS msg and srv
msg: msg files are simple text files that describe the fields of a ROS message. They are used to gen ...
- HTTP与HTTPS的理解
最近一直也在面试的过程中,可能由于各个方面的问题,导致没有时间抽出更新博客,今天开始陆续更新!!!以后自己的博客,会向React Native,swift ,以及H5延展,成为一个全栈的技术人员.本篇 ...
- 谈下WebSocket介绍,与Socket的区别
这个话题应该是面试中出现频率比较高的吧....不管咋样还是有必要深入了解下两者之间的关联.废话不多说,直接入题吧: WebSocket介绍与原理 目的:即时通讯,替代轮询 网站上的即时通讯是很常见的, ...
- Android开发——打造简单的Viewpager指示器(小圆点指示器)
准备工作: 1.两张不同颜色的小圆点图片,可以去阿里巴巴矢量图网站搜索 我把我使用的图片贴出来 2.一个简单的Viewpager的实现 下面是简单的Viewpager实现步骤: 1.布局文件使用Vie ...
- Excel读写
http://www.cnblogs.com/mingforyou/archive/2013/08/26/3282922.html 读Excel代码如下: import java.io.File;im ...
- 手机端input[type=date]的placeholder不起作用
<div class="input clearfix"> <label class="fl">起始日期</label> &l ...
- WEB前端开发记录PS常见操作
1.相邻2个层合并的快捷键方法:先选择上面的一个层,再按ctrl+e. 2.合并一个组内的多个层或组:在该组单击右键,选择“转换为智能对象”,然后可对其进行其它操作,比如:截取该组的为一张图片:ctr ...