私はWekaのJAVA APIを使用して、さまざまなテキスト機能に従って文書を分類しています。 TextDirectoryLoader
クラスを使用する場合、テキストを含むtxtファイルを含むディレクトリをロードすることができます。テキストを数値フィーチャに変換し、後でそのインスタンスを分類します。問題は、このテキストがデータセット内の単一の文字列フィーチャによって表されることです。例えばweka TextDirectoryLoaderで別のテキスト属性を読み込むには?
:System.out.println(dataRaw.numAttributes()); // outputs 2
はそれを分離することが可能である:
TextDirectoryLoader loader = new TextDirectoryLoader();
loader.setDirectory(new File(dataDir));
Instances dataRaw = loader.getDataSet();
StringToWordVector filter = new StringToWordVector();
filter.setInputFormat(dataRaw);
Instances dataFiltered = Filter.useFilter(dataRaw, filter);
は「dataRaw」(ディレクトリ分類から派生)クラスで、テキストと一つの属性である一つの属性が含まれていますテキストを元のtxtファイル(例えば区切り文字を使用して)に挿入すると、別のテキスト属性が読み込まれるようになります。
1つのオプションは、例えば、その後、いくつかの新しい属性を挿入するには、次のようになります。
dataRaw.insertAttributeAt(new Attribute("attr2", (FastVector) null), dataRaw.numAttributes());
for (int i = 0; i < dataRaw.numInstances(); i++) {
dataRaw.instance(i).setValue(2, "sometext");
}
などarffファイル作成:
@relation whatever
@attribute attr1 String
@attribute attr2 String
...
は、上記の設定を経由して達成することができた方法はあります'TextDirectoryLoader'?前もって感謝します!あなたのファイルがロードされているデータセットは、フォーム[textString, classLabel]
で作成されると