一.jieba库用于分词,https://github.com/fxsjy/jieba

二.分词:分词精细:全局(文本分析)<精确(快速成词)<搜素(搜素引擎分词)

 #分词
str=r'今天我们中出了一个叛徒,不想领导领导的领导不是好领导'
a=jieba.cut(str,cut_all=True,HMM=False)
#分词(字符串,是否采用全局模式(默认False精确模式),是否使用HMM模式(默认True))
print(a)#返回可迭代的生成器
print(','.join(a)) b=jieba.lcut(str)#lcut_for_search直接返回列表
print(b) print(jieba.lcut_for_search(str, HMM=True))#搜索模式
---------------------------------------------------------
Building prefix dict from the default dictionary ...
<generator object Tokenizer.cut at 0x0368E8A0>
Loading model from cache C:\Users\11373\AppData\Local\Temp\jieba.cache
今天,我们,中出,了,一个,叛徒,,,不想,领导,领导,的,领导,不是,好,领导
Loading model cost 0.784 seconds.
['今天', '我们', '中出', '了', '一个', '叛徒', ',', '不想', '领导', '领导', '的', '领导', '不是', '好', '领导']
Prefix dict has been built succesfully.
['今天', '我们', '中出', '了', '一个', '叛徒', ',', '不想', '领导', '领导', '的', '领导', '不是', '好', '领导']

分词

三.导入用户字典

 #导入用户的字典
#词典格式:一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒。
#file_name 若为路径或二进制方式打开的文件,则文件必须为 UTF-8 编码
jieba.load_userdict('dict.txt')
print(jieba.lcut(str))
--------------------------------------------------------
['今天', '我们', '中出了', '一个', '叛徒', ',', '不想', '领导领导', '的', '领导', '不是', '好', '领导']

导入用户字典

中出了
领导领导

dict.txt

四.实时操作字典

 jieba.add_word('一个叛徒')#实时在字典中添加某个词
print(jieba.lcut(str))
jieba.del_word('领导')#删除字典的某个词
print(jieba.lcut(str))
jieba.suggest_freq(('一个','叛徒'),True)#可调节单个词语的词频,使其能(或不能)被分出来
print(jieba.lcut(str))
jieba.suggest_freq(('中','出'),True)
print(jieba.lcut(str))#自动计算的词频在使用 HMM 新词发现功能时可能无效。
print(jieba.lcut(str,HMM=False))#自动计算的词频在使用 HMM 新词发现功能时可能无效。
----------------------------------------------------------------------
['今天', '我们', '中出', '了', '一个叛徒', ',', '不想', '领导', '领导', '的', '领导', '不是', '好', '领导']
Loading model cost 0.751 seconds.
Prefix dict has been built succesfully.
['今天', '我们', '中出', '了', '一个叛徒', ',', '不想', '领', '导', '领', '导', '的', '领', '导', '不是', '好', '领', '导']
['今天', '我们', '中出', '了', '一个', '叛徒', ',', '不想', '领', '导', '领', '导', '的', '领', '导', '不是', '好', '领', '导']
['今天', '我们', '中出', '了', '一个', '叛徒', ',', '不想', '领', '导', '领', '导', '的', '领', '导', '不是', '好', '领', '导']
['今天', '我们', '中', '出', '了', '一个', '叛徒', ',', '不想', '领', '导', '领', '导', '的', '领', '导', '不是', '好', '领', '导']

操作字典

五.关键字提取

 import jieba.analyse

 str='今天我们中出了一个叛徒,不想领导领导的领导不是好领导'

 #关键字提取
a=jieba.analyse.extract_tags(str, topK=20, withWeight=False, allowPOS=())
# (文本,为返回几个 TF/IDF 权重最大的关键词,默认值为 20,
# 为是否一并返回关键词权重值,默认值为 False,仅包括指定词性的词,默认值为空,即不筛选)
print(a) #基于 TextRank 算法的关键词抽取
# 1.将待抽取关键词的文本进行分词
# 2.以固定窗口大小(默认为5,通过span属性调整),词之间的共现关系,构建图
# 3.计算图中节点的PageRank,注意是无向带权图
b=jieba.analyse.textrank(str, topK=20, withWeight=True, allowPOS=('n','nr','ns'))
print(b)
-------------------------------------------------------------------------
['领导', '中出', '叛徒', '不想', '今天', '不是', '我们', '一个']
[('领导', 1.0), ('叛徒', 0.2510095552068219)]

关键字提取

六.其他

 import jieba.posseg as pseg
import jieba
str='今天我们中出了一个叛徒,不想领导领导的领导不是好领导'
print(pseg.lcut(str))#词性标注 #并行分词,不支持windows
# jieba.enable_parallel(2)# 开启并行分词模式,参数为并发执行的进程数
# jieba.disable_parallel()# 关闭并行分词模式 #Tokenize:返回词语在原文的起止位置
result = jieba.tokenize(str,mode='search')#输入参数只接受 unicode
for i in result:
print(i)
---------------------------------------------------------------------
[pair('今天', 't'), pair('我们', 'r'), pair('中', 'f'), pair('出', 'v'), pair('了', 'ul'), pair('一个', 'm'), pair('叛徒', 'n'), pair(',', 'x'), pair('不想', 'v'), pair('领导', 'n'), pair('领导', 'n'), pair('的', 'uj'), pair('领导', 'n'), pair('不是', 'c'), pair('好', 'a'), pair('领导', 'n')]
('今天', 0, 2)
('我们', 2, 4)
('中出', 4, 6)
('了', 6, 7)
('一个', 7, 9)
('叛徒', 9, 11)
(',', 11, 12)
('不想', 12, 14)
('领导', 14, 16)
('领导', 16, 18)
('的', 18, 19)
('领导', 19, 21)
('不是', 21, 23)
('好', 23, 24)
('领导', 24, 26)

其他

python3 jieba分词的更多相关文章

  1. 自然语言处理之中文分词器-jieba分词器详解及python实战

    (转https://blog.csdn.net/gzmfxy/article/details/78994396) 中文分词是中文文本处理的一个基础步骤,也是中文人机自然语言交互的基础模块,在进行中文自 ...

  2. python jieba分词(添加停用词,用户字典 取词频

    中文分词一般使用jieba分词 1.安装 pip install jieba 2.大致了解jieba分词 包括jieba分词的3种模式 全模式 import jieba seg_list = jieb ...

  3. widows下jieba分词的安装

    在切词的时候使用到jieba分词器,安装如下: 切入到结巴包,执行 python setup.py install 安装后,可以直接在代码中引用: import jieba

  4. 【原】关于使用jieba分词+PyInstaller进行打包时出现的一些问题的解决方法

    错误现象: 最近在做一个小项目,在Python中使用了jieba分词,感觉非常简洁方便.在Python端进行调试的时候没有任何问题,使用PyInstaller打包成exe文件后,就会报错: 错误原因分 ...

  5. Lucene.net(4.8.0) 学习问题记录五: JIEba分词和Lucene的结合,以及对分词器的思考

    前言:目前自己在做使用Lucene.net和PanGu分词实现全文检索的工作,不过自己是把别人做好的项目进行迁移.因为项目整体要迁移到ASP.NET Core 2.0版本,而Lucene使用的版本是3 ...

  6. python结巴(jieba)分词

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

  7. pypinyin, jieba分词与Gensim

    一 . pypinyin from pypinyin import lazy_pinyin, TONE, TONE2, TONE3 word = '孙悟空' print(lazy_pinyin(wor ...

  8. 使用pynlpir增强jieba分词的准确度

    在使用jieba分词时,发现分词准确度不高.特别是一些专业词汇,比如堡垒机,只能分出堡垒,并不能分出堡垒机.这样导致的问题是很多时候检索并不准确. 经过对比测试,发现nlpir进行分词效果更好.但是n ...

  9. 自然语言处理之jieba分词

    在处理英文文本时,由于英文文本天生自带分词效果,可以直接通过词之间的空格来分词(但是有些人名.地名等需要考虑作为一个整体,比如New York).而对于中文还有其他类似形式的语言,我们需要根据来特殊处 ...

随机推荐

  1. [LintCode] 619 Binary Tree Longest Consecutive Sequence III 二叉树最长连续序列 III

    Given a k-ary tree, find the length of the longest consecutive sequence path. The path could be star ...

  2. 阿里nacos k8s部署

    阿里nacos k8s部署 [root@master1 nacos]# cat nacos-quick-start.yaml --- apiVersion: v1 kind: Service meta ...

  3. linu SSH 不在同一网段的两台机器如何通过ssh通信,SSH限制特定网段登陆的方法

    1. linu SSH 不在同一网段的两台机器如何通过ssh通信 https://blog.csdn.net/lhf19891003/article/details/39895763 https:// ...

  4. ubuntu gcc 安装 使用

    "人多不足以依赖,要生存只有靠自己." -- 拿破仑 gcc是什么:-------------------------- Linux系统下的Gcc(GNU C Compiler)是 ...

  5. Git master合并分支时提示“Already up-to-date”

    Git master合并分支时提示"Already up-to-date" ​ 在使用Git把当前分支合并到master提示"Already up-to-date&quo ...

  6. 剑指offer31:整数中1出现的次数(从1到n整数中1出现的次数)

    1 题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙 ...

  7. mysql数据库,数据表,数据的增删查改语句

    查询mysql支持的引擎 show engines; 查询mysql支持的字符集 show character set; 设置mysql默认存储引擎 set default_storage_engin ...

  8. Web Scraper 翻页——控制链接批量抓取数据(Web Scraper 高级用法)| 简易数据分析 05

    这是简易数据分析系列的第 5 篇文章. 上篇文章我们爬取了豆瓣电影 TOP250 前 25 个电影的数据,今天我们就要在原来的 Web Scraper 配置上做一些小改动,让爬虫把 250 条电影数据 ...

  9. 解决阿里云OSS The requested bucket name is not available的办法

    今天在创建Bucket的时候遇到了这个问题 The requested bucket name is not available. The bucket namespace is shared by ...

  10. WPF打印控件内容

    当我们想打印控件内容时,如一个Grid中的内容,可以用WPF中PrintDialog类的PrintVisual()方法来实现 界面如下: XAML代码如下 <Grid> <Grid. ...