jieba库在Python中如何进行中文分词操作?

2026-05-17 01:551阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1264个文字,预计阅读时间需要6分钟。

jieba库在Python中如何进行中文分词操作?

目录+jieba库简介

1.什么是jieba库?

2.安装

3.基本使用

1. 三种模式 2. 使用语法 2.1 对词语组的基本操作 2.2 关键字提取 2.3 词性标注 2.4 返回词性在原文中的结束位置

目录
  • jieba库
    • 一、 简介
      • 1、 是什么
      • 2、 安装
    • 二、 基本使用
      • 1、 三种模式
      • 2、 使用语法
        • 2.1 对词组的基本操作
        • 2.2 关键字提取
        • 2.3 词性标注
        • 2.4 返回词语在原文的起止位置

jieba库 一、 简介 1、 是什么

(1)jieba是优秀的中文分词第三方库

  • 中文文本需要通过分词获得单个的词语
  • jieba是优秀的中文分词第三方库,需要额外安装
  • jieba库提供三种分词模式,最简单只需掌握一个函数

(2)jieba分词的原理

  • jieba分词依靠中文词库
  • 利用一个中文词库,确定汉字之间的关联概率
  • 汉字间概率大的组成词组,形成分词结果
  • 除了分词,用户还可以添加自定义的词组
2、 安装

pip install jieba 导入 import jieba

官方文档

二、 基本使用 1、 三种模式

精确模式:

  • 就是把一段文本精确地切分成若干个中文单词,若干个中文单词之间经过组合,就精确地还原之前的文本。其中不存在冗余单词

  • str = "你好呀,我叫李华!多多关照!" print(jieba.lcut(str))

全模式:

  • 将一段文本中所有可能的词语都扫描出来,可能有一段文本,它可以切分成不同的模式,或者有不同的角度来切分变成不同的词语,在全模式下,jieba库会将各种不同的组合都挖掘出来。分词后的信息组合起来会有冗余,不再是原来的文本

  • str = "你好呀,我叫李华!多多关照!" print(jieba.lcut(str, cut_all=True))

搜索引擎模式:

  • 在精确模式的基础上,对发现的那些长的词语,我们会对它再次切分,进而适合搜索引擎对短词语的索引和搜索。也有冗余

  • str = "你好呀,我叫李华!多多关照!" print(jieba.lcut_for_search(str))

2、 使用语法 2.1 对词组的基本操作
  • 添加

    • str = "你好呀,我叫李华!多多关照!" jieba.add_word("你") print(jieba.lcut(str))

  • 删除

    • str = "你好呀,我叫李华!多多关照!" jieba.del_word("李华") print(jieba.lcut(str))

  • 加载自定义词典

    jieba库在Python中如何进行中文分词操作?

    • str = "你好呀,我叫李华!多多关照!" jieba.load_userdict("./dict.txt") # 文件编码必须为 utf-8 print(jieba.lcut(str))

  • 调整词出现的频率

    • str = "你好呀,我叫李华!多多关照!" jieba.suggest_freq(("李", "华"), True) print(jieba.lcut(str))

2.2 关键字提取

TFIDF算法

import jieba.analyse # 导包 jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=()) jieba.analyse.TFIDF(idf_path=None) # 创建一个新的 TFIDF 实例,idf_path是指指定 IDF 频率文件的路径

参数:

  • sentence:要提取的文本
  • topK:返回多少个具有最高TF/IDF权重的关键字。默认值为 20
  • withWeight:是否返回关键字的TF/IDF权重。默认为假
  • allowPOS:过滤包含POS(词性)的单词。空无过滤,可以选择['ns', 'n', 'vn', 'v','nr']

TextRank算法

jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v')) # 有默认词性 jieba.analyse.TextRank() # 新建自定义 TextRank 实例 2.3 词性标注

jieba.posseg.POSTokenizer(tokenizer=None)

新建自定义分词器,tokenizer 参数可指定内部使用的 jieba.Tokenizer 分词器

jieba.posseg.dt 为默认词性标注分词器

import jieba.posseg str = "你好呀,我叫李华!多多关照!" pt = jieba.posseg.POSTokenizer() print(pt.lcut(str)) # 得到 pair键值对,使用遍历取值 # print(jieba.posseg.cut(str)) # 作用一样 for i, k in ps.lcut(str): print(i, k) 2.4 返回词语在原文的起止位置

jieba.tokenize(arg, mode=None)

mode有搜索模式(search)和默认模式(default)

import jieba str = "你好呀,我叫李华!多多关照!" g = jieba.tokenize(str, mode="search") # 生成器 for i in g: print(i)

本文共计1264个文字,预计阅读时间需要6分钟。

jieba库在Python中如何进行中文分词操作?

目录+jieba库简介

1.什么是jieba库?

2.安装

3.基本使用

1. 三种模式 2. 使用语法 2.1 对词语组的基本操作 2.2 关键字提取 2.3 词性标注 2.4 返回词性在原文中的结束位置

目录
  • jieba库
    • 一、 简介
      • 1、 是什么
      • 2、 安装
    • 二、 基本使用
      • 1、 三种模式
      • 2、 使用语法
        • 2.1 对词组的基本操作
        • 2.2 关键字提取
        • 2.3 词性标注
        • 2.4 返回词语在原文的起止位置

jieba库 一、 简介 1、 是什么

(1)jieba是优秀的中文分词第三方库

  • 中文文本需要通过分词获得单个的词语
  • jieba是优秀的中文分词第三方库,需要额外安装
  • jieba库提供三种分词模式,最简单只需掌握一个函数

(2)jieba分词的原理

  • jieba分词依靠中文词库
  • 利用一个中文词库,确定汉字之间的关联概率
  • 汉字间概率大的组成词组,形成分词结果
  • 除了分词,用户还可以添加自定义的词组
2、 安装

pip install jieba 导入 import jieba

官方文档

二、 基本使用 1、 三种模式

精确模式:

  • 就是把一段文本精确地切分成若干个中文单词,若干个中文单词之间经过组合,就精确地还原之前的文本。其中不存在冗余单词

  • str = "你好呀,我叫李华!多多关照!" print(jieba.lcut(str))

全模式:

  • 将一段文本中所有可能的词语都扫描出来,可能有一段文本,它可以切分成不同的模式,或者有不同的角度来切分变成不同的词语,在全模式下,jieba库会将各种不同的组合都挖掘出来。分词后的信息组合起来会有冗余,不再是原来的文本

  • str = "你好呀,我叫李华!多多关照!" print(jieba.lcut(str, cut_all=True))

搜索引擎模式:

  • 在精确模式的基础上,对发现的那些长的词语,我们会对它再次切分,进而适合搜索引擎对短词语的索引和搜索。也有冗余

  • str = "你好呀,我叫李华!多多关照!" print(jieba.lcut_for_search(str))

2、 使用语法 2.1 对词组的基本操作
  • 添加

    • str = "你好呀,我叫李华!多多关照!" jieba.add_word("你") print(jieba.lcut(str))

  • 删除

    • str = "你好呀,我叫李华!多多关照!" jieba.del_word("李华") print(jieba.lcut(str))

  • 加载自定义词典

    jieba库在Python中如何进行中文分词操作?

    • str = "你好呀,我叫李华!多多关照!" jieba.load_userdict("./dict.txt") # 文件编码必须为 utf-8 print(jieba.lcut(str))

  • 调整词出现的频率

    • str = "你好呀,我叫李华!多多关照!" jieba.suggest_freq(("李", "华"), True) print(jieba.lcut(str))

2.2 关键字提取

TFIDF算法

import jieba.analyse # 导包 jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=()) jieba.analyse.TFIDF(idf_path=None) # 创建一个新的 TFIDF 实例,idf_path是指指定 IDF 频率文件的路径

参数:

  • sentence:要提取的文本
  • topK:返回多少个具有最高TF/IDF权重的关键字。默认值为 20
  • withWeight:是否返回关键字的TF/IDF权重。默认为假
  • allowPOS:过滤包含POS(词性)的单词。空无过滤,可以选择['ns', 'n', 'vn', 'v','nr']

TextRank算法

jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v')) # 有默认词性 jieba.analyse.TextRank() # 新建自定义 TextRank 实例 2.3 词性标注

jieba.posseg.POSTokenizer(tokenizer=None)

新建自定义分词器,tokenizer 参数可指定内部使用的 jieba.Tokenizer 分词器

jieba.posseg.dt 为默认词性标注分词器

import jieba.posseg str = "你好呀,我叫李华!多多关照!" pt = jieba.posseg.POSTokenizer() print(pt.lcut(str)) # 得到 pair键值对,使用遍历取值 # print(jieba.posseg.cut(str)) # 作用一样 for i, k in ps.lcut(str): print(i, k) 2.4 返回词语在原文的起止位置

jieba.tokenize(arg, mode=None)

mode有搜索模式(search)和默认模式(default)

import jieba str = "你好呀,我叫李华!多多关照!" g = jieba.tokenize(str, mode="search") # 生成器 for i in g: print(i)