python数据分析------文本挖掘(jieba)
1、import jieba
jieba的cut函数有三个模式:全模式、精准模式、搜索引擎模式
1 精确模式,试图将句子最精确地切开,适合文本分析;
2 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
3 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
【jieba.lcut生成list,如 tags = jieba.lcut(text) ,text也要先处理成list。】
例子:全模式:cut_all=True
import jieba
sentence="我喜欢上海东方明珠"
w1=jieba.cut(sentence,cut_all=True)
for item in w1:
print(item) #结果:
我
喜欢
上海
上海东方
海东
东方
东方明珠
方明
明珠
精准模式:cut_all=False,或者默认情况下
import jieba
sentence="我喜欢上海东方明珠"
w2=jieba.cut(sentence,cut_all=False)
#或者w2=jieba.cut(sentence)
for item in w2:
print(item)
#结果:
我
喜欢
上海
东方明珠
搜索引擎模式:jieba.cut_for_search()
import jieba
snetence="我喜欢上海东方明珠"
w3=jieba.cut_for_search(sentence)
for item in w3:
print(item)
#结果
我
喜欢
上海
东方
方明
明珠
东方明珠
2、结巴的词性标注
import jieba.posseg
sentence="我喜欢上海东方明珠"
w4=jieba.posseg.cut(sentence)
#flag为词性,word为词
for item in w4:
print(item.word+"---"+item.flag)
#结果
我---r
喜欢---v
上海---ns
东方明珠---nr
词性:

3、加载自己创建的词典
比如:我在桌面创建了一个dict.txt。

import jieba.posseg
jieba.load_userdict('C:/user/Desktop/dict.txt')
sentence="Lee_yl学习Python"
w5=jieba.posseg.cut(sentence)
for item in w5:
print(item)
#结果
Lee_yl/nr
学习/v
Python/eng
加载自己的文件是暂时的,本次加载在内存中,下一次需要再加载。
4、提取关键词【jieba.analyse.extract_tags(字符串,关键词数量)】
import jieba.analyse
sentence="我喜欢上海东方明珠"
w6=jieba.analyse.extract_tags(sentence,3)print(w6)
#结果
['东方明珠', '喜欢', '上海']
5、返回词语的位置
import jieba
w7=jieba.tokenize(sentence,mode="search")
for item in w7:
print(item)
#结果,0,1,3,5,9表示词的索引位置
('我', 0, 1)
('喜欢', 1, 3)
('上海', 3, 5)
('东方明珠', 5, 9)
6、计算词频(collections.defaultdict)
from collections import defaultdict
s = 'mississippi'
d = defaultdict(int)
for k in s:
d[k] += 1 list(d.items())
结果:[('m', 1), ('i', 4), ('s', 4), ('p', 2)]
这里的defaultdict(function_factory)构建的是一个类似dictionary的对象,其中keys的值,自行确定赋值,但是values的类型,是function_factory的类实例,而且具有默认值。比如default(int)则创建一个类似dictionary对象,里面任何的values都是int的实例,而且就算是一个不存在的key, d[key] 也有一个默认值,这个默认值是int()的默认值0.
python数据分析------文本挖掘(jieba)的更多相关文章
- 【Python 数据分析】jieba文本挖掘
jieba是一个强大的分词库,完美支持中文分词 安装jieba 使用命令安装 pip install jieba 出现上图表示安装成功了 jieba分词模式 全模式 全模式:试图将句子精确地切开,适合 ...
- 【原】python中文文本挖掘资料集合
这些网址是我在学习python中文文本挖掘时觉得比较好的网站,记录一下,后期也会不定期添加: 1.http://www.52nlp.cn/python-%E7%BD%91%E9%A1%B5%E7% ...
- Python数据分析简介
1,Python作为一门编程语言开发效率快,运行效率被人诟病,但是Python核心部分使用c/c++等更高效的语言来编写的还有强大的numpy, padnas, matplotlib,scipy库等应 ...
- [Python数据分析]新股破板买入,赚钱几率如何?
这是本人一直比较好奇的问题,网上没搜到,最近在看python数据分析,正好自己动手做一下试试.作者对于python是零基础,需要从头学起. 在写本文时,作者也没有完成这个小分析目标,边学边做吧. == ...
- 【Python数据分析】Python3多线程并发网络爬虫-以豆瓣图书Top250为例
基于上两篇文章的工作 [Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 [Python数据分析]Python3操作Excel(二) 一些问题的解决与优化 已经正确地实现 ...
- 【Python数据分析】Python3操作Excel(二) 一些问题的解决与优化
继上一篇[Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 对豆瓣图书Top250进行爬取以后,鉴于还有一些问题没有解决,所以进行了进一步的交流讨论,这期间得到了一只尼玛 ...
- 【搬砖】【Python数据分析】Pycharm中plot绘图不能显示出来
最近在看<Python数据分析>这本书,而自己写代码一直用的是Pycharm,在练习的时候就碰到了plot()绘图不能显示出来的问题.网上翻了一下找到知乎上一篇回答,试了一下好像不行,而且 ...
- Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识
Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4 ...
- 转]python 结巴分词(jieba)学习
原文 http://www.gowhich.com/blog/147 主题 中文分词Python 源码下载的地址:https://github.com/fxsjy/jieba 演示地址:http:/ ...
随机推荐
- Netty学习总结(3)——Netty百万级推送服务
1. 背景 1.1. 话题来源 最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题.问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为 ...
- Maven学习总结(26)——maven update时,报:Preference node "org.eclipse.wst.validation"...
详细情况如下: An internal error occurred during: "Updating Maven Project". Preference node " ...
- 部署项目到tomcat时 访问项目404的问题总结
使用tomcat服务器运行项目之前 需要把项目发布到(部署)tomcat上,然后启动服务器 运行项目 今天把以往正常运行的项目发布之后,运行时 竟然出现404 关键还不是我路径写错了 而 ...
- js setTimeout函数
最近在看JS DOM编程艺术,在第十章的动画里面有个setTimeout函数的例子中涉及了很多的引号,研究了好大一会才看明白,综合网上各个大神的解释和自己的理解,其原理是这样的: 首先看下程序源代码: ...
- Docker--在ubuntu中的操作
docker的基础命令 安装前的检查 //查看内核版本 uname -a //检查Device Mapper ls -l /sys/class/misc/device-mapper 在ubuntu中安 ...
- Sublime Text 3常用插件—Emmet
原文链接:http://www.cnblogs.com/easy-blue/p/6617852.html 摘要: 安装请看上一篇Sublime Text—安装,和sublime自带快捷键一起用,写ht ...
- Tarjan算法各种&RMQ& POJ 3694
关于tarjan 的思想可以在网上搜到,具体我也不太清楚,应该说自己理解也不深,下面是做题经验得到的一些模板. 其中有很多转载,包括BYVoid等,感谢让我转...望各路大神愿谅 有向图求连通分量的一 ...
- Window上python 开发--1.搭建开发环境
事实上在开发python最好在ubuntu环境下,简单也便于扩展各个package.可是我的linux的电脑临时不在身边.还的我老婆的电脑win7没办法啊. 因为python的跨平台性.在window ...
- iOS开发之获取沙盒路径
iOS开发之沙盒机制(SandBox)具体解说了沙盒的一些机制.在开发中,我们须要对沙盒进行操作.所以我们须要获取到沙盒路径. 沙盒里的目录包含Documents.Library.tmp.这三个目录的 ...
- nginx源代码分析--nginx进程间通信
Linux下的IPC非常多,nginx的进程都是有亲缘关系的进程,对于他们的通信我们选择TCP socket进行通信. TCP socket 用来做进程通信的优点有, 1.socket是文件描 ...