cardmagic/classifier

A general classifier module to allow Bayesian and LSI classifications.

何を解決するか

Rubyでテキスト分類および用語の重要度スコアリングのためのツールセットを提供し、開発者がスパムやセンチメントの検出などテキストを分類する、または複雑な機械学習パイプラインをゼロから構築せずにキーワードを抽出できるようにします。

動作方法

このライブラリは、さまざまな分類ニーズに対応する5つの異なるアルゴリズムを実装しています:

  • ベイジアン: 一般的な分類に適した高速で1回読み込みの学習。
  • ロジスティック回帰: 各カテゴリに対する補正された確率を提供。
  • LSI(潜在的意味インデックス): シミラリティと検索に焦点を当て、高速なパフォーマンスを実現するネイティブC拡張と、完全なインデックス再構築なしでインクリメンタルな更新を可能にするブランドアルゴリズムを活用。
  • k-近傍法(KNN): 最も類似した学習例に基づいて分類。
  • TF-IDF: カテゴリ割り当てではなく、コーパス全体に対して用語の重要度をスコアリング。

CLI(コマンドラインインターフェース)を備えており、事前学習済みモデルを使って即座に分類が可能で、モデルをファイル、Redis、S3、またはSQLデータベースに保存できるプラグイン式の永続化システムも提供しています。

対象ユーザー

  • アプリケーションにテキスト分類機能を統合したいRuby開発者。
  • コードを書かずにテキスト分析やキーワード抽出を行いたいユーザー。
  • 大規模データセットを扱い、メモリオーバーヘッドを避けるためにストリーミング学習を必要とする開発者。

特徴

  • 複数のアルゴリズム: ベイズ、ロジスティック回帰、LSI、KNN、TF-IDFをサポート。
  • 高パフォーマンス: ネイティブC拡張により、LSI操作が純粋なRubyより5〜50倍高速。
  • インクリメンタルLSI: インデックス全体を再構築せずに新しいドキュメントをLSIインデックスに追加可能。
  • ストリーミング対応: メモリにすべてをロードせずに、数ギガバイトのデータセットをストリーミングで学習可能。
  • 柔軟な永続化: S3、Redis、SQLなど、プラグイン式のストレージオプションを提供。

関連

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