精确模式(默认):试图将句子最精确地切开,适合文本分析;
全模式,把句子中所有的可以成词的词语都扫描出来,但是不能解决歧义;
搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细。
注意:jieba.cut以及jieba.cut_for_search返回的结构都是一个可迭代的 generator,并不是一个list列表。
示例代码1
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
功能:结巴分词测试,基本分词功能
时间:2016年5月21日 15:44:24
"""
import jieba
# 分词模式
seg = jieba.cut("这是一本关于信息检索的书", cut_all=True) # cut_all=True,全模式
print(u"全模式分词: " + "/ ".join(seg))
seg = jieba.cut("这是一本关于信息检索的书", cut_all=False) # cut_all=False,精确模式
print(u"精确模式分词: " + "/ ".join(seg))
seg = jieba.cut("他来到了网易杭研大厦") # 默认是精确模式
print(", ".join(seg))
seg = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造") # 搜索引擎模式
print(", ".join(seg))1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
231
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
添加自定义词典
用法: jieba.load_userdict(file_name)
file_name 为文件类对象或自定义词典的路径
词典格式:一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略);用空格隔开,顺序不可颠倒。
词典示例:
?云计算 5
李小福 2 nr
创新办 3 i
easy_install 3 eng
好用 300
韩玉赏鉴 3 nz
八一双鹿 3 nz
台中
凱特琳 nz
Edu Trust认证 20001
2
3
4
5
6
7
8
9
101
2
3
4
5
6
7
8
9
10
示例代码2
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
功能:结巴分词测试,添加词典
时间:2016年5月21日 15:44:24
"""
import jieba
# 添加自定义词典
jieba.load_userdict("userdic.txt")
seg = jieba.cut("这是一本关于信息检索的书")
print "/ ".join(seg)
if __name__ == "__main__":
pass1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
171
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
词性标注
采用和 ictclas (NLPIR)兼容的标记法。
words = pseg.cut("这是一本关于信息检索的书")
for word, flag in words:
print ('%s %s' % (word, flag))1
2
31
2
3
备注:在anaconda Python下,上述print报错方式,原因暂时未知。
其他
支持繁体分词
关键词提取
并行分词
返回词语在原文的起止位置