jieba
jieba copied to clipboard
fix the inconsistent segment result
修正不一致的分詞結果
問題產生: 由於未知詞處理的HMM模型不同導致, 一般分詞和詞性標註分詞的結果有差異 (jieba.cut vs jieba.posseg.cut)
修正方法: 因此在進行詞性標註前, 先採用原先一般分詞的HMM模型 引入finalseg來進行處理未知詞 接著保持finalseg分詞後的標註 (B,M,E,S) 等信息 接著在posseg中的viterbi算法中過濾不合適的states
範例代碼
import jieba
import jieba.posseg as pseg
seg_list = jieba.cut("他来到了网易杭研大厦")
print(", ".join(seg_list))
words = pseg.cut("他来到了网易杭研大厦")
for word, flag in words:
print('%s %s' % (word, flag))
原先輸出
他, 来到, 了, 网易, 杭研, 大厦
他 r
来到 v
了 ul
网易 n
杭 j
研 vn
大厦 n
修正錯誤
他, 来到, 了, 网易, 杭研, 大厦
他 r
来到 v
了 ul
网易 n
杭研 nr
大厦 n
fix the inconsistent result between word segement (jieba.cut) and part-of-speech tagging (jieba.posseg.cut)