尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

速通机器学习 13|jieba 结巴分词库基础使用

速通机器学习 13|jieba 结巴分词库基础使用 前言在自然语言处理 (NLP) 任务中中文不存在天然空格分隔词语无法直接按空格切分文本。jieba结巴是 Python 生态最主流、轻量高效的中文分词工具广泛用于文本分类、情感分析、关键词提取、词云生成等机器学习文本预处理场景。本章完整讲解安装、四种分词模式、核心功能、词性标注、停用词过滤与实战代码。一、jieba 安装安装命令# 稳定版安装 pip install jieba #国内镜像加速 pip install jieba -i https://pypi.tuna.tsinghua.edu.cn/simple二、四大分词模式核心考点1. 精确模式默认模式cut_allFalse函数jieba.cut(text, cut_allFalse)特点精准切分句子无冗余分词适合文本分析、建模预处理。示例import jieba sentence 支持向量机与Kmeans是经典机器学习算法 seg jieba.cut(sentence, cut_allFalse) print(/.join(seg)) #输出支持向量机/与/Kmeans/是/经典/机器学习/算法2. 全模式cut_allTrue函数jieba.cut(text, cut_allTrue)特点扫描文本中所有可能词语组合分出全部候选词汇存在大量重复、冗余分词适合词库构建、词典挖掘。seg_all jieba.cut(sentence, cut_allTrue) print(/.join(seg_all)) # 输出支持/向量/向量机/与/Kmeans/是/经典/机器/学习/机器学习/算法3. 搜索引擎模式jieba.cut_for_search()特点先精确分词再对长词二次细切分兼顾检索匹配需求适用于搜索引擎、关键词检索场景。seg_search jieba.cut_for_search(sentence) print(/.join(seg_search)) # 输出支持/向量/向量机/与/Kmeans/是/经典/机器/学习/机器学习/算法4. 返回列表简化函数lcut()/lcut_for_search()无需循环迭代直接返回分词结果列表工程代码最常用word_list jieba.lcut(sentence) print(word_list) # [支持向量机, 与, Kmeans, 是, 经典, 机器学习, 算法]三、自定义词典默认词库缺少专业名词、行业术语会出现错误切分可加载自定义词典强制正确分词。1. 词典文件格式userdict.txt每行格式词语 词频(可选) 词性(可选)#支持向量机 10 n DBSCAN 8 eng Kmeans 8 eng2. 代码加载自定义词典# 加载外部自定义词典 jieba.load_userdict(userdict.txt) text DBSCAN与Kmeans、支持向量机都是聚类与分类算法 print(jieba.lcut(text)) # 未加载词典会拆分长词加载后完整识别专业术语3. 动态添加 / 删除词汇无需文件# 临时添加词汇 jieba.add_word(密度聚类) # 删除词汇 jieba.del_word(密度聚类)四、词性标注jieba.posseg区分名词、动词、形容词、英文、数字等词性可筛选指定词性词汇如仅保留名词。常用词性标识n普通名词、nr人名、ns地名、eng英文单词、v动词、a形容词import jieba.posseg as pseg text SVM、Kmeans和DBSCAN属于机器学习经典模型 words pseg.lcut(text) for w in words: print(f词语{w.word}词性{w.flag}) #筛选仅保留名词与英文词汇 filter_words [w.word for w in words if w.flag in (n, eng)] print(filter_words)五、停用词过滤文本预处理必备助词、介词、连词的、和、是、与、都无实际语义建模前需剔除完整预处理流程示例import jieba # 加载停用词表 stop_words set() with open(stopwords.txt, r, encodingutf-8) as f: for word in f.readlines(): stop_words.add(word.strip()) # 原始文本分词 raw_text DBSCAN和Kmeans都是优秀的无监督聚类算法 cut_words jieba.lcut(raw_text) # 过滤停用词、单字 result [w for w in cut_words if w not in stop_words and len(w) 2] print(result) #过滤后[DBSCAN, Kmeans, 优秀, 无监督, 聚类, 算法]六、完整综合实战代码import jieba import jieba.posseg as pseg import jieba.analyse # 加载专业自定义词典 jieba.load_userdict(ml_dict.txt) 待处理文本 content 支持向量机SVM、Kmeans、DBSCAN是机器学习经典算法密度聚类可自动识别噪声样本 # 精确分词 seg_list jieba.lcut(content) print(基础分词结果, seg_list) # 词性标注筛选名词、专业英文 pos_res pseg.lcut(content) filter_word [w.word for w in pos_res if w.flag in (n, eng) and len(w.word) 1] print(词性过滤后词汇, filter_word) # 提取TOP3关键词 key jieba.analyse.extract_tags(content, topK3) print(文本核心关键词, key)七、章节总结jieba 是中文自然语言处理的核心预处理工具也是机器学习文本任务的基础依赖库本章核心知识点总结如下四大分词模式精确模式适用于常规文本建模全模式遍历所有候选词汇搜索引擎模式适配检索场景lcut系列函数为工程常用写法可直接返回分词列表。自定义词典可手动加载外部词典或动态添加专业词汇有效解决机器学习专业术语、新词被错误切分的问题适配垂直领域文本处理。拓展核心功能支持词性标注可精准筛选名词、英文等有效词汇搭配停用词过滤能剔除无意义虚词完成文本降噪预处理。
返回列表