利用結巴分詞來進行詞頻的統計,並輸出到檔案中。
結巴分詞的特點:
支援繁體分詞
支援自定義詞典
mit 授權協議
演算法:分詞引數:
使用者詞典:
載入詞典
使用者詞典:userdict.dict
雲計算 5李小福 2 nr
創新辦 3 i
easy_install 3 eng
好用 300
韓玉賞鑑 3 nz 八一雙鹿 3 nz 臺中 凱特琳 nz edu trust認證 2000 石墨烯
分詞**:fenci.py
1#encoding=utf-8
2from
__future__
import
print_function, unicode_literals
3import
sys../")
5import
jieba
6 jieba.load_userdict("
userdict.txt
")#匯入使用者自定義詞典
7import
jieba.posseg as pseg89
#jieba.add_word('石墨烯')#動態新增自定義單詞
10 jieba.add_word('
凱特琳'
)11 jieba.del_word('
自定義詞')
12 jieba.add_word("
易風化")13
14 test_sent =(15"
磷酸氫二鈉在空氣中易風化,常溫時放置於空氣中失去約5個結晶水而形成七水物,加熱至100℃時失去全部結晶水而成無水物\n"16
"例如我輸入乙個帶「韓玉賞鑑」的標題,在自定義詞庫中也增加了此詞為n類\n"17
"「臺中」正確應該不會被切開。mac上可分出「石墨烯」;此時又可以分出來凱特琳了。"18
)19 words =jieba.cut(test_sent)
20print('/'
.join(words))
2122
print("
="*40)
2324 result =pseg.cut(test_sent)
2526
for w in
result:
27print(w.word, "
/", w.flag, "
, ", end='
')#標註詞性
2829
print("
\n" + "
="*40)
3031 terms = jieba.cut('
easy_install is great')
32print('/'
.join(terms))
33 terms = jieba.cut('
python 的正規表示式是好用的')
34print('/'
.join(terms))
3536
print("
="*40)37#
test frequency tune
38 testlist =[
39 ('
今天天氣不錯
', ('
今天', '天氣'
)),40 ('
如果放到post中將出錯。
', ('
中', '將'
)),41 ('
我們中出了乙個叛徒
', ('
中', '出'
)),42]43
44for sent, seg in
testlist:
45print('
/'.join(jieba.cut(sent, hmm=false)))
46 word = ''
.join(seg)
47print('
%s before: %s, after: %s
' %(word, jieba.get_freq(word), jieba.suggest_freq(seg, true)))
48print('
/'.join(jieba.cut(sent, hmm=false)))
49print("
-"*40)
結果:
building prefix dict fromthe default dictionary ...
loading model
from
loading model cost 0.363seconds.
prefix dict has been built succesfully.
磷酸氫二鈉/在/空氣/中/易風化/,/常溫/時/放置/於/空氣/中/失去/約/5/個/結晶水/而/形成/七水物/,/加熱/至/100/℃/時/失去/全部/結晶水/而成/無水/物/
/「/臺中/」/正確/應該/不會/被/切開/。/mac/上/可/分出/「/石墨烯/」/;/此時/又/可以/分出/來/凱特琳/了/。
****************************************磷酸氫二鈉 / nz , 在 / p , 空氣 / n , 中 / f , 易風化 / x , , / x , 常溫 / n , 時 / n , 放置 / v , 於 / p , 空氣 / n , 中 / f , 失去 / v , 約 / d , 5 / m , 個 / m , 結晶水 / n , 而 / c , 形成 / v , 七 / m , 水物 / n , , / x , 加熱 / v , 至 / p , 100 / m , ℃ / x , 時 / n , 失去 / v , 全部 / n , 結晶水 / n , 而 / c , 成 / v , 無水 / v , 物 /zg ,
/ x , 例如 / v , 我 / r , 輸入 / v , 乙個 / m , 帶 / v , 「 / x , 韓玉賞鑑 / nz , 」 / x , 的 / uj , 標題 / n , , / x , 在 / p , 自定義詞 / n , 庫中 / nrt , 也 / d , 增加 / v , 了 / ul , 此 / r , 詞 / n , 為 / p , n / eng , 類 /q ,
/ x , 「 / x , 臺中 / s , 」 / x , 正確 / ad , 應該 / v , 不 / d , 會 / v , 被 / p , 切開 / ad , 。 / x , mac / eng , 上 / f , 可 / v , 分出 / v , 「 / x , 石墨烯 / x , 」 / x , ; / x , 此時 / c , 又 / d , 可以 / c , 分出 / v , 來 / zg , 凱特琳 / nz , 了 / ul , 。 /x ,
****************************************easy_install/ /is/ /great
python/ /的/正規表示式/是/好用/的
****************************************今天天氣/不錯
今天天氣 before: 3, after: 0
今天天氣/不錯
----------------------------------------如果/放到/post/中將/出錯/。
中將 before: 763, after: 494如果/放到/post/中/將/出錯/。
----------------------------------------我們/中/出/了/乙個/叛徒
中出 before: 3, after: 3我們/中/出/了/乙個/叛徒
----------------------------------------process finished with exit code 0
python中文分詞 結巴分詞
中文分詞是中文文字處理的乙個基礎性工作,結巴分詞利用進行中文分詞。其基本實現原理有三點 基於trie樹結構實現高效的詞圖掃瞄,生成句子中漢字所有可能成詞情況所構成的有向無環圖 dag 採用了動態規劃查詢最大概率路徑,找出基於詞頻的最大切分組合 對於未登入詞,採用了基於漢字成詞能力的hmm模型,使用了...
python結巴分詞
中文分詞是中文文字處理的乙個基礎性工作,結巴分詞利用進行中文分詞。其基本實現原理有三點 基於trie樹結構實現高效的詞圖掃瞄,生成句子中漢字所有可能成詞情況所構成的有向無環圖 dag 採用了動態規劃查詢最大概率路徑,找出基於詞頻的最大切分組合 對於未登入詞,採用了基於漢字成詞能力的hmm模型,使用了...
結巴分詞jieba
全模式text 我來到北京清華大學 seg list jieba.cut text,cut all true print u 全模式 join seg list 精確模式 seg list jieba.cut text,cut all false print u 精確模式 join seg list...