Python jieba库

news2024/12/26 16:11:55

前言

Jieba库是优秀的中文分词第三方库,中文文本需要通过分词获得单个的词语。

Jieba库的分词原理:利用一个中文词库,确定汉字之间的关联概率,汉字间概率大的组成词组,形成分词结果。除了分词,用户还可以添加自定义的词组。

分词模式

jieba,提供给了三种分词模式:
1)精确模式:就是把一段文本精确地切分成若干个中文单词,若干个中文单词之间经过组合,就精确地还原为之前的文本。其中不存在冗余单词。

2)全模式:将一段文本中所有可能的词语都扫描出来,可能有一段文本它可以切分成不同的模式,或者有不同的角度来切分变成不同的词语,在全模式下,Jieba库会将各种不同的组合都挖掘出来。分词后的信息再组合起来会有冗余,不再是原来的文本。

3)搜索引擎模式:在精确模式基础上,对发现的那些长的词语,我们会对它再次切分,进而适合搜索引擎对短词语的索引和搜索。也有冗余。

下载

pip install jieba/pip3 install jieba

主要的方法

jieba.cut

参数说明
sentence需要粉刺的字符串
cut_all是否开启全模式
HMM控制参数是否使用HMM模型
use_paddle用来控制是否使用paddle模式

方法返回的是一个可以迭代的生成器,可以使用for循环获取结果,也可通过list()转化为列表直接获取

# 默认模式 精准模式
strs = jieba.cut('我来到了北京清华大学')
print("默认的精准模式:", list(strs))
# 全模式
strs1 = jieba.cut('我来到了北京清华大学', cut_all=True)
print('全模式:', list(strs1))

jieba.cut_for_search

参数说明
sentence需要粉刺的字符串
HMM是否使用 HMM 模型
# 搜索引擎模式
strs2 = jieba.cut_for_search('我来到了北京大学')
print("搜索引擎模式:", list(strs2))

jieba.lcut 和 jieba.lcut_for_search

这两个方法和上面介绍的两个方法基本一致这里就不再赘述不同的是这两个方法返回的是list

str22 = jieba.lcut('我来到了北京大学')
print(str22)
str_list = jieba.lcut_for_search('我来到了北京大学')
print(str_list)

除了以上的功能以外jieba库还具有关键词提取的功能

关键词提取

jieba库在关键词提取上有两种算法: TF-IDF 算法TextRank 算法

基于 TF-IDF 算法的关键词抽取

jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())

方法参数
sentence需要提取的字符串
topK返回几个 TF/IDF 权重最大的关键词(默认为20)
wirhWeight是否返回关键词呢的权重
allowPOS指定词性(默认为空也就是不指定)
import jieba.analyse
f = open(r'D:\gitee代码托管\jiebastudy\模块二 样题2 .txt', 'r', encoding='utf-8')
data = f.read()
data_tfidf = jieba.analyse.extract_tags(data, topK=5,withWeight=True, allowPOS=('nr', 'ns',"n"))
print(data_tfidf)

返回值:

[('裙子', 0.5743548458513157), ('淑女', 0.5312639559052631), ('连衣裙', 0.5267819659947368), ('长裙', 0.5072630407857894), ('女装', 0.4061747265513158)]

基于 TextRank 算法的关键词抽取

jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=())

方法参数
sentence需要提取的字符串
topK返回几个 TF/IDF 权重最大的关键词(默认为20)
wirhWeight是否返回关键词呢的权重
allowPOS指定词性(默认为空也就是不指定)
import jieba.analyse
f = open(r'D:\gitee代码托管\jiebastudy\模块二 样题2 .txt', 'r', encoding='utf-8')
data = f.read()
data_textrank = jieba.analyse.textrank(data, topK=5, withWeight=True, allowPOS=('nr', 'ns', "n"))
print(data_textrank)

返回值:

[('裙子', 1.0), ('长裙', 0.8850261879403326), ('连衣裙', 0.7873509466651294), ('淑女', 0.7685666878978411), ('商品', 0.7184127086119025)]

感谢观看,欢迎指正,仅个人笔记,如有侵权联系删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/603902.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据库原理与应用 - 第八章】数据库的事务管理与并发控制

目录 一、事务管理 1、概念及特性 2、事务控制 (1)事务控制语句 显示事务举例 二、并发控制 1、问题引入 2、并发执行带来的问题 (1)丢失修改 (2)不可重复读 (3)读"…

[自学记录02|百人计划]纹理压缩

一、什么是纹理压缩 纹理压缩是为了解决内存、带宽问题,专为在计算机图形渲染系统中存储纹理而使用的图像压缩技术。 1.图片格式和纹理格式的区别 (1)图片格式 图片格式是图片文件的存储格式,通常在磁盘、内存中储存和传输文件时使用;例如…

单片机GD32F303RCT6 (Macos环境)开发 (三十三)—— 光照传感器 (BH1750)

GD32 光照传感器 BH1750的使用 1、GPIO模拟i2c配置 使用管脚为SCL PB10 SDA PB11,移植代码时可换自己的管脚。软件模拟i2c在十九章中讲过,与其不同的地方是,这里的us延时函数,换成了定时器3做us级的延时。 tim3的配置&#xf…

linux 找回root密码(CentOS7.6)

linux 找回root密码(CentOS7.6) 首先,启动系统,进入开机界面,在界面中按“e”进入编辑界面。如图 2. 进入编辑界面,使用键盘上的上下键把光标往下移动,找到以““Linux16”开头内容所在的行数”,在行的最后…

java-字符流和字节流(二)

java-字符流和字节流(二) 一、字节缓冲流 1.1字节缓冲流构造方法 字节缓冲流介绍 BufferOutputStream:该类实现缓冲输出流。 通过设置这样的输出流,应用程序可以向底层输出流写入字节,而不必为写入的每个字节导致底层系统的调用 BufferedIn…

chatgpt赋能python:Python动图如何优化SEO?

Python动图如何优化SEO? Python是一种高级编程语言,广泛应用于数据分析、人工智能和网站开发等领域。Python还支持创建动态图像,这些动态图像通常用于数据可视化、演示和教育目的。在本文中,我们将探讨如何使用Python创建动态图像…

chatgpt赋能python:Python加f之SEO的重要性

Python加f之SEO的重要性 随着互联网的不断发展和普及,越来越多的企业和个人纷纷进入到了网站建设,网络营销的大军之中。而SEO作为重要的一环,在各个领域内也变得愈加重要。而Python中的f字符串是近些年来引起广泛关注的一种新的字符串格式化…

chatgpt赋能python:Python动态内存分配:如何优化你的代码

Python动态内存分配:如何优化你的代码 在编写Python代码时,你可能已经注意到内存使用方面的一些问题。Python动态内存分配是一个重要的话题,它涉及到Python程序如何在运行时使用内存。本文将向您介绍Python动态内存分配的基本概念和如何优化…

chatgpt赋能python:Python动态代码在SEO中的重要性

Python动态代码在SEO中的重要性 Python是一种非常流行的编程语言,用于开发Web应用程序、数据分析、人工智能和机器学习。Python的动态代码能够动态生成HTML、CSS和JavaScript来创建动态网页。这种能力使Python在SEO中非常有用,因为它可以帮助网站排名更…

chatgpt赋能python:如何使用Python制作动画?

如何使用Python制作动画? Python是一种高级编程语言,被广泛应用于各种领域,包括动画制作。Python的简洁性和强大的功能使得它成为一个很好的选择来制作动画。在这篇文章中,我将向您介绍使用Python如何制作动画。 第一步&#xf…

Vue3 相关Composition Api 2

一,其他Composition Api shallowReactive 与 shallowRef shallowReactive:只处理对象最外层属性的响应式(浅响应式)。 shallowRef:只处理基本数据类型的响应式,不进行对象的响应式处理。 什么时候使用? 如果有一个对…

Hive

Hive 概览 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。 本质是将SQL转换为MapReduce程序。 主要用途:用来做离线数据分析,比直接用MapReduce开发效率更高。 架构 数…

chatgpt赋能python:用Python制作动画,你不可错过的工具

用Python制作动画,你不可错过的工具 Python是一种高级编程语言,最初被设计用于编写自动化脚本和简化复杂任务。然而,如今它越来越多地被用于创意和艺术性的项目,甚至是动画制作。 Python在动画制作中的优势一直受到赞誉。它是一…

辅助驾驶功能开发-功能算法篇(2)-ACC-状态机跳转设计

1、ACC状态介绍 ALOD_MODE (ACC状态) 状态说明OFF ACC关闭状态,此时ACC图标不显示,且其他相关信号都发默认值。此状态下车辆完全由驾驶员控制。 PassiveACC已由驾驶员开启,但有抑制条件(如安全带、车门)满足&#xff0…

chatgpt赋能python:Python制作录屏软件,让你的屏幕动作不再错过

Python制作录屏软件,让你的屏幕动作不再错过 作为一名Python工程师,你可能有很多需要记录屏幕操作的场景,比如演示软件或者录制教学视频。那么,有没有一款Python制作的录屏软件来满足你的需求呢?答案是肯定的&#xf…

K-means聚类算法原理、步骤、评价指标和实现

1、聚类 聚类与分类不同,聚类分析分通过分析大量含有一定规律但杂乱数据,得到数据间内在的逻辑,将杂乱的数据按照所得的数据规律划分成不同的种类。K-measn、DBSCAN和层次是当前广泛使用的三种聚类方法。以下对三种方法进行分析,…

Mybatis 如何实现返回多个结果集——详测版

文章结构 本文介绍一个在 Mybatis 中不常见的操作,但是可能有些朋友刚好需要用到,Mybatis 如何实现返回多个结果集 什么情况会返回多个结果集: 存储过程多个 select 语句 具体过程如下(作者实测:跟着观战就完事了&a…

chatgpt赋能python:Python:一个强大、适用广泛的编程语言

Python:一个强大、适用广泛的编程语言 作为一种高级编程语言,Python 可以轻松地完成许多计算机编程任务。它是一种协作和代码重用的语言,Python旨在提高生产力并减少缺陷。 对于那些想要学习编程语言的人来说,Python 是非常适合…

Class源码

介绍 如果想要在程序运行阶段访问某个类的所有信息,并支持修改类的状态或者行为的话,肯定会用到反射,而反射靠的就是Class类。 通过Class类可以获取类的实例,构造方法,字段,成员方法,接口等信…

网络编程知识点总结(3)

socket 服务器的开发步骤和代码实现 1.创建套接字 socket()函数 int socket(int domain, int type, int protocol); domain: 指明所使用的协议族,通常为 AF_INET,表示互联网协议族(TCP/IP 协议族)AF_INET IPv4因特网域. AF_INET6 IPv6 因特网域 AF_U…