0 起因
由于博主之前做了一些文本挖掘的項目,在項目中或多或少的用到了分詞模塊,對于中文分詞,博主一般使用Python開發(fā)的jieba分詞組件。最近,博主想閱讀一些開源系統(tǒng),就先從jieba開始,一是因為jieba實現(xiàn)了NLP的一些基礎技術,例如分詞、詞性標注;二是因為想學習學習大神們的編碼規(guī)范。
1 jieba系統(tǒng)簡介
"結巴"中文分詞:做最好的Python中文分詞組件。
特點:
- 支持三種分詞模式
- 支持繁體分詞
- 支持自定義詞典
- MIT授權協(xié)議
涉及算法:
- 基于前綴詞典實現(xiàn)詞圖掃描,生成句子中漢字所有可能成詞情況所構成的有向無環(huán)圖(DAG),采用動態(tài)規(guī)劃查找最大概率路徑,找出基于詞頻的最大切分組合;
- 對于未登錄詞,采用了基于漢字成詞能力的 HMM模型,采用Viterbi算法進行計算;
- 分別基于tfidf和textrank模型抽取關鍵詞;
2 jieba系統(tǒng)框架
jieba分詞系統(tǒng),主要實現(xiàn)三個模塊,
- 分詞
- 詞性標注
- 關鍵詞抽取
其中,分詞有三種模式,默認是精確模式,
網(wǎng)友評論