python :jieba库的使用大全
安装
jieba 是一个第三方库,所有需要我们在本地进行安装。
Windows 下使用命令安装:在联网状态下,在anaconda命令行下输入 pip install jieba 进行安装,安装完成后会提示安装成功 .
分词使用
分词的语法就不讲解啦,什么前向匹配,逆向匹配,还需要一个足够大的本地词典。自己构造挺麻烦的。
直接使用包吧。
直接使用jieba.cut
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Author: yudengwu(余登武)
# @Date : 2020/9/10
#@email:1344732766@qq.comimport jiebasentence="《乘风破浪的姐姐》现在已经播出到了第2期节目,在初舞台之后,现在大家都对姐姐们的实力是有所了解的了。"
c=jieba.cut(sentence)
print(c)
d=[i for i in c]
print(d)
直接使用jieba.cut()返回的是一个对象。
我们更多需要用一个迭代器是结果显示出来。[i for i in c]
全模式分词
如输入北京大学
jieba.cut(sentence,cut_all=True)
搜索引擎分词
c=jieba.cut_for_search(sentence)
使用jieba.lcut分词`
jieba.lcut()也可以使用全模式搜索,添加参数cut_all=True
import jiebasentence="《乘风破浪的姐姐》现在已经播出到了第2期节目,在初舞台之后,现在大家都对姐姐们的实力是有所了解的了。"
c=jieba.lcut(sentence)
print(c)
分词结果是一个数组,非对象。
修改词典
在现实生活中,有时候我们希望一个词不被分开,可以修改jieba的词典。
add_word(word, freq=None, tag=None) 和 del_word(word) #动态修改
import jieba
jieba.add_word('乘风破浪的姐姐',freq = 20000, tag = None)
sentence="《乘风破浪的姐姐》现在已经播出到了第2期节目,在初舞台之后,现在大家都对姐姐们的实力是有所了解的了。"
c=jieba.lcut(sentence)
print(c)
我们将乘风破浪的姐姐固定为一个词语,就不会被分开啦。
往jieba里添加自定义词是临时的,不会存在下一个事务中。
统计词频
import jieba
sentence="《乘风破浪的姐姐》现在已经播出到了第2期节目,在初舞台之后,现在大家都对姐姐们的实力是有所了解的了。"
words = jieba.lcut(sentence) # 使用精确模式对文本进行分词
counts = {} # 通过键值对的形式存储词语及其出现的次数
for word in words:if len(word) == 1: # 单个词语不计算在内continueelse:counts[word] = counts.get(word, 0) + 1 # 遍历所有词语,每出现一次其对应的值加 1
items = list(counts.items())
print(items)
items.sort(key=lambda x: x[1], reverse=True) # 根据词语出现的次数进行从大到小排序for i in range(3):word, count = items[i]print("{0}:{1}".format(word, count))
使用CountVectorizer统计词频
import jieba
sentence="《乘风破浪的姐姐》现在已经播出到了第2期节目,在初舞台之后,现在大家都对姐姐们的实力是有所了解的了。"
words = jieba.lcut(sentence) # 使用精确模式对文本进行分词
from sklearn.feature_extraction.text import CountVectorizer
cv = CountVectorizer()#创建词袋数据结构
cv_fit=cv.fit_transform(words)
#上述代码等价于下面两行
#cv.fit(texts)
#cv_fit=cv.transform(texts)
print(cv.get_feature_names()) #列表形式呈现文章生成的词典
#['之后', '乘风破浪', '了解', '大家', '姐姐', '实力', '已经', '播出', '有所', '现在', '舞台', '节目']
print(cv.vocabulary_ )#{词:词频}
#{'乘风破浪': 1, '姐姐': 4, '现在': 9, '已经': 6, '播出': 7, '节目': 11, '舞台': 10, '之后': 0, '大家': 3, '实力': 5, '有所': 8, '了解': 2}
词性标注
jieba分词的词性标注过程非常类似于jieba分词的分词流程,同时进行分词和词性标注。
在词性标注的时候,首先基于正则表达式(汉字)进行判断,1)如果是汉字,则会基于前缀词典构建有向无环图,然后基于有向图计算最大概率路径,同时在前缀词典中查找所分出的词的词性,如果没有找到,则将其词性标注为“x”(非语素字 非语素字只是一个符号,字母x通常用于代表未知数、符号);如果HMM标志位置位,并且该词为未登录词,则通过隐马尔科夫模型对其进行词性标注;2)如果是其它,则根据正则表达式判断其类型,分别赋予“x”,“m”(数词 取英语numeral的第3个字母,n,u已有他用),“eng”(英文)。流程图如下所示。
大白话讲解就是:先根据分词结果查找词典词性,给大多数词打上词性,未打上词性的单词再根据HMM模型打上词性。
jieba词性表,概括了绝大部分
英文简写 | 中文 | 例子 |
---|---|---|
a | 形容词 | 很贵 挺好用 |
ad | 副形词 | 努目 完全 |
ag | 形语素 | 详 笃 睦 |
an | 名形词 | 困苦 危难 |
b | 区别词 | 超常规 同一性 |
c | 连词 | 以外 换句话 |
d | 副词 | 幸免 四顾 绝对 |
dg | 副语素 | 俱 辄 |
e | 叹词 | 好哟 嗄 |
f | 方位词 | 内侧 以来 |
h | 前接成分 | 非 超低 |
i | 成语 | |
j | 简称略语 | 交警 中低收入 四个现代 |
k | 后接成分 | 型 者 式 们 |
l | 习用语 | 由下而上 十字路口 |
m | 数词 | 九六 十二 |
mg | 数语素 | 寅 巳 |
mq | 数量词 | 半年度 四方面 |
n | 名词 | 气压 写实性 |
ng | 名语素 | 诀 卉 茗 鹊 娃 寨 酊 钬 |
nr | 人名 | |
nrfg | 古近代人名 | 张飞 赵云 任弼时 |
nrt | 音译人名 | 米尔科 达尼丁 |
ns | 地名 | |
nt | 机构团体 | 浙江队 中医院 中华网 铁道部 |
nz | 其他专名 | 培根 补丁 圣战士 英属 国药准字 |
o | 拟声词 | 哈喇 咝 哗喇 咔喳 飕 哇哇 |
p | 介词 | 顺当 顺着 借了 连着 |
q | 量词 | 毫厘 盅 封 千瓦小时 |
r | 代词 | 该车 这时 那些 |
rg | 代语素 | 兹 |
t | 时间词 | 新一代 清时 先上去 月初 昔年 无日 |
tg | 时间语素 | 昔 晚 春 现 暮 夕 宵 |
u | 助词 | 则否 等 恁地 等等 似的 来说 矣哉 来看 般 的话 |
v | 动词 | |
vd | 副动词 | |
y | 语气词 | |
z | 状态词 |
如何查看jieba的所有词性,见代码
import jieba, pandas as pd, os
jieba_dict = os.path.dirname(jieba.__file__) + '/dict.txt'
df_jieba = pd.read_table(jieba_dict, sep=' ', header=None)[[2, 0]]
dt = {k: set() for k in df_jieba[2].values}
for f, w in df_jieba.values:dt[f].add(w)
ls_of_ls = [(f, len(w), ' '.join(list(w)[:50])) for f, w in dt.items()]
pd.DataFrame(ls_of_ls, columns=['词性', '数量', '例子.']).sort_values('词性').to_csv('flag.csv', index=None)
生成的表格
词性我们一般关注 时间,地名,机构名。用于做命名实体识别。
命名实体识别:一般是词性标注加正则。
我是一个学电气的,我怎么懂得这些人工智能方面的知识。
词性标注
import jieba.posseg as pseg
words =pseg.cut("我爱北京天安门,我希望我以后的儿子能去清华大学读书")
for w in words:print(w.word,w.flag)
词性标注 如果我们只想获得机构名
import jieba.posseg as pseg
words =pseg.cut("我爱北京天安门,我希望我以后的儿子能去清华大学读书")c=[w.word for w in words if w.flag=='nt']
print(c)
电气工程的计算机萌新:余登武。写博文不容易。如果你觉得本文对你有用,请点个赞支持下,谢谢。
python :jieba库的使用大全相关推荐
- Python jieba库简介和使用
今天继续给大家介绍Python相关知识,本文主要内容是Python jieba库简介和使用. 一.jieba库概述 jieba库是Python的一个第三方库,该库常用于中文分词.所谓分词,就是给定一段 ...
- Python jieba库的介绍与使用
Python jieba库的介绍与使用 一. jieba库简介与安装 简介:jieba库是一个进行中文分词的第三方库.可用来进行关键字搜索. 安装:在python3环境下输入:pip install ...
- python jieba库下载_Python中jieba库安装步骤及失败原因解析
Python 中 jieba 库安装步骤及失败原因解析 作为计算机小白, Python 的流行也让我蠢蠢欲动, 在请教计算机 专业同学后,开始上网课自学 Python 基础知识.今天老师简单的一 句话 ...
- python jieba库分词_Python基于jieba库进行简单分词及词云功能实现方法
本文实例讲述了Python基于jieba库进行简单分词及词云功能实现方法.分享给大家供大家参考,具体如下: 目标: 1.导入一个文本文件 2.使用jieba对文本进行分词 3.使用wordcloud包 ...
- python jieba库_python中jieba库的介绍和应用
jieba库作为python中的第三方库,在平时是非常实用的,例如一些网站就是利用jieba库的中文分词搜索关键词进行工作. 一.安装环境 window + python 二.安装方式 在电脑命令符( ...
- python jieba库不存在_Python入门:jieba库的使用
jieba库是一款优秀的 Python 第三方中文分词库,jieba 支持三种分词模式:精确模式.全模式和搜索引擎模式,下面是三种模式的特点. 精确模式:试图将语句最精确的切分,不存在冗余数据,适合做 ...
- python jieba库用法
结巴分词支持以下3种分词模式: 精确模式.试图将句子最精确地切开,适合文本分析. 全模式.将句子中所有的可能成词的词语都扫描出来,速度非常快,但是不能解决歧义. 搜索引擎模式.在精确模式的基础上,对长 ...
- Python jieba库的安装
1.自动安装(速度较慢容易报错,不推荐) 在CMD控制面板中使用pip语言进行安装 pip install jieba 2.半自动安装 2.1.在官网下载压缩包 https://pypi.org/pr ...
- python jieba库
jeiba是优秀的中文分词第三分库 jieba分词有三种模式:精确模式,全模式,搜索引擎模式 精确模式:将文本精确切分开,不存在冗余单词 全模式:把文本多有可能的词语都扫描出来,有冗余 搜索引擎模式: ...
最新文章
- CG游戏道具全流程制作视频教程 Artstation – Stylized Game Asset
- maven的setting.xml文件配置信息【仅仅更改了一处】
- 第五十九天 how can I 坚持 --------补昨天5月31号
- Boost:circular_buffer作为边界缓冲区的基础容器
- 大话数据结构02 :线性表链式存储 C++
- PHP学习系列(1)——字符串处理函数(2)
- 诗与远方:无题(八十四)- 自己醉了
- 数据结构—链表-链式存储
- 商品管理后台html,商品类型管理.html
- 第T题 详解放苹果(递归) =========== 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
- Win10使用FFmpeg操作Camera(十)
- 谨以此文献给才毕业2--5年的朋友(转)
- 我在项目中运用 IOC(依赖注入)--入门篇
- 硬盘被计算机限制如果解锁,硬盘被锁怎么办
- openwrt中br-lan,eth0,eth0.1,eth0.2
- 2023山东智慧养老展/中国适老科技展/智能看护设备展
- JAVAWEB常用测试浏览器
- 动手学ocr·十讲--学习笔记一
- python调用默认播放器_python使用Tkinter实现在线音乐播放器
- 拓嘉辰丰:拼多多差异化运营,做特色店铺
热门文章
- 查看临时表空间的使用情况(以此为准)
- 无源无线测温 无线测温装置
- 如何使自定义模块加入DNN搜索引擎(转)
- 《软技能》读书笔记(上)
- 闪光网-彭亮《与风约定》
- 实现Taro 项目拆分到多个分包(Taro和原生混合开发)
- php 鼠标经过 图片,jq实现酷炫的鼠标经过图片翻滚效果_jquery
- afn访问本地html,请求接口AFN报错1016,failed:unacceptablecontent-type:text/html解决办法...
- 【Python自动化Excel】pandas处理Excel的拆分、合并
- 1.初识C语言----什么是C语言,为什么要学C语言?