0 起因

由于博主之前做了一些文本挖掘的項目,在項目中或多或少的用到了分詞模塊,對于中文分詞,博主一般使用Python開發(fā)的jieba分詞組件。最近,博主想閱讀一些開源系統(tǒng),就先從jieba開始,一是因為jieba實現(xiàn)了NLP的一些基礎技術,例如分詞、詞性標注;二是因為想學習學習大神們的編碼規(guī)范。

1 jieba系統(tǒng)簡介

"結巴"中文分詞:做最好的Python中文分詞組件。

特點:

  1. 支持三種分詞模式
  2. 支持繁體分詞
  3. 支持自定義詞典
  4. MIT授權協(xié)議

涉及算法:

  1. 基于前綴詞典實現(xiàn)詞圖掃描,生成句子中漢字所有可能成詞情況所構成的有向無環(huán)圖(DAG),采用動態(tài)規(guī)劃查找最大概率路徑,找出基于詞頻的最大切分組合;
  2. 對于未登錄詞,采用了基于漢字成詞能力的 HMM模型,采用Viterbi算法進行計算;
  3. 分別基于tfidf和textrank模型抽取關鍵詞;

2 jieba系統(tǒng)框架

jieba分詞系統(tǒng),主要實現(xiàn)三個模塊,

  1. 分詞
  2. 詞性標注
  3. 關鍵詞抽取

其中,分詞有三種模式,默認是精確模式,

網(wǎng)友評論