Python受欢迎的原因之一就是其计算生态丰富,据不完全统计,Python 目前为止有约13万+的第三方库。
本系列将会陆续整理分享一些有趣、有用的第三方库。
-
通过百度网盘获取:
链接:https://pan.baidu.com/s/1FSGLd7aI_UQlCQuovVHc_Q?pwd=mnsj
提取码:mnsj
-
前往GitHub获取:
https://github.com/returu/Python_Ecosystem
pip install jieba3
-
构建分词器实例:
通过 jieba3.jieba3
() 创建分词器实例,并可以根据需要指定模型和HMM选项,支持以下参数:
-
model
: 分词模型选项,分别对应不同大小和功能的模型,可选值为
small
(占用内存较小的模型)
、base
(默认模型)
、large
(支持繁体分词更好的模型);
-
use_hmm
: 设置是否开启
HMM
新词发现,可选值为
True
(默认)
、False。
HMM新词发现是指在中文分词过程中,对于未登录词(即那些在词典中不存在的新词)的识别和处理。通过分析上下文关系,HMM能够预测未知词汇的可能性分布,从而帮助系统更好地理解和处理新兴网络语言或专业术语。
import jieba3
tokenizer = jieba3.jieba3() # 默认为 base 模型,开启 HMM 新词发现
tokenizer = jieba3.jieba3(model="small") # 使用 small 模型
tokenizer = jieba3.jieba3(model="base") # 使用 base 模型
tokenizer = jieba3.jieba3(model="large") # 使用 large 模型
tokenizer = jieba3.jieba3(use_hmm=False) # 关闭 HMM 新词发现
tokenizer = jieba3.jieba3(use_hmm=True) # 开启 HMM 新词发现
-
分词模式:
jieba3支持文档模式和查询模式,分别对应于jieba的精确模式和搜索引擎模式,适合不同的应用场景。
-
文档模式:
# 开启HMM新词发现
tokenizer = jieba3.jieba3()
tokenizer.cut_text(txt)
# ['小明', '畢業', '於', '中國', '科學院', '大學']
jieba.lcut(txt)
# ['小明', '畢業', '於', '中國', '科學院', '大學']
tokenizer = jieba3.jieba3(model='large')
tokenizer.cut_text(txt)
# ['小明', '畢業', '於', '中國科學院', '大學']
# --------------------- #
# --------------------- #
# 关闭HMM新词发现
tokenizer = jieba3.jieba3(model='base' , use_hmm=False)
tokenizer.cut_text(txt)
# ['小', '明', '畢', '業', '於', '中', '國', '科', '學', '院', '大', '學']
jieba.lcut(txt , HMM=False)
# ['小', '明', '畢', '業', '於', '中', '國', '科', '學', '院', '大', '學']
tokenizer = jieba3.jieba3(model='large' , use_hmm=False)
tokenizer.cut_text(txt)
# ['小', '明', '畢業', '於', '中國科學院', '大學']
-
查询模式:
# 开启HMM新词发现
tokenizer = jieba3.jieba3()
tokenizer.cut_query(txt)
# ['小明', '畢業', '於', '中國', '科學院', '大學']
jieba.lcut_for_search(txt)
['小明', '畢業', '於', '中國', '科學院', '大學']
tokenizer = jieba3.jieba3(model='large')
tokenizer.cut_query(txt)
['小明', '畢業', '於', '中國', '科學', '學院', '科學院', '中國科學院', '大學']
# --------------------- #
# --------------------- #
# 关闭HMM新词发现
tokenizer = jieba3.jieba3(model='base' , use_hmm=False)
tokenizer.cut_query(txt)
# ['小', '明', '畢', '業', '於', '中', '國', '科', '學', '院', '大', '學']
jieba.lcut_for_search(txt, HMM=False)
# ['小', '明', '畢', '業', '於', '中', '國', '科', '學', '院', '大', '學']
tokenizer = jieba3.jieba3(model='large' , use_hmm=False)
tokenizer.cut_query(txt)
# ['小', '明', '畢業', '於', '中國', '科學', '學院', '科學院', '中國科學院', '大學']
更多内容,可以前往官方GitHub页面查看:
https://github.com/yansh97/jieba3


本篇文章来源于微信公众号: 码农设计师