iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >关于Python中jieba库的使用
  • 901
分享到

关于Python中jieba库的使用

Pythonjiebajieba库 2023-05-15 08:05:32 901人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录jieba库概述jieba 库演示在 PyCharm 中添加 jieba 库使用jieba 库第三方库jieba库概述 jieba 库演示 对于一段英文文本, 例如 &ldquo

jieba库概述

jieba 库演示

对于一段英文文本, 例如 “China is a great country”,如果希望提取其中的单词,只需要使用字符串处理的 split() 方法即可,例如:

print("China is a great country".split())

程序执行结果如下:

[‘China’, ‘is’, ‘a’, ‘great’, ‘country’]

然而,对于一段中文文本,例如,“中国是一个伟大的国家”,获得其中的单词 (不是字符) 十分困难,因为英文文本可以通过空格或者标点符号分隔,而中文单词之间缺少分隔符,这是中文及类似语言独有的“分词”问题。

上例中, 分词能够将 “中国是一个伟大的国家” 分为"中国”、“是”、 “一个”、“伟大”、“的”、 "国家"等一系列词语。

jieba (“结巴”) 是 Python 中一个重要的第三方中文分词函数库,例如:

import jiebapr
int(jieba.lcut("中国是一个伟大的国家"))

程序执行结果如下:

[‘中国’, ‘是’, ‘一个’, ‘伟大’, ‘的’, ‘国家’]

jieba 库的分词原理是利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结构和动态规划方法找到最大概率的词组。

除了分词,jieba 还提供增加自定义中文单词的功能。

jieba 库支持 3 种分词模式:

  • 精确模式,将句子最精确地切开,适合文本分析
  • 全模式,把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能消除歧义
  • 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词

在 PyCharm 中添加 jieba 库

jieba 库是第三方库,不是 Python 安装包自带的,因此,需要进行安装,因为我们利用的是 PyCharm 进行开发,所以只要简单地把 jieba 库添加进来就行,下面是具体步骤。

(1) 在菜单栏中点击【File】——【Settings】

在这里插入图片描述

(2) 在接下来的界面中找到【Project: pythonProject】——【Project Interpreter】,点击界面中的加号

在这里插入图片描述

(3) 输入 “jieba"搜索,找到 jieba,然后点击 ”Install Package“,等待一会儿即可

在这里插入图片描述

(4) 安装完可以返回之前的界面查看

在这里插入图片描述

使用jieba 库

jieba 库支持 3 种分词模式:

  • 精确模式,将句子最精确地切开,适合文本分析
  • 全模式,把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能消除歧义
  • 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词

jieba 库主要提供分词功能,可以辅助自定义分词词典。

jieba 库中包含的主要函数如下表所示:

函数描述
jieba.cut(s)精确模式,返回一个可迭代的数据类型
jieba.cut(s, cut_all=True)全模式,输出文本 s 中所有可能的单词
jieba.cut_for_ search(s)索引擎模式,适合搜索引擎建立索引的分词结果
jieba.lcut(s)精确模式,返回一个列表类型,建议使用
jieba.lcut(s, cut_all=True)全模式,返回一个列表类型,建议使用
jieba.lcut_for_search(s)搜索引擎模式,返回一个列表类型,建议使用
jieba.add_word(w)向分词词典中增加新词 w

代码如下:

import jieba

print(jieba.lcut("中华人民共和国是一个伟大的国家"))

print(jieba.lcut("中华人民共和国是一个伟大的国家", cut_all=True))

print(jieba.lcut_for_search("中华人民共和国是一个伟大的国家"))

程序执行结果如下:

[‘中华人民共和国’, ‘是’, ‘一个’, ‘伟大’, ‘的’, ‘国家’]
[‘中华’, ‘中华人民’, ‘中华人民共和国’, ‘华人’, ‘人民’, ‘人民共和国’, ‘共和’, ‘共和国’, ‘国是’, ‘一个’, ‘伟大’, ‘的’, ‘国家’]
[‘中华’, ‘华人’, ‘人民’, ‘共和’, ‘共和国’, ‘中华人民共和国’, ‘是’, ‘一个’, ‘伟大’, ‘的’, ‘国家’]

jieba. lcut() 函数返回精确模式,输出的分词能够完整且不多余地组成原始文本;

jieba. lcut(,True) 函数返回全模式,输出原始文本中可能产生的所有问题,冗余性最大;

jieba.lcut_ for_search() 函数返回搜索引擎模式,该模式首先执行精确模式,然后再对其中的长词进一步切分获得结果。

由于列表类型通用且灵活,建议读者使用上述 3 个能够返回列表类型的分词函数。

默认情况下,jieba.cut()6 个分词函数能够较高概率识别自定义的新词,比如名字或缩写。对于无法识别的分词,也可以通过 jieba.add_ word() 函 数向分词库添加,例如:

import jieba
print(jieba.lcut("程序喵正在路上"))
jieba.add_word("程序喵")
print(jieba.lcut("程序喵正在路上"))

程序执行结果如下:

[‘程序’, ‘喵’, ‘正在’, ‘路上’]
[‘程序喵’, ‘正在’, ‘路上’]

第三方库

Python 语言的第三方库指不在 Python 安装包中的函数库,也是非标准函数、库。这类函数库一般由全球各领域专业人士结合专业特点和兴趣开发。Python 语言构建了一个开放和自由的生态环境,对第三方库的开发没有强制要求,因此,Python 语言的第三方库发展十分迅速。截至 20169 月,Python 官方网站注册的第三方库已经达到 9 万多个。如果说强大的标准库奠定了 Python 语言发展的基石,丰富的第三方库则是 Python 不断发展的保证。随着 Python 语言的发展,一些稳定的第三方库不断被加入标准库。

到此这篇关于关于Python中jieba库的使用的文章就介绍到这了,更多相关Python jieba库内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 关于Python中jieba库的使用

本文链接: https://www.lsjlt.com/news/208691.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作