6. 中文斷詞工具:CkipTagger
Published in
3 min readNov 27, 2020
- CkipTagger 為台灣中央研究院詞庫小組所開發的 NLP(自然語言處理) 套件,是個以深度學習模型為基礎而成的 NLP(自然語言處理) 應用。 其訓練的文本資料來源為中央社、wiki (用舊版套件先進行斷詞) 及 ASBC(Academia Sinica Balanced Corpus) (為期近 10 年人工標記)。
- CkipTagger 模型主要的功能有:
- WS:斷詞
- POS:詞性標注
- NER:實體辨識
CkipTagger 優勢
- 在繁體中文上斷詞與詞性標記的表現進一步提升,並超越結巴系統
- 結合實體命名:目前 CkipTagger 能辨識 11 類一般領域專有名詞及 7 類數量詞
- 結合詞性標注
- 支援使用者自訂 參考/強制 詞典。
- 支援不限長度的句子。
- 不會自動 增/刪/改 輸入的文字。
CkipTagger 斷詞技巧
ChipTagger是綜合
Word-level approach
- Maximum length (長詞優先)
- 動態規劃查找最大概率路徑(Jieba)
Character-level approach
- character Sequence Labeling
CkipTagger 則是綜合上面兩種方法,針對 word 及 character 同時進行分析
系統環境安裝
在安裝時通常會同時安裝tensorflow跟gdown一起,指令如下:
pip install -U ckiptagger[tf,gdown]
如果已經有tensorflow跟gdown則可用以下指令:
pip install -U ckiptagger
如果要安裝gpu版tensorflow跟gdown則指令如下:
pip install -U ckiptagger[tfgpu,gdown]
斷詞
要先下載預訓練權重,此模型需2GB的儲存空間
from ckiptagger import data_utils, WS
data_utils.download_data_gdown("./")
接著建構斷詞器,並使用Chiptagger進行斷詞
詞性標注
以 CkipTagger命名實體辨識
定義字典
將自定義字典加入斷詞器中
建構斷詞器