/ / Stemming javaのテキスト[複製] - java、lucene、ステミング

Javaのステミングテキスト[複製] - java、lucene、stemming

文字列をステミングする可能性を探しているJavaで。 最初に私はluceneでそれをやりたかったが全ての例 私はウェブで見つけたが廃止されました。 (SnowballAnalyzer、 PorterStemmer、...) 文全体を語幹にまとめたいだけです。

public static String stemSentence(String sentence) {
...
return stemmedSentence;
}

どうすればいいですか?

回答:

回答№1は4

これ作って:

public static String stem(String string) throws IOException {
TokenStream tokenizer = new StandardTokenizer(Version.LUCENE_47, new StringReader(string));
tokenizer = new StandardFilter(Version.LUCENE_47, tokenizer);
tokenizer = new LowerCaseFilter(Version.LUCENE_47, tokenizer);
tokenizer = new PorterStemFilter(tokenizer);

CharTermAttribute token = tokenizer.getAttribute(CharTermAttribute.class);

tokenizer.reset();

StringBuilder stringBuilder = new StringBuilder();

while(tokenizer.incrementToken()) {
if(stringBuilder.length() > 0 ) {
stringBuilder.append(" ");
}

stringBuilder.append(token.toString());
}

tokenizer.end();
tokenizer.close();

return stringBuilder.toString();
}