一.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. MySQL之忘记root重置方法

    参考:https://help.aliyun.com/knowledge_detail/42520.html MySQL忘记了root登录密码需要重置 1,修改配置文件 一般配置文件路径为/etc/m ...

  2. 【ARTS】01_44_左耳听风-201900909~201900915

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  3. 软件测试成熟度模型TCMM (转载)

    下面我们就看看是如何划分的,来评判一下各位同仁自己所在的公司,所在的级别. TCMM Level 1:Initial(初始级)   测试处于一个混乱的状态,还不能把测试同调试分开,在编码完成后才进行测 ...

  4. 关于mathtype6.9在office2010中出现The MathType can not be found的问题

    本文问题解决方法参考:https://blog.csdn.net/yiran103/article/details/41694843 自从重装了系统,安装mathtype总是提示The MathTyp ...

  5. Collectd 和 InfluxDB 的部署和使用

    更新软件包 $ sudo apt-get update$ sudo apt-get upgrade$ sudo reboot 安装influxdb hanwei@ubuntu-lab:~$ wget ...

  6. [转帖]Kubernetes - nginx-ingress 配置跳坑指南

    Kubernetes - nginx-ingress 配置跳坑指南 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https:// ...

  7. java当中JDBC当中请给出一个SQLServer DataSource and SingleTon例子

    [学习笔记] 5.SQLServer DataSource and SingleTon: import net.sourceforge.jtds.jdbcx.*;import java.sql.*;i ...

  8. 题解 CF1216C 【White Sheet】

    虽然也很水,但这道还是比前两道难多了... 题目大意:给你三个位于同一平面直角坐标系的矩形,询问你后两个是否完全覆盖了前一个 首先,最直观的想法应该是,把第一个矩形内部每个整数点检查一下,看看是否位于 ...

  9. Python——多态、检查类型

    一.多态 Python变量并不需要声明类型,同一个变量可以在不同的时间引用不同的对象,当一个变量在调用同一个方法,可以呈现出多种行为,而具体呈现出哪种行为由该变量引用的对象来决定,这就是多态. 先看一 ...

  10. c语言求回文数的三种算法的描述

    c语言求回文数的三种算法的描述 题目描述 注意:(这些回文数都没有前导0) 1位的回文数有0,1,2,3,4,5,6,7,8,9 共10个: 2位的回文数有11,22,33,44,55,66,77,8 ...