whatlang rs
v0.16.2 - 2022-10-23
生鏽的自然語言檢測,專注於簡單性和性能。
嘗試在線演示。
例子:
use whatlang :: { detect , Lang , Script } ;
fn main ( ) {
let text = "Ĉu vi ne volas eklerni Esperanton? Bonvolu! Estas unu de la plej bonaj aferoj!" ;
let info = detect ( text ) . unwrap ( ) ;
assert_eq ! ( info.lang ( ) , Lang :: Epo ) ;
assert_eq ! ( info.script ( ) , Script :: Latin ) ;
assert_eq ! ( info.confidence ( ) , 1.0 ) ;
assert ! ( info.is_reliable ( ) ) ;
}有關更多詳細信息(例如如何將某些語言錄製),請檢查文檔。
Whatlang在以下大項目中被用作語言識別的直接或間接依賴性。您將使用Whatlang在一家很棒的公司中:
| 特徵 | 描述 |
|---|---|
enum-map | Lang和Script實現了枚舉圖的Enum特質 |
arbitrary | 支持任意 |
serde | 實現Lang和Script Serialize和Deserialize |
dev | 啟用whatlang::dev模塊,該模塊提供了一些內部API。它存在用於分析目的,而普通用戶則不願依靠此API。 |
該算法基於Trigram語言模型,該模型是N-grams的一種特殊情況。要了解這個想法,請檢查原始的白皮書Cavnar和Trenkle '94:基於N-Gram的文本分類'。
is_reliable ?它基於以下因素:
rate 。因此,可以將其作為具有閾值函數的2D空間,將其分為“可靠”和“不可靠”區域。該功能是一種雙曲線,看起來如下:
有關更多詳細信息,請查看博客文章Rust Whatlang庫和自然語言標識算法的簡介。
make bench - 運行性能基準make doc - 生成並打開文檔make test - 運行測試make watch - 觀看更改並進行測試| Whatlang | CLD2 | CLD3 | |
|---|---|---|---|
| 實施語言 | 銹 | C ++ | C ++ |
| 語言 | 68 | 83 | 107 |
| 演算法 | Trigrams | 四邊形 | 神經網絡 |
| 支持編碼 | UTF-8 | UTF-8 | ? |
| HTML支持 | 不 | 是的 | ? |
您可以通過在代幣附近捐款來支持該項目。
我們近乎錢包的地址是whatlang.near
Whatlang是Titus Wormer的Franc(MIT JavaScript)的衍生作品。
麻省理工學院©Sergey Potapov