pemistahl/lingua-rs
The most accurate natural language detection library for Rust, suitable for short text and mixed-language text
解決的問題
Lingua 是一個用於識別給定文字片段語言的語言檢測庫。它特別解決了其他庫在處理極短文字片段(如單字或短語)時表現不佳,且隨著支援語言數量增加而準確率下降的問題。
工作原理
Lingua 結合了規則基礎引擎與統計的朴素貝葉斯模型。規則引擎首先識別文字的字母表,並搜尋特定語言獨有的字元,以過濾掉不可能的候選語言。若找到唯一匹配的語言,則完全跳過統計模型。否則,它使用 n-gram 大小為 1 到 5 的機率 n-gram 模型,相比大多數其他庫使用的標準三元組模型,對短文字具有更高的準確率。為保持效率,語言模型以有限狀態轉換器(FST)形式儲存,可在不完全載入記憶體的情況下直接於磁碟上搜尋。
適用對象
適用於開發自然語言處理(NLP)應用的開發者,例如文字分類器、拼字檢查器或自動郵件路由系統,他們需要一個輕量級、離線、高準確度的語言檢測工具,而無需承擔完整機器學習框架的開銷。
主要亮點
- 短文字高準確度:專為單字和短語優化。
- 支援 75 種語言:注重支援語言的品質而非數量。
- 混合方法:結合規則過濾與統計 n-gram 模型(1-5 元組)。
- 低資源消耗:使用 FST 降低記憶體佔用,適合資源受限環境。
- 離線運作:完全離線,無需外部 API 呼叫。
- 多語言支援:提供 Rust 庫和 Python 擴充模組。
相關
- 專案
- 專案
- 專案
- 專案