py jieba 分词库

来源:互联网 发布:科勒淘宝授权 编辑:程序博客网 时间:2024/06/07 07:49

py jieba 分词库.
官方 git地址.
安装: pip install jieba

原理

  • 基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图 (DAG)
  • 采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合
  • 对于未登录词,采用了基于汉字成词能力的 HMM 模型,使用了 Viterbi 算法

分词

支持自定义词典, 支持三种分词模式:

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

关键词抽取

有 tf-idf 与 textRank 两种方法. 参考 [1].

from jieba import analyseimport jieba_word_segmentation.skateboard_lyric as skateboard_lyricprint('tf-idf method:')tags=analyse.extract_tags(skateboard_lyric.lyric)for tag in tags:    print(tag,end='/')print('\n\ntextrank method:')tags=analyse.textrank(skateboard_lyric.lyric)for tag in tags:    print(tag,end='/')"""tf-idf method:摩擦/滑板鞋/一步/光滑/地上/我要/魔鬼/两步/步伐/天黑/月光/时尚/美丽/华晨/不怕/庞麦郎/有时/真的/约瑟/自己/textrank method:时尚/时间/滑板鞋/摩擦/看到/寻找/美丽/城市/时刻/月光/完成/驱使/夜幕/力量/街道/魔鬼/步伐/喜欢/脚步/舞蹈/"""

pos tagging

# encoding=utf-8import jiebaimport jieba.posseg as psegimport jieba_word_segmentation.skateboard_lyric as skateboard_lyricjieba.add_word('约瑟翰')jieba.add_word('庞麦郎')jieba.add_word('华晨宇')lyric_arr=skateboard_lyric.lyric.split('\n')for sentence in lyric_arr:    for (word, flag) in pseg.cut(sentence):        print(word,flag,end='/ ')    print('')"""我 r/ 的 uj/ 滑板鞋 n/ 时尚 n/ 时尚 n/ 最 d/ 时尚 n/ 回家 n/ 的 uj/ 路上 s/ 我 r/ 情不自禁 i/ 摩擦 vn/   x/ 摩擦 vn/   x/ 摩 nz/ 在 p/ 这 r/ 光滑 a/ 的 uj/ 地上 s/ 摩擦 vn/ 摩擦 vn/ """

参考

  1. 一篇cnblog 结巴分词5–关键词抽取
原创粉丝点击