jieba分词的用法及功能
最近需要用到的结巴分词一些常用的函数,记录下
1. 分词功能
- jieba.cut(text, cut_all, HMM),接受三个输入参数: text需要分词的文本;cut_all =True采用全模式,cut_all=False采用精确模式;HMM 是否使用 HMM 模型。
- jieba.cut_for_search(text, HMM),接受两个输入参数: text需要分词的文本;HMM 是否使用 HMM 模型。
- jieba.cut 以及 jieba.cut_for_search 返回的结构都是一个可迭代的 generator,可以使用 for 循环来获得分词后得到的每一个词语
- jieba.lcut 以及 jieba.lcut_for_search 直接返回 list
分词代码示例:
import jieba
cut = jieba.cut(“我随便写个北京河图创意图片有限公司”, cut_all=True)
print("全模式: " + "/ ".join(cut)) # 全模式
cut = jieba.cut(“我随便写个北京河图创意图片有限公司”, cut_all=False)
print("精确模式: " + "/ ".join(cut)) # 精确模式
cut = jieba.cut(“我随便写个北京河图创意图片有限公司”) # 默认是cut_all=False,精确模式
print("默认模式: “+”/ ".join(cut))
cut = jieba.cut_for_search(“我随便写个北京河图创意图片有限公司”) # 搜索引擎模式
print("搜索引擎模式: “+”/ ".join(cut))
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
结果输出:
全模式: 我/ 随便/ 写/ 个/ 北京/ 河图/ 创意/ 意图/ 图片/ 有限/ 有限公司/ 公司
精确模式: 我/ 随便/ 写个/ 北京/ 河图/ 创意/ 图片/ 有限公司
默认模式: 我/ 随便/ 写个/ 北京/ 河图/ 创意/ 图片/ 有限公司
搜索引擎模式: 我/ 随便/ 写个/ 北京/ 河图/ 创意/ 图片/ 有限/ 公司/ 有限公司
- 1
- 2
- 3
- 4
- jieba.cut ()与jieba.lcut ()的输出比较:
代码示例
cut = jieba.cut("我随便写个北京河图创意图片有限公司")
print("默认模式: " ,cut )
for i in cut:
print(i)
cut = jieba.lcut(“我随便写个北京河图创意图片有限公司”) # 默认是cut_all=False,精确模式
print("默认模式: " ,cut )
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
输出结果:
默认模式: <generator object Tokenizer.cut at 0x00000245B3D907D8>
我
随便
写个
北京
河图
创意
图片
有限公司
默认模式: ['我', '随便', '写个', '北京', '河图', '创意', '图片', '有限公司']
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
2.自定义字典
- jieba 词库里没有的词,可以自定义添加,提高准确度
- 使用 jieba.load_userdict(file_name) ,file_name为字典名
- 词典格式:一词占一行;一行有三部分:词语、词频(可省略)、词性(可省略),用空格隔开。
- 注意写入词典不能有符号,例如“(”,“《”,否则分词不准。
- 可以使用 jieba.add_word(‘词词’),jieba.del_word(‘词词’),可对字典中的词进行添加,删除
词典样例:
北京河图创意图片有限公司 5 n
北京广场 10 ns
菜菜
中国(人民)财产保险
- 1
- 2
- 3
- 4
代码示例:
# 获取自定义词典
jieba.load_userdict(r"dict.txt")
cut = jieba.cut("我随便写个北京河图创意图片有限公司,中国(人民)财产保险股份有限公司") # 默认是cut_all=False,精确模式
print("默认模式: "+"/ ".join(cut))
- 1
- 2
- 3
- 4
输出:
默认模式: 我/ 随便/ 写个/ 北京河图创意图片有限公司/ ,/ 中国/ (/ 人民/ )/ 财产保险/ 股份/ 有限公司
- 1
可以看到“北京河图创意图片有限公司”被分出来了,但是“中国(人民)财产保险”未被分出,需要将它们的()在词典中和文本中去掉就可以了。
- jieba.add_word(‘词词’),jieba.del_word(‘词词’) 使用:
cut = jieba.cut("我随便写个北京fff创意图片有限公司,中国ren财产保险股份有限公司")
print("print: "+"/ ".join(cut))
#添加词
jieba.add_word('北京fff')
jieba.add_word('创意图片有限公司')
#删除词
jieba.del_word('中国')
cut = jieba.cut("我随便写个北京fff创意图片有限公司,中国ren财产保险股份有限公司")
print("print: "+"/ ".join(cut))
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
结果输出:
print: 我/ 随便/ 写个/ 北京/ fff/ 创意/ 图片/ 有限公司/ ,/ 中国/ ren/ 财产保险/ 股份/ 有限公司
print: 我/ 随便/ 写个/ 北京fff/ 创意图片有限公司/ ,/ 中/ 国/ ren/ 财产保险/ 股份/ 有限公司
- 1
- 2
3.词性标注
- 使用pseg.cut(str),返回可迭代的generator,标注句子分词后的词的词性。word(分词后的词),flag(分词后的词性)
例子:
import jieba.posseg as pseg
words = pseg.cut("我爱中国计算机科学与技术学院")
#使用for循环把分出的词及其词性用/隔开,并添加,和空格
print(words)
for w in words:print(w.word, "/", w.flag, ", ", end=' ')
- 1
- 2
- 3
- 4
- 5
- 6
结果:
<generator object cut at 0x0000026230ADD410>
我 / r , 爱 / v , 中国 / ns , 计算机科学 / n , 与 / p , 技术 / n , 学院 / n ,
- 1
- 2
4.关键词抽取
- jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())
- sentence 为待提取的文本
- topK 为返回几个 TF/IDF 权重最大的关键词,默认值为 20
- withWeigh为是否一并返回关键词权重值,默认值为 False
- allowPOS 仅包括指定词性的词,默认值为空
- 以列表形式返回
例子:
import jieba.analyse
str ="我随便写个北京河图创意图片有限公司,我爱中国计算机科学与技术学院"
words = pseg.cut(str)
for w in words:print(w.word, "/", w.flag, ", ", end=' ')
print('\n')
list = jieba.analyse.extract_tags(str, allowPOS=("n"))#提取词性为n的词
print(list)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
结果:返回列表形式
我 / r , 随便 / d , 写 / v , 个 / q , 北京河图创意图片有限公司 / n , , / x , 我 / r , 爱 / v , 中国 / ns , 计算机科学 / n , 与 / p , 技术 / n , 学院 / n ,
[‘北京河图创意图片有限公司’, ‘计算机科学’, ‘学院’, ‘技术’]
- 1
- 2
- 3
- 4
5.返回词语在原文的起止位置
-使用 jieba.tokenize(str,mode),输入参数只接受 unicode,mode为默认模式mode='search’为搜索模式
例子:
str ="我爱中国计算机科学与技术学院"
words = jieba.tokenize(str)
for w in words:print("word %s\t\t start: %d \t\t end:%d" % (w[0],w[1],w[2]))
- 1
- 2
- 3
- 4
结果:
word 我 start: 0 end:1
word 爱 start: 1 end:2
word 中国 start: 2 end:4
word 计算机科学 start: 4 end:9
word 与 start: 9 end:10
word 技术 start: 10 end:12
word 学院 start: 12 end:14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
例子:
str ="我爱中国计算机科学与技术学院"
words = jieba.tokenize(str,mode='search')
for w in words:print("word %s\t\t start: %d \t\t end:%d" % (w[0],w[1],w[2]))
- 1
- 2
- 3
- 4
结果:
ord 我 start: 0 end:1
word 爱 start: 1 end:2
word 中国 start: 2 end:4
word 计算 start: 4 end:6
word 算机 start: 5 end:7
word 科学 start: 7 end:9
word 计算机 start: 4 end:7
word 计算机科学 start: 4 end:9
word 与 start: 9 end:10
word 技术 start: 10 end:12
word 学院 start: 12 end:14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
[参考:]
(https://blog.csdn.net/u014028063/article/details/85231523)
(https://blog.csdn.net/qq_39290990/article/details/121348379)
jieba分词的用法及功能相关推荐
- 中文分词的基本原理以及jieba分词的用法
结巴分词是国内程序员用Python开发的一个中文分词模块,可能是最好的Python中文分词组件? 中文分词的原理 – 1.中文分词(Chinese Word Segmentation) 指的是将一个汉 ...
- 关于jieba分词的用法
import jieba_fast as jieba jieba.dt.tmp_dir = tmp_path jieba.load_userdict(data_path) jieba这个一定要设置,不 ...
- 基于python的jieba分词
一.jieba分词基本用法 1.一般都采用精确分词模式,直接jieba.cut(str1), 2.识别新词默认开启. 3.词性标注jieba.posseg,需要才用 全分词 精确分词 paddle模式 ...
- 自然语言处理2 -- jieba分词用法及原理
文章目录 1 概述 2 jieba分词用法 2.1 分词 2.2 添加自定义词典 2.3 调整词典 2.4 关键词提取 2.5 词性标注 2.6 并行分词 2.7 Tokenize:返回词语在原文的起 ...
- pythonjieba分词_$好玩的分词——python jieba分词模块的基本用法
jieba(结巴)是一个强大的分词库,完美支持中文分词,本文对其基本用法做一个简要总结. 安装jieba pip install jieba 简单用法 结巴分词分为三种模式:精确模式(默认).全模式和 ...
- python jieba库分词_Python基于jieba库进行简单分词及词云功能实现方法
本文实例讲述了Python基于jieba库进行简单分词及词云功能实现方法.分享给大家供大家参考,具体如下: 目标: 1.导入一个文本文件 2.使用jieba对文本进行分词 3.使用wordcloud包 ...
- python jieba分词模块的基本用法
jieba(结巴)是一个强大的分词库,完美支持中文分词,本文对其基本用法做一个简要总结. 安装jieba pip install jieba 简单用法 结巴分词分为三种模式:精确模式(默认).全模式和 ...
- 一文掌握jieba分词器的常见用法,附带案例
一. jieba分词器的基础知识 安装:pip install jieba 安装:pip3 install paddlepaddle-tiny 如果出现超时的情况,指定清华源:pip3 install ...
- 自然语言处理课程(二):Jieba分词的原理及实例操作
上节课,我们学习了自然语言处理课程(一):自然语言处理在网文改编市场的应用,了解了相关的基础理论.接下来,我们将要了解一些具体的.可操作的技术方法. 作为小说爱好者的你,是否有设想过通过一些计算机工具 ...
最新文章
- 将一个普通的java项目转化为maven项目
- 使用容器的正确方式,Docker在雪球的技术实践
- 到今天了,今天又结束了
- 访华为5G首席科学家童文:针尖战略引领5G突破
- socket 编程的端口和地址复用
- 以太网口差分电平_以太网物理层信号测试与分析
- 禁用磁盘检查_如何在Windows上禁用“磁盘空间不足”警告
- linux 编译hadoop,linux centos 安装编译hadoop2.7.1
- 网络基础知识 快速计算子网掩码的2种方法
- win7旗舰版+caffe+vs2013+matlab2014b(无GPU版)
- Windows下microsip和pjsip通话
- 谷歌金山词霸最终版下载地址公布
- 电镜的成像原理-透射电镜成像原理2
- 职场心理学-心理学第一天(非原创)
- 合并在即:详解以太坊最新技术路线
- 「镁客·请讲」移康智能朱鹏程:做产品就要直击痛点,多余的功能只会是噱头...
- 2018年最值得关注的10家区块链公司新秀
- 关于使用手机电池替换3节干电池的尝试
- 频繁模式挖掘Frequent Pattern Mining
- 【chrome】chrome百度网盘网页版倍速
热门文章
- [iBoard 电子学堂][第〇卷 电子基础]第一篇 认识电子元器件
- 关于Python的迭代操作
- 进步的奥秘:自下而上的演变 //转载
- 纯自动化的消息发送工具实现!
- 使用sharding做分库分表,使用jpa,发生的save不报错,数据库缺插不进去数据的问题
- 宁夏计算机模块考试试题,2015宁夏回族自治区计算机等级考试试题 二级C试题理论考试试题及答案...
- 我与python约个会:09.程序编程基础3~组合数据类型
- 战胜切尔西的N种战术设计——欧冠前献给穆帅和国米兄弟的一份技术报告
- Java设计模式--工厂方法模式
- 【C语言典例】——day5:小球下落