1、import jieba

jieba的cut函数有三个模式:全模式、精准模式、搜索引擎模式

1 精确模式,试图将句子最精确地切开,适合文本分析;
2 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
3 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

【jieba.lcut生成list,如  tags = jieba.lcut(text) ,text也要先处理成list。】

例子:全模式:cut_all=True

  1. import jieba
  2. sentence="我喜欢上海东方明珠"
  3. w1=jieba.cut(sentence,cut_all=True)
  4. for item in w1:
  5. print(item)
  6.  
  7. #结果:

    喜欢
    上海
    上海东方
    海东
    东方
    东方明珠
    方明
    明珠

精准模式:cut_all=False,或者默认情况下

  1. import jieba
  2. sentence="我喜欢上海东方明珠"
  3. w2=jieba.cut(sentence,cut_all=False)
  4. #或者w2=jieba.cut(sentence)
  5. for item in w2:
  6. print(item)
    #结果:

    喜欢
    上海
    东方明珠

搜索引擎模式:jieba.cut_for_search()

  1. import jieba
  2. snetence="我喜欢上海东方明珠"
  3. w3=jieba.cut_for_search(sentence)
  4. for item in w3
  5. print(item)
    #结果


喜欢
上海
东方
方明
明珠
东方明珠

2、结巴的词性标注

  1. import jieba.posseg
  2. sentence="我喜欢上海东方明珠"
  3. w4=jieba.posseg.cut(sentence)
  4. #flag为词性,word为词
  5. for item in w4:
  6. print(item.word+"---"+item.flag)
    #结果
    我---r
    喜欢---v
    上海---ns
    东方明珠---nr

词性:

3、加载自己创建的词典

比如:我在桌面创建了一个dict.txt。

  1. import jieba.posseg
  2. jieba.load_userdict('C:/user/Desktop/dict.txt')
  3. sentence="Lee_yl学习Python"
  4. w5=jieba.posseg.cut(sentence)
  5. for item in w5:
  6. print(item)
    #结果
    Lee_yl/nr
    学习/v
    Python/eng

加载自己的文件是暂时的,本次加载在内存中,下一次需要再加载。

4、提取关键词【jieba.analyse.extract_tags(字符串,关键词数量)】

  1. import jieba.analyse
  2. sentence="我喜欢上海东方明珠"
  3. w6=jieba.analyse.extract_tags(sentence,3)print(w6)
    #结果
    ['东方明珠', '喜欢', '上海']

5、返回词语的位置

  1. import jieba
  2. w7=jieba.tokenize(sentence,mode="search")
  3. for item in w7:
  4. print(item)
    #结果,0,1,3,5,9表示词的索引位置
    ('我', 0, 1)
    ('喜欢', 1, 3)
    ('上海', 3, 5)
    ('东方明珠', 5, 9)

6、计算词频(collections.defaultdict)

  1. from collections import defaultdict
    s = 'mississippi'
  2. d = defaultdict(int)
  3. for k in s:
  4. d[k] += 1
  5.  
  6. 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)的更多相关文章

  1. 【Python 数据分析】jieba文本挖掘

    jieba是一个强大的分词库,完美支持中文分词 安装jieba 使用命令安装 pip install jieba 出现上图表示安装成功了 jieba分词模式 全模式 全模式:试图将句子精确地切开,适合 ...

  2. 【原】python中文文本挖掘资料集合

    这些网址是我在学习python中文文本挖掘时觉得比较好的网站,记录一下,后期也会不定期添加:   1.http://www.52nlp.cn/python-%E7%BD%91%E9%A1%B5%E7% ...

  3. Python数据分析简介

    1,Python作为一门编程语言开发效率快,运行效率被人诟病,但是Python核心部分使用c/c++等更高效的语言来编写的还有强大的numpy, padnas, matplotlib,scipy库等应 ...

  4. [Python数据分析]新股破板买入,赚钱几率如何?

    这是本人一直比较好奇的问题,网上没搜到,最近在看python数据分析,正好自己动手做一下试试.作者对于python是零基础,需要从头学起. 在写本文时,作者也没有完成这个小分析目标,边学边做吧. == ...

  5. 【Python数据分析】Python3多线程并发网络爬虫-以豆瓣图书Top250为例

    基于上两篇文章的工作 [Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 [Python数据分析]Python3操作Excel(二) 一些问题的解决与优化 已经正确地实现 ...

  6. 【Python数据分析】Python3操作Excel(二) 一些问题的解决与优化

    继上一篇[Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 对豆瓣图书Top250进行爬取以后,鉴于还有一些问题没有解决,所以进行了进一步的交流讨论,这期间得到了一只尼玛 ...

  7. 【搬砖】【Python数据分析】Pycharm中plot绘图不能显示出来

    最近在看<Python数据分析>这本书,而自己写代码一直用的是Pycharm,在练习的时候就碰到了plot()绘图不能显示出来的问题.网上翻了一下找到知乎上一篇回答,试了一下好像不行,而且 ...

  8. Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识

    Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4 ...

  9. 转]python 结巴分词(jieba)学习

    原文  http://www.gowhich.com/blog/147 主题 中文分词Python 源码下载的地址:https://github.com/fxsjy/jieba 演示地址:http:/ ...

随机推荐

  1. VIM 使用 匹配替换命令配合表达式 实现 递增替换

    :let n=100 | g/while/s/\d/\=n / | let n=n+1 before 10 void *thread_function_1(void *arg) { 11 int i; ...

  2. 关于使用JetbrainsCrack破解idea

    转载自:https://blog.csdn.net/android_ztz/article/details/73762603 一.前言 IDEA在业界被公认为JAVA最优秀的开发工具,但是它不像ecl ...

  3. 获取Class对象方式

    在java中,每个class都有一个相应的Class对象,当编写好一个类,编译完成后,在生成的.class文件中,就产生一个Class对象,用来表示这个类的类型信息.获得Class实例的三种方式: 1 ...

  4. Arcengine设置坐标系

    转自原文 Arcengine设置坐标系 ArcGIS Engine提供了一系列对象供开发者管理GIS系统的坐标系统. 对大部分开发者而言了解ProjectedCoordinateSystem, Geo ...

  5. POJ 2008

    这道题,说实话,细节很多.不过,我没想到,光细节就能搞死人了... 参考了http://www.cppblog.com/varg-vikernes/archive/2010/03/12/109559. ...

  6. 具体解释linux文件处理的的经常使用命令

    原创Blog.转载请注明出处 附上之前訪问量比較高的几篇linux博客 本人使用shell的8个小技巧 grep的九个经典使用场景 sed命令具体解释 awk命令具体解释 linux中全部的东西都是文 ...

  7. 时间格式字符串转化为date和时间戳

    NSString *dateStr=@"2012-05-17 11:23:23"; NSLog(@"dateStr=%@",dateStr); NSDateFo ...

  8. 分布式设计《初尝memcached》

          之前听说过高性能的分布式缓存开源工具,但一直没有真正接触过,如今接触的产品中实用到过分布式缓存.所以决定一探到底.memcached是一个优秀的开源的分布式缓存工具.也是眼下比較火热的分布 ...

  9. Jquery-Uncaught ReferenceError: $ is not defined报错

    在我的jsp页面上有这些js代码: //载入数据 $(document).ready(function() { var param={}; param.page=3; param.size=10; $ ...

  10. Grace Hopper

    葛丽丝·穆雷·霍普(英语:Grace Murray Hopper,1906年12月9日-1992年1月1日),本姓穆雷(Murray),霍普(Hopper)为夫姓,生于美国纽约州纽约市,美国海军准将及 ...