Naive Bayes の既存の実装
おそらく、単純ベイズを使用したドキュメント分類をサポートする既存のパッケージの 1 つを使用する方がよいでしょう。たとえば、次のようになります。
Python - Python ベースの自然言語ツールキット (NLTK)を使用してこれを行うには、無料で入手できるNLTK ブックのドキュメント分類セクションを参照してください。
Ruby - Ruby の方が好みなら、 Classifier gemを使用できます。これは、Family Guy の引用が面白いかどうかを検出するサンプル コードです。
Perl - Perl にはAlgorithm::NaiveBayesモジュールがあり、パッケージの概要に使用例のスニペットが含まれています。
C# - C# プログラマーはnBayesを使用できます。プロジェクトのホームページには、単純なスパム/非スパム分類器のサンプル コードがあります。
Java -Java 関係者はClassifier4Jを持っています。トレーニングとスコアリングのコード スニペットはこちらでご覧いただけます。
キーワードからのブートストラップ分類
特定のトピックの手がかりとして知られている一連のキーワードから始めて、それらのキーワードを使用して分類子をブートストラップしたいようです。
これはかなり賢いアイデアです。McCallum と Nigam (1999) による、Keywords, EM and Shrinkage を使用した Bootstrapping によるテキストの分類という論文を参照してください。このアプローチに従うことで、ハードコーディングされたキーワードのみを使用して得た 45% から、ブートストラップされた Naive Bayes 分類器を使用して 66% に分類精度を向上させることができました。彼らのデータについては、後者は人間の同意レベルに近く、72% の確率でドキュメント ラベルについて互いに同意していました。