1. 程式人生 > >(一)jieba分詞

(一)jieba分詞

jieba分詞

1、全模式

按照前後的順序分詞,句子有交叉

import jieba
seg_list = jieba.cut("我喜歡自然語言處理", cut_all=True)
print("Full Mode: " + "/ ".join(seg_list))  # 全模式
Building prefix dict from the default dictionary ...
Dumping model to file cache /tmp/jieba.cache
Loading model cost 0.829 seconds.
Prefix dict has been built succesfully.


Full Mode: 我/ 喜歡/ 自然/ 自然語言/ 語言/ 處理
2、精確模式

按照前後的順序分詞,句子無交叉

import jieba
seg_list = jieba.cut("我喜歡自然語言處理", cut_all=False)
print("Default Mode: " + "/ ".join(seg_list))  # 全模式
Default Mode: 我/ 喜歡/ 自然語言/ 處理

關鍵詞提取

基於 TF-IDF 演算法的關鍵詞抽取

import jieba.analyse

jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())
sentence 為待提取的文字
topK 為返回幾個 TF/IDF 權重最大的關鍵詞,預設值為 20
withWeight 為是否一併返回關鍵詞權重值,預設值為 False
allowPOS 僅包括指定詞性的詞,預設值為空,即不篩選

import jieba.analyse as analyse
lines = open('NBA.txt').read()
print("  ".join(analyse.extract_tags(lines, topK=20, withWeight=False, allowPOS=())))
韋少  杜蘭特  全明星  全明星賽  MVP  威少  正賽  科爾  投籃  勇士  球員  斯布魯克  更衣櫃  NBA  三連莊  張衛平  西部  指導  雷霆  明星隊

詞性標註

import jieba.posseg as pseg
words = pseg.cut("我喜歡自然語言處理"
) for word, flag in words: print('%s %s' % (word, flag))
我 r
喜歡 v
自然語言 l
處理 v