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