jieba库

222 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第39天,点击查看活动详情

jieba

介绍

jieba 是目前表现较为不错的 Python 中文分词组件,它主要有以下特性:

  • 中文文本需要通过分词获得单个的词语
  • jieba需要额外安装
  • jieba库提供三种分词模式

jieba库的分词原理:利用一个中文词库,确定汉字之间的关联概率,汉字间概率大的组成词组,形成分词结果

安装

直接pip install jieba

精准模式

将语句最精确的切分,不存在冗余数据,适合做文本分析。

    精确模式
    jieba.cut(text, cut_all=False

全模式

将语句中所有可能是词的词语都切分出来,速度很快,但是存在冗余数据。

全模式
jieba.cut(text, cut_all=True)

全模式与精确模式的不同在于,全模式存在冗余数据,是将存在可能的词语全部切分出来,从第一个字到最后一个字遍历作为词语第一个字。例如:以“吉”开头的词语包括“吉林”,“吉林省”,以“长”开头的名词包括“长春”“长春市”

搜索引擎模式

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

搜索引擎模式
jieba.lcut_for_search(text)

示例:

import jieba
ls = jieba.lcut_for_search("全国计算机等级考试")
print(ls)

image.png

添加分词词典

add_word() 
在分词词典中增加新词

示例:

import jieba
jieba.add_word("等级考试")
ls = jieba.lcut_for_search("全国计算机等级考试")
print(ls)

image.png

小结

如果希望对文本精准分词,不产生冗余,那么选择精准模式就行。如果希望保证准确率,那么就选择全模式。