Python 模块 - jieba
安装 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的更多相关文章
- python从入门到大神---Python的jieba模块简介
python从入门到大神---Python的jieba模块简介 一.总结 一句话总结: jieba包是分词技术,也就是将一句话分成多个词,有多种分词模型可选 1.分词模块包一般有哪些分词模式(比如py ...
- python环境jieba分词的安装
我的python环境是Anaconda3安装的,由于项目需要用到分词,使用jieba分词库,在此总结一下安装方法. 安装说明======= 代码对 Python 2/3 均兼容 * 全自动安装:`ea ...
- python利用jieba进行中文分词去停用词
中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词. 分词模块jieba,它是python比较好用的分词模块.待分词的字符串可以是 unicod ...
- python结巴(jieba)分词
python结巴(jieba)分词 一.特点 1.支持三种分词模式: (1)精确模式:试图将句子最精确的切开,适合文本分析. (2)全模式:把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解 ...
- python之jieba库
jieba “结巴”中文分词:做最好的 Python 中文分词组件 "Jieba" (Chinese for "to stutter") Chinese tex ...
- python模块大全
python模块大全2018年01月25日 13:38:55 mcj1314bb 阅读数:3049 pymatgen multidict yarl regex gvar tifffile jupyte ...
- [转]Python 模块收集
Python 模块收集 转自:http://kuanghy.github.io/2017/04/04/python-modules Python | Apr 4, 2017 | python 工具 a ...
- 一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块
简介 一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块. 举个例子: ["徐汇区虹漕路461号58号楼5楼", "泉州市洛江区万安塘 ...
- [Python] 基于 jieba 的中文分词总结
目录 模块安装 开源代码 基本用法 启用Paddle 词性标注 调整词典 智能识别新词 搜索引擎模式分词 使用自定义词典 关键词提取 停用词过滤 模块安装 pip install jieba jieb ...
随机推荐
- [置顶]
kubernetes1.7新特性:PodDisruptionBudget控制器变化
背景概念 在Kubernetes中,为了保证业务不中断或业务SLA不降级,需要将应用进行集群化部署.通过PodDisruptionBudget控制器可以设置应用POD集群处于运行状态最低个数,也可以设 ...
- 一步步搭建自己的web服务器
IIS或者其他Web服务器究竟做了哪些工作,让浏览器请求一个URL地址后显示一个漂亮的网页?要想弄清这个疑问,我想我们可以自己写一个简单的web服务器. 思路: 创建socket监听浏览器请求. 连接 ...
- [译]SSL/TLS真的被BEAST攻击攻破了吗?真实情况是怎样的?我应该做什么?
原文链接:https://luxsci.com/blog/is-ssltls-really-broken-by-the-beast-attack-what-is-the-real-story-what ...
- 编程技巧:使用异或操作符(XOR)交换两数值
异或(exclusive OR)作为4种逻辑操作符之一,相对其他3种(OR/AND/NOT)来说,出场的次数非常少,是因为在日常开发中能用到它的场景本来就不多.对笔者来说,目前接触到场景只有交换两个数 ...
- (转载)从MVC到前后端分离
摘要:MVC模式早在上个世纪70年代就诞生了,直到今天它依然存在,可见生命力相当之强.MVC模式最早用于Smalltalk语言中,最后在其它许多开发语言中都得到了很好的应用,例如,Java中的Stru ...
- POJ3422 Kaka's Matrix Travels 【费用流】*
POJ3422 Kaka's Matrix Travels Description On an N × N chessboard with a non-negative number in each ...
- WPF 使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式(类似 UWP/Chrome)
WPF 自定义窗口样式有多种方式,不过基本核心实现都是在修改 Win32 窗口样式.然而,Windows 上的应用就应该有 Windows 应用的样子嘛,在保证自定义的同时也能与其他窗口样式保持一致当 ...
- python 访问权限和下划线
Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据 1.__xx__(两边两个下划线):是特列方法像__init__之类的,是python的内嵌的方法在特定的时候会被 ...
- MySQL数据库命名规范及约定
一.[操作规范]1. 如无备注,则表中的第一个id字段一定是主键且为自动增长:2. 如无备注,则数值类型的字段请使用UNSIGNED属性:3. 如无备注,排序字段order_id在程序中默认使用降序排 ...
- json常用方法和本地存储方法
1.JSON.parse()[把json字符串解析成json对象] 2.JSON.stringify()[把json对象中解析成json字符串] <script> let obj = '{ ...