我尝试使用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)
,但是会出现相同的消息,结果字符串是起始字符串。
我怎样才能让它发挥作用?
答案 0 :(得分:0)
解决。
我误解了Weka's stemmers docs:在weka.jar
中它存在weka.core.stemmers package
,但它只包含了包装类。
Snowball课程不包括在内,他们只需要出席 在类路径中。原因是,Weka团队没有 必须注意新版本的词干分析器并更新它们。
在类路径中包含词干分析符后,问题中的代码实际上有效。