Python结巴中文分词笔记

在这里插入图片描述

📚 jieba库基本介绍

🌐 jieba库概述

Jieba是一个流行的中文分词库,它能够将中文文本切分成词语,并对每个词语进行词性标注。中文分词是自然语言处理的重要步骤之一,它对于文本挖掘、信息检索、情感分析等任务具有重要意义。

💡 jieba分词的原理

jieba分词的原理是基于统计和规则的混合分词方法。它使用了基于前缀词典的最大正向匹配算法,以及基于HMM(隐马尔可夫模型)的Viterbi算法。

💻 jieba库的安装

要使用jieba库,可以通过以下命令进行安装:

pip install jieba

📝 jieba库使用说明

分词的三种模式

jieba分词库提供了三种分词模式:精确模式、全模式和搜索引擎模式。

  • 精确模式(jieba.lcut()):将文本精确地切分成词语,返回一个列表。
  • 全模式(jieba.lcut()):将文本中所有可能的词语都切分出来,返回一个列表。
  • 搜索引擎模式(jieba.lcut_for_search()):在全模式的基础上,对长词再次切分,返回一个列表。

使用的常用函数

以下是jieba库常用的函数:

函数名描述
jieba.cut(sentence)对输入的文本进行分词,返回一个可迭代的生成器。
jieba.cut_for_search(sentence)在分词时对长词进行切分,返回一个可迭代的生成器。
jieba.lcut(sentence)对输入的文本进行分词,返回一个列表。
jieba.lcut_for_search(sentence)在分词时对长词进行切分,返回一个列表。
jieba.add_word(word, freq=None, tag=None)向分词词典中添加新词。
jieba.del_word(word)从分词词典中删除词语。
jieba.load_userdict(file_name)加载用户自定义词典。
jieba.enable_parallel(num=None)启用并行分词模式。
jieba.disable_parallel()关闭并行分词模式。
jieba.enable_paddle()启用基于深度学习的分词模式。

📖 实例——英文文本解析和中文文本解析

英文文本解析

下面是使用jieba库对英文文本进行解析的示例代码:

import jieba# 英文文本
text = "Hello world, this is a test."# 分词
words = jieba.lcut(text)# 输出结果
print(words)

在上述代码中,我们首先导入jieba库,然后定义一个英文文本。接下来,我们使用jieba.lcut()函数对文本进行分词,并将分词结果存储在一个列表中。最后,我们打印分词结果。
运行结果:
在这里插入图片描述

中文文本解析

下面是使用jieba库对中文文本进行解析的示例代码:

import jieba# 中文文本
text = "我喜欢用Python进行数据分析和文本挖掘。"# 分词
words = jieba.lcut(text)# 输出结果
print(words)

在上述代码中,我们同样导入jieba库,并定义一个中文文本。然后,我们使用jieba.lcut()函数对文本进行分词,并将结果存储在一个列表中。最后,我们打印分词结果。
运行结果:
在这里插入图片描述

📝 总结

通过本篇笔记,我们了解了jieba库的作用、分词原理以及常用方法和函数。jieba库是一个强大的中文分词工具,能够帮助我们对中文文本进行有效的处理和分析。

无论是英文文本还是中文文本,使用jieba库都能方便地进行分词处理。你可以根据实际需求,选择合适的分词模式和函数进行文本解析。

希望本篇笔记对你学习和理解jieba库的使用有所帮助!

参考资料:

  • Jieba官方文档: https://github.com/fxsjy/jieba

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

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

相关文章

Linux服务器丢包故障的解决思路及引申的TCP/IP协议栈理论

Linux服务器丢包故障的解决思路及引申的TCP/IP协议栈理论 我们使用Linux作为服务器操作系统时,为了达到高并发处理能力,充分利用机器性能,经常会进行一些内核参数的调整优化,但不合理的调整常常也会引起意想不到的其他问题&#x…

Elasticsearch原理剖析

一、 Elasticsearch结构 Elasticsearch集群方案由EsMaster、EsClient和EsNode1、EsNode2、EsNode3、EsNode4、EsNode5、EsNode6、EsNode7、EsNode8、EsNode9进程组成,如下图所示,模块说明如表下所示。 说明如表: 名称说明ClientClient使用H…

Android系统启动流程分析

当按下Android系统的开机电源按键时候,硬件会触发引导芯片,执行预定义的代码,然后加载引导程序(BootLoader)到RAM,Bootloader是Android系统起来前第一个程序,主要用来拉起Android系统程序,Android系统被拉起…

C# Linq 详解四

目录 概述 二十、SelectMany 二十一、Aggregate 二十二、DistinctBy 二十三、Reverse 二十四、SequenceEqual 二十五、Zip 二十六、SkipWhile 二十七、TakeWhile C# Linq 详解一 1.Where 2.Select 3.GroupBy 4.First / FirstOrDefault 5.Last / LastOrDefault C# Li…

Prompt本质解密及Evaluation实战与源码解析(一)

第9章 Prompt本质解密及Evaluation实战与源码解析 9.1 Customer Service案例 本节主要谈提示词(Prompt)内部的工作机制,围绕案例、源码、论文三个维度展开。首先,我们可以看一下代码部分,这是对基于大模型应用程序开发的一个评估(Evaluation),这显然是一个至关重要的内…

排序子序列,倒置字符串讲解(图文并茂)

目录 1.排序子序列 2.倒置字符串 1.排序子序列 排序子序列_牛客笔试题_牛客网 (nowcoder.com) 首先题干中提到非递增序列和非递减序列,那么我们就要先弄明白什么是上述2种序列: 非递增序列:a[i] > a[i1] 如:3 2 1 或者 3 3 …

使用docker简单创建一个python容器

/root/docker_python目录结构: . |-- demo | -- main.py -- docker-compose.ymlmain.py内容: # codingutf-8 # -*- coding: utf-8 -*-if __name__ __main__:print("hello world")docker-compose.yml内容: version: "3&q…

注册中心技术Eureka、Nacos

说明:在微服务框架中,各个服务之间都是独立的。理论上来说,各个服务之间是可以直接通信的,但实际上因为服务之间通信需要管理和规划,如请求怎么负载均衡、请求怎么降级处理等等,所以就需要使用一个技术&…

Linux 常用命令

认识 Linux 目录结构 Linux 系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件 Linux 是一个树形目录结构。Linux 上没有盘符概念,不分 C 盘等,根目录 \ 的地位相当与 Java 的 Object ——几个特殊的目录&…

Python+Requests+PyWebIO框架详解,编写测试工具提高团队测试效率

一、背景 老铁们如果是QA,想必也遇到过类似痛点吧: 业务逻辑复杂性决定测试场景复杂性,配置测试场景常常花费大量时间,导致测试效率降低新用户的测试场景,账号可能经常注销,协助debug时需要用userid,每次都得重新抓包。而且测试账号很多,来回切,即使在本地管理userid…

Vue2和vue3中双向数据绑定的原理,ES6的Proxy对象代理和JavaScript的Object.defineProperty,使用详细

简介:Object.defineProperty大家都知道,是vue2中双向数据绑定的原理,它是 JavaScript 中一个强大且常用的方法,用于定义对象属性,允许我们精确地控制属性的行为,包括读取、写入和删除等操作; 而…

Net6下Tracer.Serilog.Fody的serilog配置

得益于Net6、Net7下的新结构,不再需要startup.cs文件,configuration也好读取了; 我比较喜欢在appsettings.json中配置serilog,所以在2步配置时,第一步前面就直接从配置文件configuration中读取,并设置Log.…

uniapp快速开发小程序全流程

uniapp快速开发小程序全流程 完整项目代码:https://gitee.com/Zifasdfa/ziyi-app 欢迎fork与star 1 项目效果及环境准备 1.1 项目效果 本文主要使用uniapp实现一个简单的app应用 1.2 环境准备&项目初始化 ①node环境:去node.js官网下载稳定版的nod…

微服务之Eureka服务注册中⼼

关于务注册中⼼服 服务注册中⼼本质上是为了解耦服务提供者和服务消费者,尽可能量使两者联系可控在一定的范围外 1.在父项目下下引入 Spring Cloud 依赖 <dependencyManagement> <dependencies> <!-- SCN --> <dependency> <groupId> org.sp…

【网站 全选和单选】js 实现-点击全选按钮时,所有的按钮都会被选中或取消选中。

要实现的效果如图&#xff1a; 代码实现&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport…

String常用方法

isEmpty() 判断字符串是否为空。 contains(CharSequence chars) 判断是否包含指定的字符系列。 String toUpperCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为大写。 String toLowerCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为小写。 …

Loki+promtail+Grafana监控docker容器日志

目标&#xff1a;监控docker容器的日志&#xff0c;适用于生产环境 效果&#xff1a; 需要的工具&#xff1a;Loki&#xff0c;promtail&#xff0c;Grafana 通过安装promtail容器收集日志&#xff0c;并把日志发送给loki存储处理&#xff0c;由Grafana展示日志。 参考官网的…

Windows bat隐藏运行窗口的几种方案

文章目录 一、背景二、测试数据三、隐藏bat运行窗口方案1. 使用VBScript脚本2. 使用mshta调用js或vbs脚本3. 将bat编译为exe程序4. 使用任务计划程序 一、背景 有些程序在执行批处理脚本时&#xff0c;可能会看到dos窗口&#xff0c;或者看到窗口一闪而过。如果批处理脚本执行…

(EMQX)STM32L+BC20+MQTT协议传输温湿度,ADC,电压,GPS数据到EMQX

1、材料准备 准备以下材料 2、设备连接 2.1 插入物联网卡&#xff0c;天线 首先把BC20核心板从开发板上拆下来 然后将物联卡放置在BC20核心板内 物联卡放置完成将BC20核心板重新插入到开发板内&#xff08;注意不要弄错方向&#xff09; 同时接入天线 2.2 连接ST-Link仿真…

Python 算法基础篇:大O符号表示法和常见时间复杂度分析

Python 算法基础篇&#xff1a;大 O 符号表示法和常见时间复杂度分析 引言 1. 大 O 符号表示法 a ) 大 O 符号的定义 b ) 示例代码 2. 常见时间复杂度分析总结 引言 在分析和比较算法的性能时&#xff0c;时间复杂度是一项重要的指标。而大 O 符号表示法是用来描述算法时间复杂…