jieba庫,它是Python中一個重要的第三方中文分詞函數庫。
1.jieba的下載
由於jieba是一個第三方函數庫,所以需要另外下載。電腦搜索“cmd”打開“命令提示符”,然后輸入“pip install jieba”,稍微等等就下載成功。
(注:可能有些pip版本低,不能下載jieba庫,需要手動升級pip至19.0.3的版本,在安裝jieba庫)
當你再次輸入“pip install jieba”,顯示如圖,jieba庫就下載成功。
2.jieba庫的3種分詞模式
精確模式:將句子最精確地切開,適合文本分析。
例:
全模式:把句子中所有可以成詞的詞語都掃描出來,速度非常快,但是不能消除歧義。
例:(“國是”,黑人問號)
搜索引擎模式:在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜索引擎分詞。
例:(沒什么不同,可能我還沒發現它的用處)
3.jieba應用
我選取了哈姆雷特(https://en.wikipedia.org/wiki/Hamlet#Act_I)的一小片段,txt形式存放在我的一個文件夾里,對它進行分詞,輸入代碼:
def get_text(): txt = open("D://加油鴨~//hamlet.txt", "r",encoding='UTF-8').read() txt = txt.lower() for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~': txt = txt.replace(ch, " ") # 將文本中特殊字符替換為空格 return txt hamletTxt = get_text() # 打開並讀取文件 words = hamletTxt.split() # 對字符串進行分割,獲得單詞列表 counts = {} for word in words: if len(word) == 1: continue else: counts[word] = counts.get(word, 0) + 1 # 分詞計算 items = list(counts.items()) items.sort(key=lambda x: x[1], reverse=True) for i in range(10): word, count = items[i] print("{0:<10}{1:>5}".format(word,count))
得到結果,如圖:
最后,我們還可以做詞雲圖,這個呢我下次再給大家分享吧,再見~