结巴中文分词使用学习(python)
Posted 竹聿Simon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结巴中文分词使用学习(python)相关的知识,希望对你有一定的参考价值。
中文分词工具:结巴分词
github地址:https://github.com/fxsjy/jieba
分词功能
- 精确模式(默认):试图将句子最精确地切开,适合文本分析;
- 全模式,把句子中所有的可以成词的词语都扫描出来,但是不能解决歧义;
搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细。
注意: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))
添加自定义词典
用法: jieba.load_userdict(file_name)
file_name 为文件类对象或自定义词典的路径
词典格式:一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略);用空格隔开,顺序不可颠倒。
词典示例:
?云计算 5
李小福 2 nr
创新办 3 i
easy_install 3 eng
好用 300
韩玉赏鉴 3 nz
八一双鹿 3 nz
台中
凱特琳 nz
Edu Trust认证 2000
示例代码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__":
pass
词性标注
采用和 ictclas (NLPIR)兼容的标记法。
words = pseg.cut("这是一本关于信息检索的书")
for word, flag in words:
print (‘%s %s‘ % (word, flag))
备注:在anaconda python下,上述print报错方式,原因暂时未知。
其他
- 支持繁体分词
- 关键词提取
- 并行分词
- 返回词语在原文的起止位置
参考文献
官方说明:https://github.com/fxsjy/jieba
其他:https://segmentfault.com/a/1190000004061791
以上是关于结巴中文分词使用学习(python)的主要内容,如果未能解决你的问题,请参考以下文章