当前位置: 首页 > news >正文

中文分词库 jieba 详细使用方法与案例演示

1 前言

jieba 是一个非常流行的中文分词库,具有高效、准确分词的效果。

它支持3种分词模式:

  • 精确模式
  • 全模式
  • 搜索引擎模式
jieba==0.42.1

测试环境:python3.10.9

2 三种模式

2.1 精确模式

适应场景:文本分析。

功能:可以将句子精确的分开。

import jiebatext = "有勇气的牛排是一个编程领域博主的名字"
segments = jieba.lcut(text)print("精确模式分词结果:", segments)
# ['有', '勇气', '的', '牛排', '是', '一个', '编程', '领域', '博主', '的', '名字']

jieba分词 精确模式

2.2 全模式

适应场景:提取词语。

功能:可以将句子中的成词的词语扫描出来,速度非常快,但不能解决歧义问题。

import jiebatext = "有勇气的牛排是一个编程领域博主的名字"segments = jieba.lcut(text, cut_all=True)
print("全模式分词结果:", segments)
# ['有', '勇气', '的', '牛排', '是', '一个', '编程', '领域', '博', '主', '的', '名字']

jieba分词 全模式

2.3 搜索引擎模式

适应场景:搜索分词。

功能:在精确模式的基础上,对长分词进行切分,提高召回率。

import jiebatext = "有勇气的牛排是一个编程领域博主的名字"segments = jieba.lcut_for_search(text)
print("搜索引擎模式分词结果:", segments)

jieba分词 搜索引擎模式

3 自定义词典

jieba允许用户自定义词典,以提高分词的准确性。

比如专业术语、名字、网络新流行词汇、方言、以及其他不常见短语名字等。

3.1 添加单个词语

import jiebatext = "有勇气的牛排是一个编程领域博主的名字"jieba.add_word("有勇气的牛排")
segments = jieba.lcut_for_search(text)
print("搜索引擎模式分词结果:", segments)
# ['勇气', '牛排', '有勇气的牛排', '是', '一个', '编程', '领域', '博主', '的', '名字']

jieba分词添加单个词语

3.2 添加词典文件

cs_dict.txt

有勇气的牛排
编程领域

main.py

import jiebatext = "有勇气的牛排是一个编程领域博主的名字"jieba.load_userdict("cs_dict.txt")segments = jieba.lcut(text)
print("自定义词典文件分词结果:", segments)
# ['有勇气的牛排', '是', '一个', '编程领域', '博主', '的', '名字']

jieba自定义词典

4 词性标注

jieba 的词性标注(POS tagging)功能使用了标注词性(Part-of-Speech tags)来表示每个词的词性。

4.1 词性对照表

原文地址:https://www.couragesteak.com/article/454

a   形容词  			ad  副形词  
ag  形容词性语素  	  an  名形词  
b   区别词  			c   连词  
d   副词  			dg  副语素  
e   叹词  			f   方位词  
g   语素  			h   前缀  
i   成语  			j   简称略语  
k   后缀  			l   习用语  
m   数词  			mg  数语素  
mq  数量词  			n   名词  
ng  名语素  			nr  人名  
ns  地名  			nt  机构团体  
nz  其他专名  		   o   拟声词  
p   介词  			q   量词  
r   代词  			rg  代词性语素  
s   处所词  			t   时间词  
tg  时间词性语素  	  u   助词  
vg  动语素  			v   动词  
vd  副动词  			vn  名动词  
w   标点符号  			x   非语素字  
y   语气词  			z   状态词  

4.2 测试案例

import jieba.posseg as psegtext = "有勇气的牛排是一个编程领域博主的名字"words = pseg.cut(text)
for word, flag in words:print(f"{word} - {flag}")

jieba词性 案例

5 关键词提取

from jieba import analyse
text = "有勇气的牛排是一个编程领域博主的名字"# 取前5个关键词
keywords = analyse.extract_tags(text, topK=5)
print("关键词提取结果:", keywords)

jieba关键词提取

6 词频统计

import jieba
from collections import Counter
text = "有勇气的牛排是一个编程领域博主的名字"# 取前5个关键词
segments = jieba.lcut(text)
word_counts = Counter(segments)
print("词频统计结果:", word_counts)

jieba词频统计

http://www.lryc.cn/news/405547.html

相关文章:

  • EXO-helper解释
  • Qt开发网络嗅探器01
  • mysql面试(三)
  • 阿里云公共DNS免费版自9月30日开始限速 企业或商业场景需使用付费版
  • 捷配生产笔记-一文搞懂阻焊层基本知识
  • html 常用css样式及排布问题
  • 【SpingCloud】客户端与服务端负载均衡机制,微服务负载均衡NacosLoadBalancer, 拓展:OSI七层网络模型
  • 【Elasticsearch】Elasticsearch 中的节点角色
  • pip install与apt install区别
  • 分表分库是一种数据库架构的优化策略,用于处理大规模数据和高并发请求,提高数据库的性能和可扩展性。
  • 【ffmpeg命令入门】获取音视频信息
  • 【IoTDB 线上小课 05】时序数据文件 TsFile 三问“解密”!
  • python-爬虫实例(4):获取b站的章若楠的视频
  • C# yaml 配置文件的用法(一)
  • 人工智能与机器学习原理精解【4】
  • Go channel实现原理详解(源码解读)
  • 数据结构-C语言-排序(4)
  • 灰色关联分析【系统分析+综合评价】
  • linux 部署flask项目
  • ES6 数值的扩展(十八)
  • 面试知识储备-redis和redission
  • 【5本可选】保证知网检索,现在投稿可在8月见刊,对文科领域友好
  • SpringBoot入门:如何新建SpringBoot项目(保姆级教程)
  • 数据恢复篇:适用于 Android 视频恢复的 6 个工具
  • Android笔试面试题AI答之控件Views(6)
  • 扭蛋机潮玩小程序搭建,扭蛋机行业的创新
  • supOS赋能千行百业
  • Vue中filter的使用
  • 案例研究|柯尼卡美能达软件开发(大连)有限公司基于DataEase构筑内部数据可视化体系
  • PHP框架详解- symfony框架