jieba是Python中最流行的中文分词库,采用基于前缀词典实现的高效分词算法,支持多种分词模式,是中文自然语言处理(NLP)的基础工具。 核心特性
2. jieba.cut基础分词函数
import jieba
seg_list = jieba.cut("这是一个测试文本", cut_all=False)参数说明
参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
sentence | str | 必需 | 待分词的字符串 |
cut_all | bool | False | 是否采用全模式 |
HMM | bool | True | 是否使用HMM模型 |
use_paddle | bool | False | 是否使用PaddlePaddle模型(需额外安装) |
返回值 关键点:jieba.cut()返回的是生成器(Generator),不是列表或元组。
这意味着:生成器只能被迭代一次,之后就会耗尽,无法直接索引(如seg_list[0]会报错),无法直接获取长度(如len(seg_list)会报错),内存效率高,适合处理大文本,但需要特别注意使用方式。
jieba.lcut(sentence, cut_all=False, HMM=True, use_paddle=False) 功能:与cut()功能相同,但直接返回列表而非生成器,解决了生成器只能迭代一次的问题,便于多次使用分词结果。
jieba.cut_for_search(sentence, HMM=True) 功能:搜索引擎模式分词,对长词再次切分以提高召回率,在精确模式基础上,对未在词典中找到的长词进行二次切分
jieba.posseg.cut(sentence, HMM=True) 功能:提供词性标注功能,基于精确模式分词并标注词性
jieba.add_word(word, freq=None, tag=None) 功能:向分词词典中添加新词 参数: word:要添加的词语; freq:词频(可选),用于调整词语切分优先级; tag:词性(可选)
jieba.load_userdict(file_name) 功能:加载自定义词典文件 文件格式:每行一个词,格式为:词语 词频 词性(词频和词性可选)
jieba.tokenize(sentence, mode=‘default’, HMM=True) 功能:返回词语在原文中的位置信息 参数:mode:‘default’(精确模式)或’search’(搜索引擎模式) 返回值:元组列表,每个元组包含(词语, 起始位置, 结束位置)
jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=()) 功能:基于TF-IDF算法提取关键词 参数: topK:返回关键词数量 withWeight:是否返回权重值 allowPOS:仅提取指定词性的词
jieba.enable_parallel(num) 功能:利用多核CPU加速分词处理,启用并行分词,参数为并行进程数,程序结束可以调用jieba.disable_parallel()关闭并行分词
pip install jieba