结巴分词的基本使用方法

jieba是目前应用最广,评价也比较高的分词工具包

安装

pip install jieba

基本特点

三种分词模式

  • 精确模式,试图将句子最精确地切开,适合做文本分析
  • 全模式,把句子中所有的可有成词的词语都扫描出来,速度非常快,但是不能解决歧义
  • 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词

支持繁体分词

支持自定义词典

1
2
3
4
import jieba
tmpstr = "郭靖和哀牢山三十六剑。"
res = jieba.cut(tmpstr)#精确模式
print(res) #是一个可迭代的generator,可以使用for循环来遍历结果,本质上类似list
<generator object Tokenizer.cut at 0x04CADA50>
1
print("/".join(res)) # 用“/”把之前分好的词串起来
郭靖/和/哀牢山/三十六/剑/。
1
print(jieba.lcut(tmpstr)) #用lcut函数结果直接输出为list
['郭靖', '和', '哀牢山', '三十六', '剑', '。']
1
print("/".join(jieba.cut(tmpstr,cut_all = True))) #全模式(加了一个cut_all = True),把所有可能(三十/三十六/十六)都输出了。全模式中句尾符号被去掉了
郭/靖/和/哀牢山/三十/三十六/十六/剑//
1
print("/".join(jieba.cut_for_search(tmpstr)))#搜索引擎模式cut_for_search,为了提高搜索引擎的效率,并且可以用jieba.lcut_for_search直接生成list
郭靖/和/哀牢山/三十/十六/三十六/剑/。