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 | 内部APIを提供するwhatlang::devモジュールを有効にします。これはプロファイリングの目的で存在し、通常のユーザーはこのAPIに依存するように落胆します。 |
アルゴリズムは、N-Gramsの特定のケースであるTrigram言語モデルに基づいています。このアイデアを理解するには、元のWhitepaper CavnarとTrenkle '94:N-Gramベースのテキスト分類 'を確認してください。
is_reliableどのように計算されますか?これは、次の要因に基づいています。
rateと呼ばれます。したがって、しきい値関数を備えた2D空間として提示することができ、「信頼性の高い」および「信頼性のない」領域に分割されます。この機能は双曲線であり、次のように見えます。
詳細については、ブログ記事を確認してくださいRust Whatlang Library and Natural Language Identification Algorithmsの紹介をご覧ください。
make bench - パフォーマンスベンチマークを実行しますmake doc - 生成および開きますdocmake test - テストを実行しますmake watch - 時計の変更とテストを実行します| whatlang | CLD2 | CLD3 | |
|---|---|---|---|
| 実装言語 | さび | C ++ | C ++ |
| 言語 | 68 | 83 | 107 |
| アルゴリズム | トリグラム | Quadgrams | ニューラルネットワーク |
| サポートされているエンコーディング | UTF-8 | UTF-8 | ? |
| HTMLサポート | いいえ | はい | ? |
近くのトークンを寄付することで、プロジェクトをサポートできます。
私たちの近くのウォレットアドレスはwhatlang.nearです
Whatlangは、Titus WormerによるFranc(JavaScript、MIT)の派生作品です。
MIT©Sergey Potapov