0 起因

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

1 jieba系統(tǒng)簡(jiǎn)介

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

特點(diǎn):

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

涉及算法:

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

2 jieba系統(tǒng)框架

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

  1. 分詞
  2. 詞性標(biāo)注
  3. 關(guān)鍵詞抽取

其中,分詞有三種模式,默認(rèn)是精確模式,

網(wǎng)友評(píng)論