Python中文分词库——jieba的用法

1.介绍

jieba是优秀的中文分词第三方库。由于中文文本之间每个汉字都是连续书写的,我们需要通过特定的手段来获得其中的每个单词,这种手段就叫分词。而jieba是Python计算生态中非常优秀的中文分词第三方库,需要通过安装来使用它。

jieba库提供了三种分词模式,但实际上要达到分词效果只要掌握一个函数就足够了,非常的简单有效。

安装第三方库需要使用pip工具,在命令行下运行安装命令(不是IDLE)。注意:需要将Python目录和其目录下的Scripts目录加到环境变量中。

使用命令pip install jieba安装第三方库,安装之后会提示successfully installed,告知是否安装成功。

分词原理:
简单来说,jieba库是通过中文词库的方式来识别分词的。它首先利用一个中文词库,通过词库计算汉字之间构成词语的关联概率,所以通过计算汉字之间的概率,就可以形成分词的结果。当然,除了jieba自带的中文词库,用户也可以向其中增加自定义的词组,从而使jieba的分词更接近某些具体领域的使用。

2.使用说明

jieba分词有三种模式:精确模式、全模式和搜索引擎模式。

简单说,精确模式就是把一段文本精确的切分成若干个中文单词,若干个中文单词之间经过组合就精确的还原为之前的文本,其中不存在冗余单词。精确模式是最常用的分词模式。

进一步jieba又提供了全模式,全模式是把一段中文文本中所有可能的词语都扫描出来,可能有一段文本它可以切分成不同的模式或者有不同的角度来切分变成不同的词语,那么jieba在全模式下把这样的不同的组合都挖掘出来,所以如果用全模式来进行分词,分词的信息组合起来并不是精确的原有文本,会有很多的冗余。

而搜索引擎模式更加智能,它是在精确模式的基础上对长词进行再次切分,将长的词语变成更短的词语,进而适合搜索引擎对短词语的索引和搜索,在一些特定场合用的比较多。

jieba库提供的常用函数:

  • jieba.lcut(s)

精确模式,能够对一个字符串精确地返回分词结果,而分词的结果使用列表形式来组织。例如:

>>> import jieba
>>> jieba.lcut("中国是一个伟大的国家")
Building prefix dict from the default dictionary ...
Dumping model to file cache C:\Users\ADMINI~1\AppData\Local\Temp\jieba.cache
Loading model cost 2.489 seconds.
Prefix dict has been built successfully.
['中国', '是', '一个', '伟大', '的', '国家']
  • jieba.lcut(s,cut_all=True)

全模式,能够返回一个列表类型的分词结果,但结果存在冗余。例如:

>>> import jieba #Python小白学习交流群:725638078
>>> jieba.lcut("中国是一个伟大的国家",cut_all=True)
['中国', '国是', '一个', '伟大', '的', '国家']

jieba.lcut_for_search(s)

搜索引擎模式,能够返回一个列表类型的分词结果,也存在冗余。例如:

>>> import jieba
>>> jieba.lcut_for_search("中华人民共和国是伟大的")
['中华', '华人', '人民', '共和', '共和国', '中华人民共和国', '是', '伟大', '的']
  • jieba.add_word(w)

向分词词库添加新词w

最重要的就是jieba.lcut(s)函数,完成精确的中文分词。

原文链接:https://www.cnblogs.com/xxpythonxx/p/17353158.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中文分词库——jieba的用法 - Python技术站

(0)
上一篇 2023年4月25日
下一篇 2023年4月25日

相关文章

  • python数组的复制与列表中的pop

    在Python中,数组和列表是常用的数据结构。本文将详细讲解如何复制数组和列表,并介绍列表中的pop方法。 复制数组 在Python中,可以使用copy()方法或者切片操作来复制数组。下面是两个示例: # 示例1:使用copy()方法复制数组 import array as arr a = arr.array(‘i’, [1, 2, 3, 4, 5]) b …

    python 2023年5月13日
    00
  • Python生成随机数的方法

    生成随机数在Python编程中是一个常见的需求。Python内置random模块提供多种生成随机数的方法,本文将详细讲解这些方法及其适用场景。 生成随机整数 使用random模块中的randint()方法可以生成指定范围内的随机整数。它接受两个参数,分别为最小值和最大值(包含在生成的随机数范围内)。 示例1: 生成1至100之间的随机整数。 import r…

    python 2023年6月3日
    00
  • python中hashlib模块用法示例

    Python中hashlib模块用法示例攻略 简介 hashlib是Python中使用哈希算法生成消息摘要的库。它包含多个哈希算法的实现,如MD5、SHA1、SHA224、SHA256、SHA384和SHA512等。它们的安全性依次递增,推荐使用SHA256及其以上算法。本文将详细讲解hashlib模块的用法示例。 安装 hashlib是Python标准库的…

    python 2023年6月2日
    00
  • python查询mysql中文乱码问题

    下面是详细讲解“python查询mysql中文乱码问题”的完整攻略。 问题描述 在使用 Python 查询 MySQL 数据库时,如果涉及到中文字符,有时会出现乱码问题。 原因分析 乱码问题的原因是因为 MySQL 默认使用的字符集是 Latin1,而 Python 默认使用的字符集是 utf-8。当应用程序向 MySQL 中插入中文字符时,会出现编码不一致…

    python 2023年5月20日
    00
  • python 实现二叉搜索树的四种方法

    Python 实现二叉搜索树的四种方法 二叉搜索树(Binary Search Tree,简称BST)是一棵二叉树,它具有以下性质: 若左子树不为空,则左子树上所有结点的值均小于它的根节点的值; 若右子树不为空,则右子树上所有结点的值均大于它的根节点的值; 左、右子树分别也为二叉搜索树; 没有键值相等的节点; 因其高效性,在排序、查找等问题中,常常使用二叉搜…

    python 2023年5月13日
    00
  • 如何在Python中使用ORM操作MySQL数据库?

    以下是如何在Python中使用ORM操作MySQL数据库的完整使用攻略,包括导入模块、连接数据库、创建模型、执行查询操作等步骤。同时,提供了两个示例以便更好理解如何在Python中使用ORM操作MySQL数据库。 步骤1:导入模块 在Python中,我们需要导入相应的模块来使用ORM操作MySQL数据库。以下是导入SQLAlchemy模块的基本语法: fro…

    python 2023年5月12日
    00
  • python: 判断tuple、list、dict是否为空的方法

    当我们编写Python程序时,经常需要判断tuple、list、dict是否为空,这个问题对于任何编程语言来说都是非常基础和常见的问题。 下面是几种Python中判断tuple、list、dict是否为空的方法: 判断tuple是否为空 1.使用if语句进行判断 t = () if not t: print("tuple为空") else…

    python 2023年5月14日
    00
  • Python实现平行坐标图的两种方法小结

    Python实现平行坐标图的两种方法小结 简介 平行坐标图(Parallel Coordinates)是数据可视化的一种常用方法,它可以有效地展示高维数据的特征和关系。本文将介绍Python中实现平行坐标图的两种方法,并且提供两个示例说明这两种方法的使用。 方法一:使用plotly库 安装plotly库 要使用plotly库,首先需要安装它。可以使用pip进…

    python 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部