python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python jieba库与中文分词

Python第三方库jieba库与中文分词全面详解

作者:Argonaut_

jieba库是一款优秀的Python第三方中文分词库,jieba支持三种分词模式:精确模式、全模式和搜索引擎模式,下面这篇文章主要给大家介绍了关于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库
pip install 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)

小结:精确模式因为不产生冗余,最为常用。

总结 

到此这篇关于Python第三方库jieba库与中文分词的文章就介绍到这了,更多相关Python jieba库与中文分词内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文