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);
我正在使用 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);