1、jieba的特性

  • 支持多种分词模式
  • 精确模式
  • 全模式
  • 搜索引擎模式
  • 支持中文繁体
  • 支持用户自定义词典

2、精确模式分词

精确模式是最常用的分词方法。由下图的分词结果可以看出,这里的分词结果较为符合预期结果。

>>> import jieba
>>> content = "工信部女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作"
>>> jieba.cut(content, cut_all=False)

# 将返回一个生成器对象
<generator object Tokenizer.cut at 0x000002B082140270>

# 若需直接返回列表内容,使用jieba.lcut即可
>>> jieba.lcut(content, cut_all=False)
Building prefix dict from the default dictionary ...
Dumping model to file cache C:\Users\ADMINI~1\AppData\Local\Temp\jieba.cache
Loading model cost 0.549 seconds.
Prefix dict has been built successfully.
['工信部', '女干事', '每月', '经过', '下属', '科室', '都', '要', '亲口', '交代', '24', '口', '交换机', '等', '技术性', '器件', '的', '安装', '工作']

3、全模式分词

全模式会将句子中所有可能的词都列举出来。由下图的分词结果可以看出,有时候全模式分词的结果过于详细,它会把所有可能的结果都列举出来。

>>> jieba.cut(content, cut_all=True)
<generator object Tokenizer.cut at 0x000002B082135270>
>>> jieba.lcut(content, cut_all=True)
['工', '信', '部', '女干事', '干事', '每月', '月经', '经过', '下属', '科室', '都', '要', '亲口', '口交', '交代', '24', '口交', '交换', '交换机', '换机', '等', '技术', '技术性', '性器', '器件', '的', '安装', '安装工', '装工', '工作']

4、搜索引擎模式分词

搜索引擎模式则适用于搜索引擎使用

>>> jieba.cut_for_search(content)
<generator object Tokenizer.cut_for_search at 0x000002B084194C80>
>>> jieba.lcut_for_search(content)
['工信部', '干事', '女干事', '每月', '经过', '下属', '科室', '都', '要', '亲口', '交代', '24', '口', '交换', '换机', '交换机', '等', '技术', '技术性', '器件', '的', '安装', '工作']

5、中文繁体分词

中文繁体分词与普通分词类似,直接调用jieba库的lcut即可

>>> content1="煩惱即是菩提,我暂且不提"
>>> jieba.lcut(content1)
['煩惱', '即', '是', '菩提', ',', '我', '暂且', '不提']

6、使用用户自定义词典分词

定义词典,首先定义一个词典

云计算 5 n
李小福 2 nr
easy_install 3 eng
好用 300
韩玉赏鉴 3 nz
八一双鹿 3 nz
八一南昌 3 nz

使用自定义词典

import jieba

content = "八一双鹿更名为八一南昌篮球队"

result = jieba.lcut(content)

# 导入词典
jieba.load_userdict("./userdict")
# 再对content进行分词
result2 = jieba.lcut(content)

print(result)

print(result2)

 分词结果。可以看到没有使用自定义词典的分词的时候把专有词汇“八一南昌”分为“八一”和“南昌”两个词,而使用了自定义词典的分词结果符合预期结果。

['八', '一双', '鹿', '更名', '为', '八一', '南昌', '篮球队']
['八一双鹿', '更名', '为', '八一南昌', '篮球队']