幾款第三方分詞工具

THULAC

THULAC是由清華大學自然語言處理與社會人文計算實驗室(該實驗室帶頭人:孫茂松、劉知遠、劉洋)研製推出的一套中文詞法分析工具包。
安裝了其C++版,對北京大學語料進行了分詞,如果不選擇詞性分析的話,單純分詞,需0.5s,同時利用打分腳本進行評測:

=== SUMMARY:
=== TOTAL INSERTIONS:   995
=== TOTAL DELETIONS:    2785
=== TOTAL SUBSTITUTIONS:        3870
=== TOTAL NCHANGE:      7650
=== TOTAL TRUE WORD COUNT:      104372
=== TOTAL TEST WORD COUNT:      102582
=== TOTAL TRUE WORDS RECALL:    0.936
=== TOTAL TEST WORDS PRECISION: 0.953
=== F MEASURE:  0.944
=== OOV Rate:   0.058
=== OOV Recall Rate:    0.794
=== IV Recall Rate:     0.945

得到召回率93.6%,準確率95.3%,及F值94.4%(比它官網的測試結果還略高,是不是模型進行了更新的原因)。在測試語料上表現不錯。

NLPIR分詞(原名ICTCLAS)

最初版本是張華平博士在中科院時開發的,現在張華平博士的職位是北京理工大學網絡搜索挖掘與安全實驗室主任,ICTCLAS是比較著名的老牌分詞系統,現在徹底轉商業了,其分詞思路可以參考其開源JAVA版實現ansj。

LTP

語言技術平臺(Language Technology Platform,LTP)是哈工大社會計算與信息檢索研究中心歷時十年開發的一整套中文語言處理系統。LTP制定了基於XML的語言處理結果表示,並在此基礎上提供了一整套自底向上的豐富而且高效的中文語言處理模塊(包括詞法、句法、語義等6項中文處理核心技術)。
參考網站文章,實驗一下它的分詞效果:

# ./bin/ltp_test --threads 10 --last-stage ws  --input msr_test.utf8 --segmentor-model ltp_data/cws.model > msr_test.seg_ltp 
[INFO] 2016-04-25 10:16:09 Loading segmentor model from "ltp_data/cws.model" ...
[INFO] 2016-04-25 10:16:09 segmentor model is loaded.
TRACE: LTP is built
TRACE: Running 10 thread(s)
TRACE: consume 2.29775 seconds.
[INFO] 2016-04-25 10:16:11 segmentor model is released.

使用微軟提供的測試語料,開啓10個線程,只分詞,用了2.3秒。LTP分出來的是xml文件,需要轉化一下:

with open("msr_test.seg_ltp.utf8","w") as f:
    tree = ET.ElementTree(file='msr_test.seg_ltp')
    for paraElements in tree.iterfind("xml4nlp/doc/para"):
        word_list= list()
        for elem in paraElements.iterfind("sent/word"):
            #print ET.tostring(elem)
            word_list.append(elem.get("cont"))
        sent = "  ".join(word_list)
        f.write(sent)
        f.write("\n")

下面利用評測score腳本打分:

=== SUMMARY:
=== TOTAL INSERTIONS:   6467
=== TOTAL DELETIONS:    2669
=== TOTAL SUBSTITUTIONS:        8174
=== TOTAL NCHANGE:      17310
=== TOTAL TRUE WORD COUNT:      106873
=== TOTAL TEST WORD COUNT:      110671
=== TOTAL TRUE WORDS RECALL:    0.899
=== TOTAL TEST WORDS PRECISION: 0.868
=== F MEASURE:  0.883
=== OOV Rate:   0.026
=== OOV Recall Rate:    0.464
=== IV Recall Rate:     0.910

召回率89.9%,準確率86.8%,F值88.3%,效果不是很理想(可能與分詞的規範標準有關)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章