pemistahl/lingua-py

The most accurate natural language detection library for Python, suitable for short text and mixed-language text

解決的問題

Lingua 是一個專為準確識別給定文字語言而設計的語言檢測程式庫,即使面對極短的文字片段(如單一字詞或短語)也能有效運作。它解決了其他程式庫在處理短文字時表現不佳,或隨著支援語言數量增加而精確度下降的限制。

工作原理

Lingua 結合了規則基礎引擎與統計性朴素貝葉斯模型。規則引擎首先識別文字的字母系統,並搜尋獨特字元以排除不可能的語言。隨後,使用機率 n-gram 模型(支援 n-gram 大小為 1 到 5)來決定最可能的語言。為保持高效率與低記憶體使用,語言模型以有限狀態轉換器(FST)形式儲存,可在不完全載入記憶體的情況下直接於磁碟上搜尋。核心實作使用 Rust 編寫,並提供 Python 繫結。

適用對象

適用於開發自然語言處理(NLP)應用的開發者,例如文字分類、拼字檢查器或自動郵件路由系統,他們需要一個輕量級、離線運作且高精確度的語言檢測工具,而無需承擔大型機器學習框架的開銷。

主要亮點

  • 短文字高精確度:使用 1-5 大小的 n-gram,有效處理單一字詞與短語。
  • 完全離線運作:無需外部 API,完全離線工作。
  • 廣泛的語言支援:支援 75 種不同語言。
  • 高效資源使用:利用 Rust 編寫的繫結與 FST,實現小記憶體佔用與快速執行。
  • 提供置信度值:為每個候選語言提供機率評分。
  • 執行緒安全:庫設計為執行緒安全,適用於多執行緒環境。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • Dispatch