Java:使用 Wordnet 和 JWNL 在词干提取后保留点

Java: Preserving dot after word stemming using Wordnet and JWNL

我正在使用 JWNL 检查单词,return 单词的词干(exp:知道 -> 知道)。它工作正常,但我如何保留单词中包含的句点(点)(exp:知道。 - >知道。)因为每次词干带点时它都会删除句点。

String x = stem.StemWordWithWordNet ("knew.");
System.out.println(x);

单词词干提取的代码在这里:http://tipsandtricks.runicsoft.com/Other/JavaStemmer.html 或者,如果它检测到一个句点,我可以将一个句点包含在一个词干词中吗? 有人熟悉这个吗?谢谢

词干分析器只对词起作用,所以要包括句点和 full-stops 你需要在外部进行。

一个简单的方法是定义您自己的支持这些细节的词干提取方法,当它在您的整个项目中重复使用时它会得到回报。

String stemWord(Stemmer s, String word) throws Exception
{
    return s.StemWordWithWordNet(word)
    + (word.charAt(word.length()-1)=='.'?".":"");
}

然后像这样使用它

String x = stemWord(stem,"knew.");
System.out.println(x);

String x = stemWord(stem,"knew");
System.out.println(x);