Repolode
cardmagic

cardmagic/classifier

Naive Bayes、LSI、k-Nearest Neighbors、Logistic Regression、TF-IDFとCLIツールを備えたRuby製テキスト分類gem。

スター
741
フォーク
124
未解決の Issue
9
最終コミット
7 日前

これは何?

Classifierは、テキスト分類用のRuby gemです。Naive Bayes、Latent Semantic Indexing(LSI)、k-Nearest Neighbors、Logistic Regression、TF-IDFによるベクトル化の5つの手法を備えており、データやタスクに合った方法を選べます。

LSI処理用のネイティブC拡張を搭載し、拡張が利用できない場合は純粋なRuby実装にフォールバックします。LSIではBrand's algorithmを使ってドキュメントを逐次追加できるため、新しいドキュメントの追加ごとにインデックス全体を再構築する必要がありません。大きなファイルからストリーミングで学習でき、学習済みモデルはファイル、Redis、S3、SQLデータベース、またはカスタムストレージに保存できます。

コマンドラインツールも2つインストールされます。`classifier`コマンドでは、スパム検出や感情分析などの学習済みモデルを実行できるほか、独自のモデルを学習して適用できます。`keywords`コマンドでは、TF-IDFの語彙を作成し、テキスト内の語句の重要度を算出します。

主な機能

  • 01Naive Bayes、LSI、k-Nearest Neighbors、Logistic Regression、TF-IDFの5つの分類手法。
  • 02インデックス全体を再構築せずにドキュメントを追加できる、増分対応のLSI。
  • 03LSI用のネイティブC拡張と、純粋なRuby実装へのフォールバック。
  • 04大規模なデータセットに対応したストリーミング学習。
  • 05ファイル、Redis、S3、SQL、カスタムストレージに対応する、差し替え可能な永続化機能。
  • 06学習済みモデルも利用できる、`classifier`と`keywords`のコマンドラインツール。

ユースケース

  • Rubyアプリケーション内でのスパムのフィルタリングや、サポートメッセージの分類。
  • 学習済みモデルを使った、コマンドラインからの感情・情動分析。
  • 簡易検索やレコメンデーションのための、LSIによる類似ドキュメントの検索。
  • TF-IDFを使った、記事やコーパスからの特徴的なキーワードの抽出。

クイックスタート

  1. 1

    Gemfileにgemを追加する

    gem 'classifier'
  2. 2

    またはHomebrewでCLIをインストールする

    brew install classifier
  3. 3

    事前学習済みモデルでテキストを分類する

    classifier -r sms-spam-filter "You won a free iPhone"

使う前に知っておきたいこと

  • ネイティブC拡張によりLSIが高速化されます。利用できない場合、gemはPure Rubyにフォールバックします。

収録されている特集

トピック

#text-classification#naive-bayes#machine-learning#tf-idf#lsi#ruby-gem#nlp#classification#classification-algorithm#machine-learning-algorithms

よくある質問

classifier とは?
Naive Bayes、LSI、k-Nearest Neighbors、Logistic Regression、TF-IDFとCLIツールを備えたRuby製テキスト分類gem。 Classifierは、テキスト分類用のRuby gemです。Naive Bayes、Latent Semantic Indexing(LSI)、k-Nearest Neighbors、Logistic Regression、TF-IDFによるベクトル化の5つの手法を備えており、データやタスクに合った方法を選べます。
classifier は無料で使えますか?ライセンスは?
classifier は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
classifier は今もメンテナンスされていますか?
活発にメンテナンス中。classifier の最終コミットは 2026年10月31日 です。
classifier は何に使えますか?
Rubyアプリケーション内でのスパムのフィルタリングや、サポートメッセージの分類。 学習済みモデルを使った、コマンドラインからの感情・情動分析。 簡易検索やレコメンデーションのための、LSIによる類似ドキュメントの検索。 TF-IDFを使った、記事やコーパスからの特徴的なキーワードの抽出。
classifier のインストール方法は?
Gemfileにgemを追加する: gem 'classifier' またはHomebrewでCLIをインストールする: brew install classifier 事前学習済みモデルでテキストを分類する: classifier -r sms-spam-filter "You won a free iPhone"
classifier はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/cardmagic/classifier

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト