0

Weka ライブラリを使用して Java でテキスト分類器を構築しています。

最初にストップワードを削除してから、ステマーを使用しています (例: 車を車に変換します)。現在、6 つの定義済みカテゴリがあります。カテゴリごとに 5 つのドキュメントで分類子をトレーニングします。ドキュメントの長さは似ています。

分類するテキストが短い場合、結果は問題ありません。しかし、テキストが 100 語を超えると、結果はますます奇妙になります。

次のように、各カテゴリの確率を返します。

[0.0015560238056109177、0.1808919321002592、0.6657404531908249、0.004793498469427115、0.13253647895234325、0.014481613481534815]

これはかなり信頼できる分類です。

しかし、約 100 語を超えるテキストを使用すると、次のような結果が得られます。

確率: [1.2863123678314889E-5, 4.3728547754744305E-5, 0.9964710903856974, 5.539960514402068E-5, 0.002993481218084141, 4.2343741196E4-1]

これは良いことです。

現在、ドキュメントの分類に Naive Bayes Multinomial を使用しています。私はそれについて読んで、長いテキストで奇妙な行動をする可能性があることを知りました. 今の私の問題かも?

なぜこれが起こっているのか、誰にも良い考えがありますか?

4

1 に答える 1

1

この動作には複数の要因が考えられます。トレーニング テキストとテスト テキストが同じドメインでない場合、これが発生する可能性があります。また、すべてのカテゴリにドキュメントを追加することで、ある程度の効果が得られるはずです。すべてのカテゴリで 5 つのドキュメントは非常に少ないようです。トレーニング ドキュメントがこれ以上ない場合、またはトレーニング ドキュメントを増やすことが難しい場合は、トレーニング セットに正と負のインスタンスを合成的に追加できます (詳細については、SMOTE アルゴリズムを参照してください)。アップデートを投稿してください。

于 2012-03-20T01:28:29.013 に答える