安装 jieba

pip3 install jieba

jieba 支持三种分词模式:

精确模式:将句子最精确地切开,适合文本分析

全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义

搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词

jieba.cut 方法有三个参数,第一个参数为需要分词的字符串,第二个 cut_all 参数用来控制是否采用全模式,第三个 HMM 参数用来控制是否使用 HMM 模型

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import jieba word_list = jieba.cut("福建的地理特点是依山傍海,九成陆地面积为山地丘陵地带,被称为八山一水一分田")
print("Default Mode: " + "/ ".join(word_list))
# cut_all=False 为精简模式,是默认的选项 word_list_1 = jieba.cut("福建的地理特点是依山傍海,九成陆地面积为山地丘陵地带,被称为八山一水一分田", cut_all=True)
print("Full Mode: " + "/" .join(word_list_1))
# cut_all=True 为全模式

运行结果

jieba.cut_for_search 方法有两个参数,第一个参数为需要分词的字符串,第二个 HMM 参数用来控制是否使用 HMM 模型

该方法适合用于搜索引擎构建倒排索引的分词

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import jieba word_list_2 = jieba.cut_for_search("福建的地理特点是依山傍海,九成陆地面积为山地丘陵地带,被称为八山一水一分田")
print("Search Mode: " + "/".join(word_list_2))

运行结果

jieba.cut 和 jieba.cut_for_search 返回的类型都是一个可迭代的生成器

jieba.lcut 和 jieba.lcut_for_search 返回列表类型

关键字提取

基于 TF-IDF

jieba.analyse.extract_tags 方法有三个参数,第一个参数为字符串,第二个参数 topK 为返回几个 TF/IDF 权重最大的关键词,默认值为 20,第三个参数 withWeight 为是否一并返回关键词权重值,默认值为 False,第四个参数 allowPOS 仅包括指定词性的词,默认值为空,即不筛选

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import jieba.analyse string = "福建的地理特点是依山傍海,九成陆地面积为山地丘陵地带,被称为八山一水一分田" a = jieba.analyse.extract_tags(string, topK=20, withWeight=False, allowPOS=0) print(a)

运行结果

基于 TextRank

jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v'))

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import jieba.analyse string = "福建的地理特点是依山傍海,九成陆地面积为山地丘陵地带,被称为八山一水一分田" a = jieba.analyse.textrank(string, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v')) print(a)

运行结果

词性标注

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import jieba.posseg strings = jieba.posseg.cut("福建的地理特点是依山傍海,九成陆地面积为山地丘陵地带,被称为八山一水一分田") for word, flag in strings:
print("%s %s" %(word, flag))

运行结果

词性列表

n     名词
nr 人名
nr1 汉语姓氏
nr2 汉语名字
nrj 日语人名
nrf 音译人名
ns 地名
nsf 音译地名
nt 机构团体名
nz 其它专名
nl 名词性惯用语
ng 名词性语素
t 时间词
tg 时间词性语素
s 处所词 (家中、门外、境内、西方……)
f 方位词
v 动词
vd 副动词
vn 名动词
vshi 动词“是”
vyou 动词“有”
vf 趋向动词
vx 形式动词
vi 不及物动词(内动词)
vl 动词性惯用语
vg 动词性语素
a 形容词
ad 副形词
an 名形词
ag 形容词性语素
al 形容词性惯用语
b 区别词 (主要、整个、所有……)
bl 区别词性惯用语
z 状态词
r 代词
rr 人称代词
rz 指示代词
rzt 时间指示代词
rzs 处所指示代词
rzv 谓词性指示代词
ry 疑问代词
ryt 时间疑问代词
rys 处所疑问代词
ryv 谓词性疑问代词
rg 代词性语素
m 数词
mq 数量词
q 量词
qv 动量词
qt 时量词
d 副词
p 介词
pba 介词“把”
pbei 介词“被”
c 连词
cc 并列连词
u 助词
uzhe 着
ule 了 喽
uguo 过
ude1 的 底
ude2 地
ude3 得
usuo 所
udeng 等 等等 云云
uyy 一样 一般 似的 般
udh 的话
uls 来讲 来说 而言 说来
uzhi 之
ulian 连 (“连小学生都会”)
e 叹词
y 语气词(delete yg)
o 拟声词
h 前缀
k 后缀
x 字符串
xx 非语素字
xu 网址URL
w 标点符号
wkz 左括号,全角:( 〔 [ { 《 【 〖 〈 半角:( [ { <
wky 右括号,全角:) 〕 ] } 》 】 〗 〉 半角: ) ] { >
wyz 左引号,全角:“ ‘ 『
wyy 右引号,全角:” ’ 』
wj 句号,全角:。
ww 问号,全角:? 半角:?
wt 叹号,全角:! 半角:!
wd 逗号,全角:, 半角:,
wf 分号,全角:; 半角: ;
wn 顿号,全角:、
wm 冒号,全角:: 半角: :
ws 省略号,全角:…… …
wp 破折号,全角:—— -- ——- 半角:--- ----
wb 百分号千分号,全角:% ‰ 半角:%
wh 单位符号,全角:¥ $ £ ° ℃ 半角:$

载入词典

jieba.load_userdict(file_name), file_name 为文件类对象或自定义词典的路径

file_name 若为路径或二进制方式打开的文件,则文件必须为 UTF-8 编码

一个词占一行,每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒

例子:

创新办 3 i
云计算 5
凱特琳 nz
台中

Python 模块 - jieba的更多相关文章

  1. python从入门到大神---Python的jieba模块简介

    python从入门到大神---Python的jieba模块简介 一.总结 一句话总结: jieba包是分词技术,也就是将一句话分成多个词,有多种分词模型可选 1.分词模块包一般有哪些分词模式(比如py ...

  2. python环境jieba分词的安装

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

  3. python利用jieba进行中文分词去停用词

    中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词. 分词模块jieba,它是python比较好用的分词模块.待分词的字符串可以是 unicod ...

  4. python结巴(jieba)分词

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

  5. python之jieba库

    jieba “结巴”中文分词:做最好的 Python 中文分词组件 "Jieba" (Chinese for "to stutter") Chinese tex ...

  6. python模块大全

    python模块大全2018年01月25日 13:38:55 mcj1314bb 阅读数:3049 pymatgen multidict yarl regex gvar tifffile jupyte ...

  7. [转]Python 模块收集

    Python 模块收集 转自:http://kuanghy.github.io/2017/04/04/python-modules Python | Apr 4, 2017 | python 工具 a ...

  8. 一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块

    简介 一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块. 举个例子: ["徐汇区虹漕路461号58号楼5楼", "泉州市洛江区万安塘 ...

  9. [Python] 基于 jieba 的中文分词总结

    目录 模块安装 开源代码 基本用法 启用Paddle 词性标注 调整词典 智能识别新词 搜索引擎模式分词 使用自定义词典 关键词提取 停用词过滤 模块安装 pip install jieba jieb ...

随机推荐

  1. 如何查看PHP的配置信息

    1.问题描述 如何利用PHP函数查看PHP的配置信息 2.问题函数 <?php echo phpinfo(); ?> 3.输出结果 phpinfo() PHP Version => ...

  2. 使用nrm管理npm仓库

    使用nrm管理npm仓库 用npm装包的时候,经常碰到太慢或者npm官网被墙的情况,有时候凑合一下就改一下 "~/.npmrc" 文件,但是经常改来改去也挺麻烦的,于是找到了可以使 ...

  3. swift metal ios8 关键字.

    swift metal ios8  关键字. 4000API. 无所谓谁打败谁吧. 行业内用户用的多 资源多 问题容易解决. 今年明显unity 火热程度非常. 然,万变不离其中. 对于游戏产品来说, ...

  4. linux c++ 多线程心得

    好久没写多线程了,工作好几年也没怎么大规模的写过多线程,都是成形的架构里写业务逻辑.偶尔自己写了下,各种踩坑... 1.string 不是线程安全的 一个特例是std::string.在一些STL的实 ...

  5. ibatis 参数类型为map,map里面有list

    <select id="getChannelLayerList" parameterClass="java.util.HashMap"        re ...

  6. vim简单的文本编辑命令

    <blockquote>:e! enter</blockquote>消除所有这次编辑的,回到原来文件的样子.不过此文件还是打开状态.<blockquote>:q! ...

  7. HDU - 4336:Card Collector(min-max容斥求期望)

    In your childhood, do you crazy for collecting the beautiful cards in the snacks? They said that, fo ...

  8. [Reship] Mean Shift 算法介绍

    ==================================================================================== This article ca ...

  9. pycharm中import动态链接库pyd有错误

    有红色波浪线提示unsolved reference云云 去setting里面设置interpreters,  在path里面添加对应的路径, 是包含对应头文件的路径, 不要忘记右边的小按钮去Relo ...

  10. riotjs 简单使用&&browserify 构建

    项目地址: http://riotjs.com/ 备注: 为了简单使用了 browserify 进行构建 1. 项目结构 ├── app.css ├── gulpfile.js ├── index.h ...