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:/ ...
随机推荐
- mybatis传入两个String类型的参数
1.项目spring +mybatis +oracle 2.报错信息: [DEBUG] -- :: org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debu ...
- navicat 为表添加索引
navicat 为表添加索引 分析常用的查询场景,为字段添加索引,增加查询速度. 可以添加单列索引,可以添加联合索引. 右键,设计表中可以查看和添加修改索引! 索引一定要根据常用的查询场景进行添加! ...
- qsort快速排序
C库函数qsort七种使用方法示例 七种qsort排序方法<本文中排序都是采用的从小到大排序> 一.对int类型数组排序C++ / C 代码 int num[100]; Sample: i ...
- [bzoj4196][Noi2015]软件包管理器_树链剖分_线段树
软件包管理器 bzoj-4196 Noi-2015 题目大意:Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件 ...
- JQuery学习(5-AJAX1)
<? php /* * 保护AJAX请求的方式 */ /* * 1. 防止表单的自己主动提交 * 对表单的submit提交进行控制. 设置一个全局变量submitError,在进行验证的方法体中 ...
- 【POJ 2486】 Apple Tree(树型dp)
[POJ 2486] Apple Tree(树型dp) Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8981 Acce ...
- JAVA基础实例(一)
1写一个方法,用一个for循环打印九九乘法表 /** *一个for循环打印九九乘法表 */ public void nineNineMultiTable() { for (int i = 1,j = ...
- ueditor1.4.3在.net环境下的vs开发工具中集成经验
Ueditor是个非常不错的在线富文本编辑器,几个项目一直使用它.近期想更新版本号.发现新版1.4.3与旧版的部署方式全然不一样了.官网文档介绍的是直接放在iis下的部署说明,没有提到在vs开发工具中 ...
- POJ1179 Polygon 区间DP
题目大意: 多边形游戏,有N个顶点的多边形,3 <= N <= 50 ,多边形有N条边,每个顶点中有一个数字(可正可负),每条边上或者是“+”号,或者是“*”号.边从1到N编号,首先选择一 ...
- oc18--self1
// // Iphone.h // day13 #import <Foundation/Foundation.h> typedef enum { kFlahlightStatusOpen, ...