jieba,很有意思的一个模块,专门用来分词。

import jieba

# sentence:分割的中文字符串
# cut_all:是否采用全模式,默认为False表示精确模式
# HMM:表示是否使用HMM模型,默认为True
seg_list1 = jieba.cut(sentence="争取在二零一九年从面相对象编程到面向对象亲亲",
                      cut_all=True,
                      HMM=True)
# 得到的是一个生成器,我们来转化成列表
print(list(seg_list1))
'''
['争取', '在', '二', '零', '一九', '九年', '从', '面相', '相对',
'对象', '编程', '到', '面向', '面向对象', '对象', '亲亲']
可以看到全匹配就是这个样子,会有重复的
'''

seg_list2 = jieba.cut(sentence="争取在二零一九年从面相对象编程到面向对象亲亲",
                      cut_all=False,
                      HMM=True)
# 改成精确模式打印一下
print(list(seg_list2))
'''
['争取', '在', '二零一', '九年', '从', '面相', '对象', '编程', '到', '面向对象', '亲亲']
可以看到整体还是比较让人满意的,除了那个二零一九年,jieba分成了"二零一"和"九年"
不过整体影响不大,毕竟二零一和九年组合起来都是比较符合常理的
'''

# 搜索引擎模式
seg_list3 = jieba.cut_for_search("争取在二零一九年从面相对象编程到面向对象亲亲")
print(list(seg_list3))  # ['争取', '在', '二零一', '九年', '从', '面相', '对象', '编程', '到', '面向', '对象', '面向对象', '亲亲']

  

# 关键词提取

import jieba
import jieba.analyse

sentence = "给我听到了你们这群蠢货" \
           "你们一直渴望得到的时间机器已经不在这里了" \
           "在这个时代已经不存在了" \
           "给我好好地后悔吧" \
           "然后感到恐惧吧" \
           "我一定会将命运石之门找出来" \
           "这就是本大爷的选择"

# sentence: 待提取的文本
# topK: 权重最大的关键词数量,默认为20个
# withWeight: 是否返回权重值,默认值为False
# allowPOS: 仅包括指定的词性的词,默认值为空,即全包括
            # n: 名词  ns: 地名  vn: 名动词  v: 动词  nr: 人名,不在这里面的会被过滤掉

keywords = jieba.analyse.extract_tags(sentence=sentence,
                                      topK=5,
                                      withWeight=True,
                                      allowPOS=("n", "nr", "ns")
                                      )

for item in keywords:
    print(item[0], item[1])

'''
时间机器 2.2012550785666667
石之门 1.9924612504833332
蠢货 1.8892880490833335
大爷 1.3061487405483334
命运 1.1011633218949999
'''

# 查看词性
import jieba.posseg as pos

words = pos.cut("我的太太叫新垣结衣")
for word, category in words:
    print(word, category)

'''
我 r
的 uj
太太 n
叫 v
新垣 ns
结衣 n

'''

  

Python之jieba分词的更多相关文章

  1. python结巴(jieba)分词

    python结巴(jieba)分词 一.特点 1.支持三种分词模式: (1)精确模式:试图将句子最精确的切开,适合文本分析. (2)全模式:把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解 ...

  2. python环境jieba分词的安装

    我的python环境是Anaconda3安装的,由于项目需要用到分词,使用jieba分词库,在此总结一下安装方法. 安装说明======= 代码对 Python 2/3 均兼容 * 全自动安装:`ea ...

  3. Python使用jieba分词

    # -*- coding: utf-8 -*- # Spyder (python 3.7) import pandas as pd import jieba import jieba.analyse ...

  4. python bottle + jieba分词服务

    2019-12-16 19:46:34 星期一 最近接触到结巴分词项目, 就试试 用python的bottle库来当服务器监听localhost:8080 把请求的数据转给jieba来分词, 并返回分 ...

  5. python的jieba分词

    # 官方例程 # encoding=utf-8 import jieba seg_list = jieba.cut("我来到北京清华大学", cut_all=True) print ...

  6. python安装Jieba中文分词组件并测试

    python安装Jieba中文分词组件 1.下载http://pypi.python.org/pypi/jieba/ 2.解压到解压到python目录下: 3.“win+R”进入cmd:依次输入如下代 ...

  7. [python] 使用Jieba工具中文分词及文本聚类概念

    声明:由于担心CSDN博客丢失,在博客园简单对其进行备份,以后两个地方都会写文章的~感谢CSDN和博客园提供的平台.        前面讲述了很多关于Python爬取本体Ontology.消息盒Inf ...

  8. Python自然语言处理学习——jieba分词

    jieba——“结巴”中文分词是sunjunyi开发的一款Python中文分词组件,可以在Github上查看jieba项目. 要使用jieba中文分词,首先需要安装jieba中文分词,作者给出了如下的 ...

  9. $好玩的分词——python jieba分词模块的基本用法

    jieba(结巴)是一个强大的分词库,完美支持中文分词,本文对其基本用法做一个简要总结. 安装jieba pip install jieba 简单用法 结巴分词分为三种模式:精确模式(默认).全模式和 ...

随机推荐

  1. 4 Vue.js 核心理念:数据驱动界面

    1 style样式放在body里面 <style type="text/css"> .ui.segment.container { width:700px; } p { ...

  2. Mac 小技巧

    本文的大部分技巧来自于池建强老师的<MacTalk.人生元编程>,感谢他的辛苦付出,本文多系整理而已. 终端输入说英语 说英语时我们当然希望有标准发音.在Mac中不需要字典,直接在终端里输 ...

  3. 《Cracking the Coding Interview》——第6章:智力题——题目4

    2014-03-20 01:02 题目:无力描述的一道智力题,真是货真价实的智力题,让我充分怀疑自己智力的智力题.有兴趣的还是看书去吧. 解法:能把题目看懂,你就完成80%了,用反证法吧. 代码: / ...

  4. Pascal编写的蠕虫病毒,凌盟提供,Chaobs转载

    { Happy Birthday (c) 1998 WoRmI don't take responsibility for any damage caused by this virus.It was ...

  5. Python 3基础教程15-读文件内容

    前面两篇关于写文件和更新文件内容,我们最后都是手动去打开检查是否更新了.现在我们这里通过函数读取之前文件内容,打印到屏幕终端. 运行结果:

  6. selenium获取浏览器控制台日志

    public void logsTest(){ WebDriver driver = null; try { System.setProperty("webdriver.chrome.dri ...

  7. protobuf-net与FlatBuffers

    protobuf-net Protobuf是google开源的一个项目,用户数据序列化反序列化,google声称google的数据通信都是用该序列化方法.它比xml格式要少的多,甚至比二进制数据格式也 ...

  8. A - 最长上升子序列

    A - 最长上升子序列 Time Limit: 1000/1000MS (C++/Others) Memory Limit: 65536/65536KB (C++/Others) Problem De ...

  9. Mifare简介

    Mifare简介 MIFARE是NXP的知名品牌,是一个应用广泛的非接触式IC产品(13.56MHz非接触性辨识技术),一个典型的通信距离为10厘米,在全球有40多个不同的应用领域.有2.6亿个读写器 ...

  10. SQL Server 获取满足条件的每个条件下的前N条数据

    从数据库获取数据时,经常会遇到获取一个数据列表和该列表中每条数据对应的另一个列表的情况,如果二级列表获取的是全部数据,那么就比较简单.如果二级列表获取的是前n条数据,就会比较麻烦. 从操作上来看,好像 ...