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

Python常用的第三方模块之【jieba库】支持三种分词模式:精确模式、全模式和搜索引擎模式(提高召回率)

        Jieba 是一个流行的中文分词Python库,它提供了三种分词模式:精确模式全模式搜索引擎模式。精确模式尝试将句子最精确地切分,适合文本分析;全模式则扫描文本中所有可能的词语,速度快但存在冗余;搜索引擎模式在精确模式的基础上,对长词进行再次切分,提高召回率

分词功能

        Jieba的核心功能是分词,它依据词库确定汉字间的关联概率。用户可以通过以下函数进行分词操作:

  • jieba.cut(s, cut_all=False): 精确模式,默认模式,返回一个可迭代的generator对象。

  • jieba.cut(s, cut_all=True): 全模式,返回一个可迭代的generator对象,可能包含冗余。

  • jieba.cut_for_search(s): 搜索引擎模式,返回一个可迭代的generator对象,对长词进行再次切分。

返回列表的分词

Jieba还提供了返回列表形式的分词结果的函数:

  • jieba.lcut(s): 精确模式,返回一个列表类型的分词结果。

  • jieba.lcut(s, cut_all=True): 全模式,返回一个列表类型的分词结果,存在冗余。

  • jieba.lcut_for_search(s): 搜索引擎模式,返回一个列表类型的分词结果,存在冗余。

自定义词典

        用户可以通过jieba.add_word(w)向分词词典中增加新词,以提高分词的准确性。例如,如果有一个不常见的词语“就这”,可以添加到词典中,使得Jieba在未来的分词操作中能够识别它。

import jieba# 精确模式
words = jieba.cut("我爱自然语言处理", cut_all=False)
for word in words:print('精确模式:',word)# 全模式
words = jieba.cut("我爱自然语言处理", cut_all=True)
for word in words:print('全模式:',word)# 搜索引擎模式
words = jieba.cut_for_search("我爱自然语言处理")
for word in words:print('搜索引擎模式:',word)

示例:

import jieba
import chardet
from chardet import UniversalDetectorfileName='AI工具集.txt'
# #读取进来,with open只能打开txt这样的纯文本,请勿打开非文本文档(比如Office系列excel),尝试使用UTF-8编码打开文件
with open(fileName, 'r', encoding='utf-8') as file:content = file.read()# print(content)#分词
lst=jieba.lcut(content)
print(lst)#去重操作
set1=set(lst) #使用集合实现去重
#
d={} #key:词,value:出现的次数
for item in set1:if len(item)>2:print(item)d[item]=0#统计出现次数
for item in lst:if item in d:d[item]=d.get(item)+1
print(d)new_lst=[]
for item in d:new_lst.append([item,d[item]])
print(new_lst)#排序
new_lst.sort(key=lambda x:x[1],reverse=True)
print(new_lst[0:11]) #显示的是前10项

http://www.xdnf.cn/news/96949.html

相关文章:

  • React组件测试完全指南:从入门到实践
  • 精益数据分析(16/126):掌握关键方法,探寻创业真谛
  • 【Pandas】pandas DataFrame mod
  • 位置编码学习笔记
  • Linux:进程地址空间
  • 【LangChain4j】AI 第一弹:LangChain4j 的理解
  • 32单片机——GPIO寄存器
  • 05/06-Java入门-HelloWorld和编程工具的使用
  • c语言指针3
  • 初识分布式事务原理
  • VMware中CentOS 7虚拟机设置固定IP(NAT模式)完整教程
  • Scanpy可视化技巧--UMAP图优化
  • 数据的加载与保存
  • 基于Quill的文档编辑器开发日志(上)——前端核心功能实现与本地存储管理
  • Java 环境配置详解(Windows、macOS、Linux)
  • 新书推荐——《游·思——看世界 上》孔祥超 著
  • 【MQ篇】RabbitMQ之工作队列模式!
  • Kotlin中实现静态
  • 智能文档解析系统架构师角色定义
  • 链表系列一>两数相加
  • 如何将 Azure Active Directory (Azure AD) 作为 SAML IdP 对接到 Keycloak
  • 从零手写 RPC-version1
  • django软件开发招聘数据分析与可视化系统设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
  • 搭建Stable Diffusion图像生成系统实现通过网址访问(Ngrok+Flask实现项目系统公网测试,轻量易部署)
  • JavaEE学习笔记(第二课)
  • C#开发usb hid 简易GUI调试工具记录
  • 2025山东省职业院校技能大赛网络安全赛项样题
  • rk3588 驱动开发(二)第四章嵌入式 Linux LED 驱动开发实验
  • 初阶数据结构--排序算法(全解析!!!)
  • 【JVS更新日志】物联网、智能BI、智能APS 4.23更新说明!