Python的jieba模块的安装与使用是怎样的
Admin 2022-08-10 群英技术资讯 807 次浏览
在这篇文章中,我们来学习一下“Python的jieba模块的安装与使用是怎样的”的相关知识,下文有详细的讲解,易于大家学习和理解,有需要的朋友可以借鉴参考,下面就请大家跟着小编的思路一起来学习一下吧。英语单词之间是通过空格分隔的,但是中文却不存在空格的概念,因此需要一个模块来解决中文的分词问题。jieba模块是一个python第三方中文分词模块,可以用于将语句中的中文词语分离出来。
此外,全国计算机等级考试二级python语言程序设计也涉及到该模块的相关知识。因此大家可以好好了解下该模块。
jieba模块作为python的一个第三方模块,是需要我们自行下载安装后才能使用的,我们主要采用pip安装工具进行jieba的安装,具体步骤如下:
在windows操作系统中,快捷键win+R,

然后输入cmd,点击确定,打开

输入:
pip install jieba
即可安装成功。
jieba模块支持三种分词模式:全模式、精准模式以及搜索引擎模式。
①全模式:全模式可以将句子中所有可能的词语全部提取出来,该模式提取速度快,但可能会出现冗余词汇。

如图,第一行出现了冗余词汇,其采用的就是全模式,而第二行采用精准模式。
②精准模式:精准模式通过优化的智能算法将语句精准的分隔,适用于文本分析。
③搜索引擎模式:搜索引擎模式在精准模式的基础上对词语进行再次划分,提高召回率,适用于搜索引擎分词。
参数解析:
sentence:要分割的str(unicode)。
cut_all:模型类型。True 表示全模式,False 表示精准模式。其默认为精准模式。
HMM:是否使用隐马尔可夫模型。
函数功能:
The main function that segments an entire sentence that contains Chinese characters into separated words.
将包含汉字的整个句子分割成单独的单词的主要功能。
import jieba sentence = 'python是世界上最好的编程语言' ls = jieba.cut(sentence, cut_all=False) print(ls) # <generator object Tokenizer.cut at 0x000001966B14EA98>

print(type(ls)) # <class 'generator'>

如图,其是迭代器类型,可以用以下三种方式显示结果
①' '.join()
# ①''.join ls_1 = ' '.join(ls) print(ls_1) # python 是 世界 上 最好 的 编程 编程语言 语言

②for循环遍历
# ②for循环遍历
for i in ls:
print(i)
'''
python
是
世界
上
最好
的
编程语言
'''

③列表推导式
# ③列表推导式 ls_2 = [i for i in ls] print(ls_2) # ['python', '是', '世界', '上', '最好', '的', '编程语言']

def lcut(self, *args, **kwargs):
return list(self.cut(*args, **kwargs))
查看jieba模块,其定义lcut()函数如上,可以发现lcut()函数最终返回的是list(cut())
import jieba sentence = 'python是世界上最好的编程语言' ls = jieba.cut(sentence, cut_all=False) print(ls) print(list(ls)) ls1 = jieba.lcut(sentence, cut_all=True) print(ls1) ls2 = jieba.lcut(sentence) print(ls2)
结果如下 :

注意:cut_all=False是精准模式,也是其默认的类型。
cut_for_search(sentence, HMM=True)和lcut_for_search(sentence, HMM=True)和上面所讲的类似。其都是对搜索引擎进行更精细的细分,即采用搜索引擎模式。
import jieba sentence = 'python是世界上最好的编程语言' ls3 = jieba.cut_for_search(sentence) print(ls3) # <generator object Tokenizer.cut_for_search at 0x00000199C7A3D9A8> print(list(ls3)) # ['python', '是', '世界', '上', '最好', '的', '编程', '语言', '编程语言'] ls4 = jieba.lcut_for_search(sentence) print(ls4) # ['python', '是', '世界', '上', '最好', '的', '编程', '语言', '编程语言']

Add a word to dictionary. freq and tag can be omitted, freq defaults to be a calculated value that ensures the word can be cut out.
import jieba
sentence = 'python是世界上最好的编程语言'
ls2 = jieba.lcut(sentence)
print(ls2)
ls5 = jieba.add_word('最好的')
ls6 = jieba.lcut(sentence)
print(ls6)
结果如上,最终最好的就没有被切掉。
函数功能:分词词典中删除词word
import jieba
sentence = 'python是世界上最好的编程语言'
ls2 = jieba.lcut(sentence)
print(ls2)
ls7 = jieba.del_word('世界')
ls8 = jieba.lcut(sentence)
print(ls8)

不过经过笔者更改word,发现word是编程语言时,最后就分割成了编程和语言;当word是编程时,结果没变化;当word是python时,结果也没变化。因此有些需要笔者自己去尝试。
"""
Suggest word frequency to force the characters in a word to be
joined or splitted.
Parameter:
- segment : The segments that the word is expected to be cut into,
If the word should be treated as a whole, use a str.
- tune : If True, tune the word frequency.
Note that HMM may affect the final result. If the result doesn't change,
set HMM=False.
"""
注意:HMM可能会影响最终结果。如果结果不变,设置HMM=False。
"""
Tokenize a sentence and yields tuples of (word, start, end)
Parameter:
- sentence: the str(unicode) to be segmented.
- mode: "default" or "search", "search" is for finer segmentation.
- HMM: whether to use the Hidden Markov Model.
"""
# -*- coding: utf-8-*-
import jieba
sentence = 'python是世界上最好的编程语言'
ls = jieba.cut(sentence, cut_all=False)
# print(ls)
# print(list(ls))
# # <generator object Tokenizer.cut at 0x0000019F5E44DA98>
# print(type(ls))
# # <class 'generator'>
# # ①''.join
# ls_1 = ' '.join(ls)
# print(ls_1)
# # python 是 世界 上 最好 的 编程语言
# ②for循环遍历
# for i in ls:
# print(i)
# '''
# python
# 是
# 世界
# 上
# 最好
# 的
# 编程语言
# '''
# # ③列表推导式
# ls_2 = [i for i in ls]
# print(ls_2)
# # ['python', '是', '世界', '上', '最好', '的', '编程语言']
# ls1 = jieba.lcut(sentence, cut_all=True)
# print(ls1)
ls2 = jieba.lcut(sentence)
print(ls2)
# ls3 = jieba.cut_for_search(sentence)
# print(ls3)
# # <generator object Tokenizer.cut_for_search at 0x00000199C7A3D9A8>
# print(list(ls3))
# # ['python', '是', '世界', '上', '最好', '的', '编程', '语言', '编程语言']
# ls4 = jieba.lcut_for_search(sentence)
# print(ls4)
# ['python', '是', '世界', '上', '最好', '的', '编程', '语言', '编程语言']
# ls5 = jieba.load_userdict('文案.txt')
# ls6 = jieba.lcut(sentence)
# print(ls6)
# ls5 = jieba.add_word('最好的')
# ls6 = jieba.lcut(sentence)
# print(ls6)
ls7 = jieba.del_word('世界')
ls8 = jieba.lcut(sentence)
print(ls8)
需要的可以自行复制
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要分享的是 Python 编程语言的详细介绍,Python 由 Guido van Rossum 设计,作为“ABC”编程语言的继承者,于 1991 年首次发布。它是一种高级通用语言,其设计理念是通过使用缩进来强调代码的可读性。文章具有一定的参考价值,需要的朋友可以参考一下
python数据分析中,pandas函数是比较实用的,对此下面小编就给大家分享一下python的pandas函数用法,有需要的朋友可以参考学习,接下来我们一起来看看吧。
首先明确的是self只有在类的方法中才会有,独立的函数或方法是不必带有self的。self在定义类的方法时是必须有的,虽然在调用时不必传入相应
图像阈值化(Binarization)旨在剔除掉图像中一些低于或高于一定值的像素,从而提取图像中的物体,将图像的背景和噪声区分开来。灰度化处理后的图像中,每个像素都只有一个灰度值,其大小表示明暗程度。阈值化处理可以将图像中的像素划分为两类颜色,常见的阈值化算法如公式(1)所示:
这篇文章主要介绍了python基础之爬虫入门,文中有非常详细的代码示例,对正在学习python爬虫的小伙伴们有很好地帮助哟,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008