斷詞結構介紹


在自然語言處理的其中一個重要環節就是中文斷詞的處理,比起英文斷詞,中文斷詞在先天上就比較難處理,比如電腦要怎麼知道「全台大停電」要斷詞成「全台 / 大 / 停電」呢?如果是英文「Power outage all over Taiwan」,就可以直接用空白斷成「Power / outage / all / over / Taiwan」,那麼中文的語句該如何斷詞呢?

結巴斷詞程式

今天要跟各為介紹一個斷詞程式—「結巴Jieba中文分詞程式」,此程式所使用的演算法是基於 Trie Tree 結構去生成句子中中文字所有可能成詞的情況,然後使用動態規劃(Dynamic programming)算法來找出最大機率的路徑,這個路徑就是基於詞頻的最大斷詞結果

安裝Jieba

開啟Anaconda Prompt,輸入以下指令:

pip install jieba

由於預設的詞庫為簡體中文,故我們另外自行安裝繁體中文版的詞庫,將檔案放置剛才安裝好的路徑下: Ex:(勿複製此路徑)

 C:\users\angel.lee(改為您的使用者名稱)\appdata\local\continuum\anaconda3\lib\site-packages

環境測試

請輸入以下這一小段程式碼,來看看jieba是不是有安裝成功:

import jieba
seg_list = jieba.cut("在非洲,每六十秒,就有一分鐘過去") 
print("|".join(seg_list))


補充說明

結巴(jieba)斷詞台灣繁體版本

採用和原始jieba相同的演算法,替換其詞庫及HMM機率表製做出針對台灣繁體的jieba斷詞器 參考網頁:https://github.com/ldkrsi/jieba-zh_TW

results matching ""

    No results matching ""