【NLP】文本語種檢測

langid

github源碼:https://github.com/saffsd/langid.py

特點

  • 支持97中語言
  • 濾過速度快
  • 準確率高
  • 不支持中文繁體(香港),中文繁體(臺灣)

檢測接口 classify rank

>>> import langid
# classify 輸出最可能的語言
>>> langid.classify("I do not speak english")
('en', 0.57133487679900674)
>>> langid.set_languages(['de','fr','it'])
>>> langid.classify("I do not speak english")
('it', 0.99999835791478453)
>>> langid.set_languages(['en','it'])
>>> langid.classify("I do not speak english")
('en', 0.99176190378750373)

# rank 輸出最可能的幾種語言
>>> langid.rank("I do not speak english")
[('en', -49.99176190378750373), ('pl', -48.99176190378750373), ...)

fasttext

TODO

langdetect

Java包language-detection (03/03/2014版) 的Python接口
Github源碼 https://github.com/Mimino666/langdetect

特點

  • 支持55種語言
  • 可識別 簡體 繁體
  • 個人測試 效率和準確率 不及langid

檢測接口 detect detect_langs

# detect 輸出最可能的語種

>>> from langdetect import detect
>>> detect("War doesn't show who's right, just who's left.")
'en'
>>> detect("Ein, zwei, drei, vier")
'de'

# detect_langs 輸出最可能的幾種語言
>>> from langdetect import detect_langs
>>> detect_langs("Otec matka syn.")
[sk:0.572770823327, pl:0.292872522702, cs:0.134356653968]

sklearn實現的語種檢測

csdn看到的基於sklearn模型訓練實現的語種檢測, 未做測試
多語種檢測

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