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)アプリケーション(テキスト分類、スペルチェッカー、自動メールルーティングなど)を開発する開発者向けです。大規模なMLフレームワークのオーバーヘッドなしに、軽量でオフラインで動作する高精度な言語検出ツールが必要な場合に最適です。

特徴

  • 短いテキストでの高精度: 1~5のn-gramを使用し、単語や短いフレーズを効果的に処理。
  • オフライン対応: 外部APIを必要とせず、完全にオフラインで動作。
  • 広範な言語対応: 75の異なる言語をサポート。
  • 効率的なリソース使用: RustベースのバインディングとFSTにより、小さなメモリ使用量と高速な実行を実現。
  • 信頼度値の提供: 各候補言語に対して確率スコアを提供。
  • スレッドセーフ: マルチスレッド環境での使用を想定してスレッドセーフに設計されています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch