Python 結巴分詞(1)分詞

2021-09-07 06:52:22 字數 3944 閱讀 6675

利用結巴分詞來進行詞頻的統計,並輸出到檔案中。

結巴分詞的特點:

支援繁體分詞

支援自定義詞典

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 from

the 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...