Jieba学习笔记

本文详细介绍了jieba分词库的使用,包括中文分词的三种方法,Jieba的特点,如支持四种分词模式、自定义词典等。此外,还详细讲解了Jieba的分词算法,以及其提供的关键词提取功能,如基于TF-IDF和TextRank的算法,并提供了代码示例。
摘要由CSDN通过智能技术生成

Jieba学习笔记

一、中文分词

  中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词。最常见的分词算法可以分为三大类:基于字符串匹配的分词方法、基于理解的分词方法、基于统计(机器学习)的分词方法。

  • 基于字符串匹配的分词方法:这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功
    • 正向最大匹配法
    • 逆向最大匹配法
    • 最少切分
    • 双向最大匹配法——进行由左到右、由右到左两次扫描
  • 基于理解的分词方法:通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象,通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统获得有关词、句子等的句法和语义信息来对分词歧义进行判断。这种分词方法需要使用大量的语言知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段。
  • 基于统计的分词方法:给出大量已经分词的文本,利用统计机器学习模型学习词语切分的规律(称为训练),从而实现对未知文本的切分。例如最大概率分词方法和最大熵分词方法等。随着大规模语料库的建立,统计机器学习方法的研究和发展,基于统计的中文分词方法渐渐成为了主流方法。

二、Jieba的特点

  • 1.支持四种分词模式:
      1. 精确模式,试图将句子最精确地切开,适合文本分析;
      1. 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
      1. 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
      1. paddle模式,利用PaddlePaddle深度学习框架,训练序列标注(双向GRU)网络模型实现分词。同时支持词性标注。
  • 2.支持繁体分词
  • 3.支持自定义词典
  • 4.MIT授权协议

三、Jieba的算法

  • 基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)
  • 采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合
  • 对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法

在这里插入图片描述

四、Jieba的功能

4.1 分词

  待分词的字符串可以是unicode或UTF-8字符串、GBK字符串。直接输入 GBK 字符串,可能无法预料地错误解码成 UTF-8。

  • jieba.cut方法接受三个输入参数:需要分词的字符串;cut_all用来控制是否采用全模式;HMM用来控制是否使用HMM模型。
  • jieba.cut_for_search方法接受两个参数:需要分词的字符串;是否使用 HMM 模型。该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细。
  • jieba.cut以及jieba.cut_for_search返回的结构都是一个可迭代的generator,可以使用for循环来获得分词后得到的每一个词语(unicode),或者用jieba.lcut以及jieba.lcut_for_search直接返回list。
  • jieba.Tokenizer(dictionary=DEFAULT_DICT)新建自定义分词器,可用于同时使用不同词典。jieba.dt为默认分词器,所有全局分词相关函数都是该分词器的映射。
# encoding=utf-8
import jieba

mytext1 = "雁归有时,潮来有汛,惟独明月不再升起。人生是一场梦吗?不,梦醒之后还可以忘却,人生可以忘却吗?人生是一部书吗?" \
         "不,书成之后还可以删改,人生可以删改吗?人生从来没有蓝图,度过了人生,才完成了人生。历史从来都是即兴之作。" \
         "而当他成为历史,才被千秋万代喋喋不休地评论。而无论是怎样评论吧,都不能改变它的曾经存在,只有从偶然中寻找必然," \
         "使它顺理成章。历史是人的足迹。但并不是所有留下足迹的人都敢于正视自己的历史。历史是无法重写的。"
mytext2 = "韩新月认为,追求美是人的本性,我相信人们本能地而非理智地向往纯美纯情的意境,美不必强迫人接受。不然,“落霞与孤鹜齐飞," \
          "秋水共长天一色”那样的前人名句也就不会这样传之久远,深入人心。"

for text in [mytext1,mytext2]:
    print("原文本:" + text)

    seg_list = jieba.cut(text, cut_all=True)
    print("全模式:" + "/ ".join(seg_list))  # 全模式

    seg_list = jieba.cut(text, cut_all=False)
   
jieba的字典可以在其GitHub仓库中下载。jieba是一个支持中文分词的Python库,它支持三种分词模式:精确模式、全模式和搜索引擎模式。你可以根据自己的需求选择使用其中一种模式进行分词。此外,jieba还支持自定义词典,并且可以用于统计词频等操作。 要下载jieba字典,你可以前往jieba的GitHub仓库地址,从中下载所需的字典文件。如果你还没有安装jieba库,可以使用命令行输入"pip install jieba"进行自动安装。 在下载jieba字典后,你可以使用jieba库的相关函数来进行分词和处理文本。例如,可以使用jieba.lcut函数对文本进行精确分词,并使用统计方法来计算词频。你可以根据词频来分析文本中各个词语的出现频次。 希望这个回答对你有帮助。如果你还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [少年街霸图标下载](https://download.csdn.net/download/weixin_38724611/13774363)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python学习笔记之利用jieba库进行词频分析](https://blog.csdn.net/plasma007/article/details/102642723)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值