1

为什么在 Weka GUI 中运行过滤器 StringToWordVector 的结果与等效的 java 代码不同?我使用的属性与我在 gui 中使用的属性相同,但 java 中的分词器似乎没有做正确的工作!一位博士生告诉我,这很常见,他没有进一步的回答。

请帮忙。我的项目停滞不前。

这是我的代码:

DataSource tempSource = new DataSource("/home/r_omio/Dataset.arff");
Instances temp = tempSource.getDataSet();
NumericToBinary nbTemp = new NumericToBinary();
nbTemp.setInputFormat(temp);
temp = Filter.useFilter(temp, nbTemp);
StringToWordVector stringFilterTemp = new StringToWordVector(2500);

stringFilterTemp.setOptions( 
    weka.core.Utils.splitOptions("-R 1,2,3,4 -W 2500 -prune-rate -1.0 <br>-N 1 -stemmer weka.core.stemmers.NullStemmer -M 1 -tokenizer weka.core.tokenizers.WordTokenizer -delimiters \" \\r\\n\\t.,;:\\\'\\\"()?![]_\"")
 );


stringFilterTemp.setInputFormat(temp);
temp = Filter.useFilter(temp, stringFilterTemp);
4

1 回答 1

1

我怀疑你的分隔符被错误地转义了。尝试在 GUI 中使用默认分隔符,并在 Java 中保留标记器,这将使用默认值,并查看是否获得相同的值。

于 2011-04-22T05:40:15.877 回答