python3 jieba分词
一.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分词的更多相关文章
- 自然语言处理之中文分词器-jieba分词器详解及python实战
(转https://blog.csdn.net/gzmfxy/article/details/78994396) 中文分词是中文文本处理的一个基础步骤,也是中文人机自然语言交互的基础模块,在进行中文自 ...
- python jieba分词(添加停用词,用户字典 取词频
中文分词一般使用jieba分词 1.安装 pip install jieba 2.大致了解jieba分词 包括jieba分词的3种模式 全模式 import jieba seg_list = jieb ...
- widows下jieba分词的安装
在切词的时候使用到jieba分词器,安装如下: 切入到结巴包,执行 python setup.py install 安装后,可以直接在代码中引用: import jieba
- 【原】关于使用jieba分词+PyInstaller进行打包时出现的一些问题的解决方法
错误现象: 最近在做一个小项目,在Python中使用了jieba分词,感觉非常简洁方便.在Python端进行调试的时候没有任何问题,使用PyInstaller打包成exe文件后,就会报错: 错误原因分 ...
- Lucene.net(4.8.0) 学习问题记录五: JIEba分词和Lucene的结合,以及对分词器的思考
前言:目前自己在做使用Lucene.net和PanGu分词实现全文检索的工作,不过自己是把别人做好的项目进行迁移.因为项目整体要迁移到ASP.NET Core 2.0版本,而Lucene使用的版本是3 ...
- python结巴(jieba)分词
python结巴(jieba)分词 一.特点 1.支持三种分词模式: (1)精确模式:试图将句子最精确的切开,适合文本分析. (2)全模式:把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解 ...
- pypinyin, jieba分词与Gensim
一 . pypinyin from pypinyin import lazy_pinyin, TONE, TONE2, TONE3 word = '孙悟空' print(lazy_pinyin(wor ...
- 使用pynlpir增强jieba分词的准确度
在使用jieba分词时,发现分词准确度不高.特别是一些专业词汇,比如堡垒机,只能分出堡垒,并不能分出堡垒机.这样导致的问题是很多时候检索并不准确. 经过对比测试,发现nlpir进行分词效果更好.但是n ...
- 自然语言处理之jieba分词
在处理英文文本时,由于英文文本天生自带分词效果,可以直接通过词之间的空格来分词(但是有些人名.地名等需要考虑作为一个整体,比如New York).而对于中文还有其他类似形式的语言,我们需要根据来特殊处 ...
随机推荐
- LeetCode:三数之和【15】
LeetCode:三数之和[15] 题目描述 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的 ...
- git的使用学习(二)git的操作使用
1.创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都 ...
- Linux awk+uniq+sort 统计文件中某字符串出现次数并排序
https://blog.csdn.net/qq_28766327/article/details/78069989 在服务器开发中,我们经常会写入大量的日志文件.有时候我们需要对这些日志文件进行统计 ...
- 利用sourceinsight宏(Quicker.em)提高编码效率和质量
利用sourceinsight宏(Quicker.em)提高编码效率和质量Marco是sourceinsight软件一个强大的功能,用户可以通过编写宏来实现自定义功能.这里有个比较流行的宏文件quic ...
- YCOJ过河卒C++
过河卒是一道~~较简单 的问题,用递归或者动态规划都可以完成,但今天主要不是递归或者动态规划,而是用深度优先搜索做的.虽然会有两组TLE~~ 深搜是一种向下搜索的算法(如图所示) 它能有效的统计中点到 ...
- R去掉含有NA的行
只要数据框中含有NA的行都去掉 final[complete.cases(final),] na.omit(final) 过滤某几列 final[complete.cases(final[,5:6]) ...
- redis的key设置每天凌晨过期的思路
设置key凌晨过期的思路 设置key的值的时候,计算下当前时间到第二天凌晨的时间差,设置key的过期时间. 利用定时任务,每天凌晨将需要过期的key删除. 应用场景 按天为维度,限制用户对资源的访问次 ...
- Linux下查看压缩文件内容的 10 种方法
Linux下查看压缩文件内容的 10 种方法 通常来说,我们查看归档或压缩文件的内容,需要先进行解压缩,然后再查看,比较麻烦.今天给大家介绍 10 不同方法,能够让你轻松地在未解压缩的情况下查看归档或 ...
- CodeForces-1159B-Expansion coefficient of the array
B. Expansion coefficient of the array time limit per test:1 second memory limit per test:256 megabyt ...
- Python05之常用操作符
主要有三类:算数运算符,比较运算符,逻辑运算符 一.算数运算符: 加(+)减(-)乘(*)除(/)幂运算(**)地板除(//)取余数(%) 注:/和//的区别: 数据1 / 数据2 = 数据3 ( ...