Weka stringToWordVector фильтр stringOptions - PullRequest
1 голос
/ 11 февраля 2011

Я пытаюсь отфильтровать набор данных, используя API Java от weka.Я успешно отфильтровал нужные атрибуты с помощью фильтра stringToWordVector в графическом интерфейсе Weka, но я не могу сделать то же самое в своем Java-коде.Я скопировал и вставил автоматически сгенерированные параметры фильтрации и разместил их в своем коде, но продолжаю получать ошибки.В настоящее время мой код выглядит следующим образом:

Instances newInsts = new Instances(this.instances);
StringToWordVector stringFilter = new StringToWordVector();
stringFilter.setOptions(
            weka.core.Utils.splitOptions("-R 1,2,3,4,8 -W 1000 
                                          -prune-rate -1.0 -N 0 -stemmer
                                           weka.core.stemmers.NullStemmer -M 1
                                          -tokenizer \"weka.core.tokenizers.WordTokenizer 
                                          -delimiters \" \\r\\n\\t.,;:\\\'\\\"()?!\""));
stringFilter.setInputFormat(newInsts);
newInsts = Filter.useFilter(newInsts, stringFilter);

Но я продолжаю получать эту ошибку в моей консоли eclipse: для параметра -delimiters не задано значение.

(я добавил дополнительный интервал для удобства чтения вкод выше. Я подозреваю, что это связано с экранированием символов / кавычек ...)

Спасибо!

1 Ответ

0 голосов
/ 11 февраля 2011

На самом деле вы можете опустить большинство параметров, так как они являются значениями по умолчанию для StringToWordVector. Разделители, которые вы пытаетесь передать, являются разделителями по умолчанию в токенайзере по умолчанию, WordTokenizer , а именно:

' \r\n\t.,;:'"()?!'
...