首页 > 其他分享 >中文分词学习

中文分词学习

时间:2024-12-10 22:28:18浏览次数:9  
标签:seg jieba cut text list 中文 学习 分词

1.安装 jieba 库

!pip install jieba

     jieba 库是用于中文分词的工具,它通过精确的分词算法来处理文本。通过分词可以将中文句子拆分成单独的词语,这对于自然语言处理任务非常重要,比如文本分类、情感分析、关键词提取。

2.中文文本分词处理

import jieba

text = "我喜欢学习自然语言处理"
seg_list = jieba.cut(text)
print(" ".join(seg_list))

     jieba.cut(text) 是用来对中文文本 text 进行分词的函数,返回的是生成器(seg_list),包含文本中的每个分词。cut 函数的默认模式是精确模式,它会将文本切分为尽可能准确的词语。" ".join(seg_list) 会把分词列表中的每个词语连接成一个字符串,中间以空格分隔。通过 jieba.cut(),jieba 将这个句子切割成了几个有意义的词语。由于 jieba 使用的是基于词典的分词算法,它能够识别出 "自然语言" 是词汇,而不是将其拆分为 "自然" 和 "语言"。

3.全模式分词

seg_list = jieba.cut(text, cut_all=True)
print(" ".join(seg_list))

    cut_all=True 参数表示启用全模式分词(而不是默认的精确模式)。在全模式下jieba 会将文本尽可能地切分成所有可能的词语,而不仅仅是最精确的分词,适用于对词语进行粗略筛选。

4.搜索引擎模式分词

seg_list = jieba.cut_for_search(text)
print(" ".join(seg_list))

    搜索引擎模式分词,切分出词汇粒度介于精确模式和全模式之间。既会尽可能精确切分出常见词语,同时也会尝试切分出一些短词或未登录词,以增强搜索时的召回率。提升搜索引擎的召回率,它比精确模式更加细致,比全模式更加精简,适用于文本搜索、索引。

5.词性标注

import jieba.posseg as pseg

text = "我喜欢学习自然语言处理"
words = pseg.cut(text)
for word, flag in words:
    print(f'{word} {flag}')

     jieba.posseg 是 jieba 库的子模块,用于分词和词性标注。通过 pseg.cut() 方法进行文本分词,并标注每个词的词性。pseg.cut(text)方法会返回生成器,它不仅会返回切分后的词,还会为每个词返回词性,生成words 是包含词和词性标注的元组。flag表示词性标注。jieba 提供多种常见的词性标注(如名词、动词、形容词等)。

6.关键词提取

import jieba.analyse

text = "我喜欢学习自然语言处理,尤其喜欢中文分词技术。"
keywords = jieba.analyse.extract_tags(text, topK=5, withWeight=True)
for word, weight in keywords:
    print(f'{word} {weight}')

     jieba.analyse是jieba库的子模块,用于关键词提取。从文本中自动挑选出最具代表性和信息量大词语的过程,通常用于信息检索、文本挖掘等领域。topK指定返回的关键词数量。withWeight=True指定返回的关键词是否包括权重(每个关键词的评分)。weight是关键词的权重(权重越高,表示该词语在文本中的重要性越大)。

    extract_tags 方法是基于 TF-IDF(Term Frequency-Inverse Document Frequency) 算法进行关键词提取的。TF-IDF 是常用词频统计方法,能够通过计算词语在文本中的出现频率和在其他文档中的出现情况来评估词语的重要性。

7.自定义词典

import jieba

# 加载自定义词典
jieba.load_userdict("userdict.txt")

# 测试分词效果
text = "李四和腾讯正在讨论深度学习的技术应用。"
seg_list = jieba.cut(text)
print("分词结果:" + "/ ".join(seg_list))

     自定义词典可以提高 jieba 分词的准确性,特别是在遇到人名、地名、行业术语等特殊词汇时。userdict.txt 是文本文件,其中包含jieba 分词时识别的自定义词汇。文件的格式通常是每行一个词汇,并且每个词汇后面可以附带一个权重值(如果不指定权重,则使用默认权重),每行一个词,词语后面可以加上词频(可选)。

     jieba.cut(text)使用 jieba.cut 方法对文本 text 进行分词处理。返回生成器(generator),通过 join 可以将其转化为可读的字符串。"/ ".join(seg_list)将分词结果从生成器中提取出来,并使用斜杠 (/) 连接每个词。最终的分词结果是一个按 / 分隔的词语列表。

标签:seg,jieba,cut,text,list,中文,学习,分词
From: https://blog.csdn.net/m0_56065966/article/details/144348663

相关文章

  • 力扣-图论-8【算法学习day.58】
    前言###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!习题1.引爆最多的炸弹题目链接:2101.引爆最多的炸弹-力扣(Le......
  • python学习笔记—5—标识符和运算符
    1.标识符(1)定义             用户在编程时所使用的一系列名字,用于给变量、类、方法等命名(2)标识符命名规则<1>内容限定    标识符的命名中只能由数字、英文、中文、下划线组成,其他都不被允许使用注意:1.不推荐中文命名      2.数字......
  • #学习C语言选择结构和循环结构的感悟
     在深入学习C语言的过程中,我逐渐领略到了选择结构和循环结构的重要性。这两种结构不仅是编程语言的基础,更是我们解决问题的重要工具。它们如同一座座桥梁,连接着我们的思维和计算机之间的交互,使我们能够用代码来实现复杂的逻辑和功能。 **一、选择结构——决策的智慧** ......
  • Java学习打卡-Day8
    抽象类与接口抽象方法只有声明,没有具体的实现。必须用abstract关键字进行修饰。抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),默认情况下为public。抽象类包含抽象方法的类。只是用abstract修饰的话也是抽象类。可......
  • 冲刺金三银四!GitHub中文社区高热度的Java面试题被我整理好了!
     面对已经过去的金九银十很多小伙伴都受到了很大的挫折!最近收到一个小伙伴金九银十在阿里的面试流程完全被吊打,和我一起看看阿里都问了什么吧!添加图片注释,不超过140字(可选)小编在这里也简单的看了一下牛客网阿里招聘的一些评价,难度指数普遍在四星以上!!!!添加图片注......
  • Python-多种机器学习算法-二分类—多指标展示-雷达图-热图-柱状图
    旨在利用多种机器学习算法实现对乳腺癌的诊断。并使用准确率、精确率、召回率、F1—score和ROC-AUC等指标进行评价。并使用雷达图、柱状图等进行展示。 废话不多说先上结果图: 本人代码是使用notebook编写的,这里直接放上总代码!!!importpandasaspdimportnumpyasnpimp......
  • 凸包学习笔记
    凸包学习笔记内容好多啊。概念\(n\)个点形成的凸包,指的是在坐标系上这\(n\)个点构成的包含所有点的,以这\(n\)个点中的一些为顶点的极小的凸多边形。而一个凸包又由两部分组成,分为上凸壳和下凸壳(其实和凸包区分性不大),可以理解为这个凸多边形的上半部分和下半部分。常见场......
  • 除了传统的GPU(图形处理单元),目前有几种不同的计算架构和硬件平台可以作为替代方案,用于
    除了传统的GPU(图形处理单元),目前有几种不同的计算架构和硬件平台可以作为替代方案,用于加速图形渲染、科学计算、机器学习和其他高并行计算任务。这些替代方案在某些应用场景下能够提供更高效的计算性能或更低的功耗。以下是一些主要的替代方案:1. FPGA(现场可编程门阵列,Field-Progr......
  • 技术框架中对高级查询多对多查询的学习
    高级查询之一对多查询查询条件根据游戏名称,查询游戏账号信息我们在之前创建的映射器接口GameMapper.java中添加接口方法,如下: /***根据游戏名查询游戏账号*@paramname游戏名*@return游戏实体类*/publicGameEntityselectGameByName(Str......
  • 网络安全基础知识入门!网络安全学习教程
    当我们学习网络安全的时候,需要对它的基础知识做一个简单的了解,这样对以后的学习和工作都会有很大的帮助。本篇文章为大家总结了网络安全基础知识入门的内容,快跟着小编来学习吧。计算机网络计算机网络是利用通信线路将不同地理位置、具有独立功能的计算机和通信设备连接起......