ThankNeko's Blog ThankNeko's Blog
首页
  • 操作系统

    • Linux基础
    • Linux服务
    • WindowsServer笔记
    • Ansible笔记
    • Shell笔记
  • 容器服务

    • Docker笔记
    • Kubernetes笔记
    • Git笔记
  • 数据库服务

    • MySQL笔记
    • ELK笔记
    • Redis笔记
  • 监控服务

    • Zabbix笔记
  • Web服务

    • Nginx笔记
    • Tomcat笔记
  • 数据处理

    • Kettle笔记
  • Python笔记
  • Bootstrap笔记
  • C笔记
  • C++笔记
  • Arduino笔记
  • 分类
  • 标签
  • 归档
  • 随笔
  • 关于
GitHub (opens new window)

Hoshinozora

尽人事,听天命。
首页
  • 操作系统

    • Linux基础
    • Linux服务
    • WindowsServer笔记
    • Ansible笔记
    • Shell笔记
  • 容器服务

    • Docker笔记
    • Kubernetes笔记
    • Git笔记
  • 数据库服务

    • MySQL笔记
    • ELK笔记
    • Redis笔记
  • 监控服务

    • Zabbix笔记
  • Web服务

    • Nginx笔记
    • Tomcat笔记
  • 数据处理

    • Kettle笔记
  • Python笔记
  • Bootstrap笔记
  • C笔记
  • C++笔记
  • Arduino笔记
  • 分类
  • 标签
  • 归档
  • 随笔
  • 关于
GitHub (opens new window)
  • Python笔记

    • 基础知识

    • 类与面向对象

    • 并发编程

    • Web编程

    • 模块笔记

      • PyInstaller
      • Jieba
        • 介绍
          • 安装方式
          • 分词原理
        • 使用
          • 精确模式
          • 全模式
          • 搜索引擎模式
          • 添加自定义单词
      • Kubernetes
    • 其他

  • C笔记

  • C++笔记

  • Arduino笔记

  • Dev
  • Python笔记
  • 模块笔记
Hoshinozora
2024-01-03
目录

Jieba

# 介绍

jieba库是一个第三方中文分词函数库。

由于中文文本中的单词不是通过空格或者标点符号分割,中文及类似语言存在一个重要的"分词"问题,所以就需要此类语言有一个分词库来进行分词。

# 安装方式

  • pip3 install jieba -i https://pypi.tuna.tsinghua.edu.cn/simple

# 分词原理

  • jieba库的分词原理是利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结构和动态规划方法找到最大概率的词组。除了默认的单词,它还提供增加自定义中文单词的功能。jieba还提供精确模式、全模式、搜索引擎模式三种分词模式。

# 使用

# 精确模式

将句子最精确地切开,适合文本分析。

jieba.lcut(str)

  • 该函数默认为精确模式,它会将字符串分割成等量的中文词组,返回结果是列表类型。
import jieba
text = "一心一意孤行"
data = jieba.lcut(text)
print(data)
>> ['一心', '一意孤行']
1
2
3
4
5

# 全模式

把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解决歧义。

jieba.lcut(str, cut_all=True)

  • 该函数指定cut_all=True参数则为全模式,它会将字符串中的所有可能的分词都列出来,冗余性最大,返回结果是列表类型。
import jieba
text = "一心一意孤行"
data = jieba.lcut(text, cut_all=True)
print(data)
>> ['一心', '一心一意', '一意', '一意孤行', '孤行']
1
2
3
4
5

# 搜索引擎模式

在精确模式基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

搜索引擎模式更倾向于寻找短词语,这种方式具有一定冗余度,但冗余度相比全模式较少。

jieba.lcut_for_search(str)

  • 该函数为搜索引擎模式,该模式首先执行精确模式,然后再对其中长词进一步切分获得最终结果。
import jieba
text = "一心一意孤行"
data = jieba.lcut_for_search(text)
print(data)
>> ['一心', '一意', '孤行', '一意孤行']
1
2
3
4
5

# 添加自定义单词

当默认词库不能满足我们的需求时,比如词库中没有一些网络热词,我们可以先添加自定义单词再进行分词查找。

jieba.add_word()

  • 该函数用于添加自定义单词。
import jieba
text = "一心一意孤行奥利给"
print(jieba.lcut(text))
>> ['一心', '一意孤行', '奥利', '给']
jieba.add_word("奥利给")
text = "一心一意孤行奥利给"
print(jieba.lcut(text))
>> ['一心', '一意孤行', '奥利给']
1
2
3
4
5
6
7
8
#Python#模块#Jieba#分词
PyInstaller
Kubernetes

← PyInstaller Kubernetes→

最近更新
01
二〇二五年四月十七日随笔
04-17
02
二〇二五年四月十六日随笔
04-16
03
二〇二五年四月九日随笔
04-09
更多文章>
Theme by Vdoing | Copyright © 2022-2025 Hoshinozora | MIT License
湘ICP备2022022820号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式