そこで、Weka SVM を使用してテキストを分類しようとしています。これまでのところ、SVM のトレーニングに使用する特徴ベクトルは、トレーニング テキストに表示されるユニグラムとバイグラムの TF-IDF 統計で構成されています。しかし、トレーニング済みの SVM モデルをテストして得た結果はまったく正確ではありませんでした。誰か私の手順についてフィードバックをいただけませんか? テキストを分類するために、次の手順に従っています。
- トレーニング テキストから抽出されたユニグラムとバイグラムで構成される辞書を構築する
- 各ユニグラム/バイグラムが各トレーニング テキストに出現する回数と、ユニグラム/バイグラムがトレーニング テキストに出現する回数を数えます
- ステップ 2 のデータを使用して、各ユニグラム/バイグラムの TF-IDF を計算します。
- ドキュメントごとに、辞書の長さである特徴ベクトルを構築し、ベクトルの各要素に対応する TF-IDF 統計を格納します (たとえば、ドキュメント 1 の特徴ベクトルの最初の要素は TF に対応します)。 -ドキュメント 1 に関連する辞書の最初の単語の IDF)
- 各特徴ベクトルにクラス ラベルを追加して、どのテキストがどの作者のものかを区別します
- これらの特徴ベクトルを使用して SVM をトレーニングします
- テスト テキストの特徴ベクトルは、トレーニング テキストと同じ方法で構築され、SVM によって分類されます。
また、より多くの機能を使用して SVM をトレーニングする必要があるのでしょうか? もしそうなら、この場合、どの機能が最も効果的ですか? どんな助けでも大歓迎です、ありがとう。