0

我正在尝试使用 Weka 创建一个带有 Weka 的意大利语文本分类器StringToWordVector来创建功能。

分类器工作正常,但我将词干分析器设置为过滤器的选项,但它不起作用。这是我的代码:

SnowballStemmer sb=new SnowballStemmer();
snowball.setStemmer("italian");

StringToWordVector str2Words = new StringToWordVector();
String[] options_wordVector = { /*other options*/};
str2Words.setOptions(options_wordVector); 
str2Words.setStemmer(sb);

当我在控制台开始调试时出现日志

Stemmer 'italian' unknown!

我也尝试sb.stem(string)过,但出现相同的消息,结果字符串是起始字符串。

我怎样才能让它工作?

4

1 回答 1

0

解决了。

我误解了Weka 的词干分析文档weka.jar其中存在weka.core.stemmers package,但它仅包含包装类。

不包括 Snowball 类,它们只需要存在于 classpath 中。这样做的原因是,Weka 团队不必留意词干分析器的新版本并对其进行更新。

在类路径中包含词干分析器后,问题中的代码实际上可以工作。

于 2015-10-08T15:32:39.673 回答