使用 nltk 進行中文詞性標注

泥膩泥膩
2 min readNov 21, 2018

--

Data:人民日報 1998.01

環境:Python 3.6

  1. Default Tagger

對語料庫做了統計(nltk.FreqDist()),發現出現最多的是名詞,所以默認標注為名詞

2. Regexp Tagger 正規表達式標注器

用匹配模式分配標記给標識符.在英文處理中,常用此方式識別各種型態(時態、後綴等),中文識別中也可以使用它来識別標點符號、數字等

3. Unigram Tagger

基於一個最簡單的統計算法:對每個標記分配這個獨特的標識符最有可能的標記。在這裡就是分配給具體單詞,它最常出現的詞性。

4. N-gram Tagger 多元標注

例如 Bigram Tagger、Tri-gram等

使用 train data 來確定對每個上下文哪個詞性標記最有可能。上下文指當前詞和它前面 n-1 個 word 的詞性標注。

  1. 安裝 nltk
pip install -U nltk

2. 載入 data

3. 建立 Default Tagger、Unigram Tagger、Bigram Tagger、Trigram Tagger

最好的結果是 Bigram Tagger = 0.9269

4. 新增 Regexp Tagger 正規表達式

用 nltk 自帶的 sinica

--

--