Python第三方库jieba库与中文分词全面详解
作者:Argonaut_ 发布时间:2022-03-14 22:32:40
标签:python,jieba库,中文分词
一、什么是jieba库
jieba是优秀的中文分词第三方库,由于中文文本之间每个汉字都是连续书写的,我们需要通过特定的手段来获得其中的每个词组,这种手段叫做分词,我们可以通过jieba库来完成这个过程。
二、jieba分词原理
jieba库的分词原理是利用了一个中文词库,将待分词的内容与分词词库对比,通过图结构和动态规则划分方法找到最大概率的词组。除了分词,jieba还提供增加自定义中文单词的功能。
三、jieba库支持的三种分词模式
1.精确模式
将句子最精确地分开,适合文本分析;
2.全模式
把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解决歧义;
3.搜索引擎模式
在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词
注:对中文分词来说,jieba库只需要一行代码即可。英文文本不存在分词问题
四、jieba库常用函数
函数 | 描述 |
---|---|
jieba.lcut(s) | 精确模式,返回一个列表值 |
jieba.lcut(s,cut_all=True) | 全模式,返回一个列表值 |
jieba.lcut_for_search(s) | 搜索引擎模式,返回一个列表值 |
jieba.add_word(w) | 向分词词典中增加新词w |
五、jieba实操
练习一(jieba.lcut)精确模式
jieba.lcut(s)是最常用的中文分词函数,用于精确模式,将字符串分割成等量的中文词组。
import jieba
ls = jieba.lcut("我愿意穿过璀璨繁星")
print(ls)
练习二(jieba.lcut(s,cut_all=True) )全模式
jieba.lcut(s,cut_all=True)用于全模式,将字符串的所有分词可能列出来,冗余最大。
import jieba
ls = jieba.lcut("人面不知何处去,桃花依旧笑春风", cut_all=True)
print(ls)
练习三(jieba.lcut_for_search)搜索引擎模式
jieba.lcut_for_search该模式首先执行精确模式,然后在对其中长词进一步分获得最终结果
import jieba
ls1 = jieba.lcut("仰天大笑出门去我辈岂是蓬蒿人")
ls = jieba.lcut_for_search("仰天大笑出门去我辈岂是蓬蒿人")
print(ls1)
print(ls)
练习四(jieba.add_word(w))增加新词
import jieba
ls = jieba.lcut_for_search("仰天大笑出门去我辈岂是蓬蒿人")
print(ls)
jieba.add_word("蓬蒿人")
ls1 = jieba.lcut("仰天大笑出门去我辈岂是蓬蒿人")
print(ls1)
小结:精确模式因为不产生冗余,最为常用。
总结
来源:https://blog.csdn.net/Argonaut_/article/details/123598613
0
投稿
猜你喜欢
- 张量是一种特殊的数据结构,与数组和矩阵非常相似。在 PyTorch 中,我们使用张量对模型的输入和输出以及模型的参数进行编码。张量类似于Nu
- 前言pydub是Python中用户处理音频文件的一个库。本文主要介绍了关于Python音频处理库pydub使用的相关内容,分享出来供大家参考
- 本文实例讲述了Python实现二叉树及遍历方法。分享给大家供大家参考,具体如下:介绍:树是数据结构中非常重要的一种,主要的用途是用来提高查找
- 参与测试的浏览器:IE6 / IE7 / IE8 / FF3 / OP9.6 / SF3 / Chrome2操作系统:Windows蓝色理想
- ASP 内建对象Active Server Pages 提供内建对象,这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用
- 本文中的示例主要是解决在函数间不能传递多个(32个以上)参数的问题,解题的具体思路就是采用记录类型作为函数的输入和返回值,所以我们需要先定义
- MapPathMapPath 方法将指定的相对或虚拟路径映射到服务器上相应的物理目录上。语法Server.MapPath( Path ) 参
- 由于Access数据库是一种文件型数据库,所以无法跨服务器进行访问。下面我们来介绍一下如何利用SQL Server 的链接服务器,把地理上分
- 本文实例讲述了Python使用matplotlib和pandas实现的画图操作。分享给大家供大家参考,具体如下:画图在工作再所难免,尤其在做
- 最近一段时间一直在研究yolo物体检测,基于网络上很少有yolo的分类预训练和yolo9000的联合数据的训练方法,经过本人的真实实验,对这
- 前言Python 在 2.6 版本中新加了一个字符串格式化方法: str.format() 。它的基本语法是通过 {} 和 : 来代替以前的
- 代码如下:--获取当前时间 Select getdate() --获取当前年月日 YY代表年,MM代表月,DD代表日,hh代表时
- asp生成html如果采用utf8编码方式,多数采用的是Adodb.Stream组件,因为fso并不能支持Utf-8最近在写一个生成HTML
- python给数据加上高斯噪声一开始用MATLAB给数据加噪声很简单,就一句话:% 给数据加指定SNR的高斯噪声signal_noise =
- SELECT表名=case when a.colorder=1 then d.name else '' end,表说明=ca
- 该章节我们来学习一下在 Python 中去创建并使用多进程的方法,通过学习该章节,我们将可以通过创建多个进程来帮助我们提高脚本执行的效率。可
- 在网页中放iframe,如果frameborder=0;就没有边框显示了;但动态创建时,在IE7中就不行了,从网上找到解决的办法,写出来记录
- <!-- #include file="../conn.asp" --&
- python3 manage.py makemigrations # 生成数据库迁移文件python3 manage.py migrate
- 问题:python2.7 查询或者插入中文数据在mysql中的时候出现中文乱码---可能情况:1.mysql数据库各项没有设置编码,默认为&