python基础===jieba模块,Python 中文分词组件

旧巷老猫 提交于 2020-03-21 19:56:40

api参考地址:https://github.com/fxsjy/jieba/blob/master/README.md

安装自行百度

基本用法:

import jieba

#全模式
word = jieba.cut("一人我饮酒醉 醉把佳人成双对 两眼 是独相随 我只求他日能双归", cut_all = True)
print("Full Mode:" + "/ ".join(word))
#>>>Full Mode:一/ 人/ 我/ 饮酒/ 酒醉/ / / 醉/ 把/ 佳人/ 成双/ 对/ / / 两眼/ / / 是/ 独/ 相随/ / / 我/ 只求/ 他/ 日/ 能/ 双/ 归

#精确模式
word = jieba.cut("一人我饮酒醉 醉把佳人成双对 两眼 是独相随 我只求他日能双归", cut_all = False)
print("Default Mode:" + '/ '.join(word))
#>>>Default Mode:一人/ 我/ 饮酒/ 醉/  / 醉/ 把/ 佳人/ 成双/ 对/  / 两眼/  / 是/ 独/ 相随/  / 我/ 只求/ 他/ 日/ 能/ 双归

#默认是精确模式
word = jieba.cut("一人我饮酒醉 醉把佳人成双对 两眼 是独相随 我只求他日能双归")
print(", ".join(word))
#>>>一人, 我, 饮酒, 醉,  , 醉, 把, 佳人, 成双, 对,  , 两眼,  , 是, 独, 相随,  , 我, 只求, 他, 日, 能, 双归

#搜索引擎模式
word = jieba.cut_for_search("败帝王斗苍天夺得了皇位已成仙豪情万丈天地间我续写了另类帝王篇")
print(", " .join(word))
#>>>败, 帝王, 斗, 苍天, 夺得, 了, 皇位, 已, 成仙, 豪情, 万丈, 豪情万丈, 天地, 天地间, 我, 续写, 了, 另类, 帝王, 篇
  • jieba.cut 方法接受三个输入参数: 需要分词的字符串;cut_all 参数用来控制是否采用全模式;HMM 参数用来控制是否使用 HMM 模型
  • jieba.cut_for_search 方法接受两个参数:需要分词的字符串;是否使用 HMM 模型。该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细
  • 待分词的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。注意:不建议直接输入 GBK 字符串,可能无法预料地错误解码成 UTF-8
  • jieba.cut 以及 jieba.cut_for_search 返回的结构都是一个可迭代的 generator,可以使用 for 循环来获得分词后得到的每一个词语(unicode),或者用
  • jieba.lcut 以及 jieba.lcut_for_search 直接返回 list
  • jieba.Tokenizer(dictionary=DEFAULT_DICT) 新建自定义分词器,可用于同时使用不同词典。jieba.dt 为默认分词器,所有全局分词相关函数都是该分词器的映射。

 

也可以自定义词组

import jieba

word = jieba.cut("一人我饮酒醉 醉把佳人成双对 两眼 是独相随 我只求他日能双归", cut_all = True)
print("Full Mode:" + "/ ".join(word))
#>>>Full Mode:一/ 人/ 我/ 饮酒/ 酒醉/ / / 醉/ 把/ 佳人/ 成双/ 对/ / / 两眼/ / / 是/ 独/ 相随/ / / 我/ 只求/ 他/ 日/ 能/ 双/ 归

#自定义词组
jieba.add_word('一人我')

word = jieba.cut("一人我饮酒醉 醉把佳人成双对 两眼 是独相随 我只求他日能双归", cut_all = True)
print("Full Mode:" + "/ ".join(word))
#>>>Full Mode:一人我/ 饮酒/ 酒醉/ / / 醉/ 把/ 佳人/ 成双/ 对/ / / 两眼/ / / 是/ 独/ 相随/ / / 我/ 只求/ 他/ 日/ 能/ 双/ 归

 

词性标注

import jieba.posseg as pseg

words = pseg.cut("我爱北京天安门")
for word,flag in words:
    print('%s %s' % (word, flag))
#>>>我 r爱 v北京 ns天安门 ns

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!