PorterStemmer 动词以 -es 和 -ed 结尾 java
PorterStemmer with verbs ending in -es and -ed java
我在 java 中使用 PorterStemmer 来获取动词的基本形式,但我发现动词 "goes" 和 "gambles" 有问题。它不是将其词干化为 "go" 和 "gamble",而是将它们词干化为 "goe" 和 "gambl"。有没有更好的工具可以处理以 -es 和 -ed 结尾的动词来检索动词的基本形式? P.S JAWS with wordnet java 也可以做到这一点。
这是我的代码:
public class verb
{
public static void main(String[] args)
{
PorterStemmer ps = new PorterStemmer();
ps.setCurrent("gambles");
ps.stem();
System.out.println(ps.getCurrent());
}
}
这是控制台的输出:
gambl
花几分钟时间看完斯坦福NLP组的这篇教程
https://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html
您会发现词干分析器实际上并没有像您想象的那样工作。它很粗糙,所以它并不总是给你一个完整的动词基本形式,结尾被砍掉了。在您的情况下,由于您关心的是获得动词的完整基本形式,词形还原对您来说似乎更好。
我在 java 中使用 PorterStemmer 来获取动词的基本形式,但我发现动词 "goes" 和 "gambles" 有问题。它不是将其词干化为 "go" 和 "gamble",而是将它们词干化为 "goe" 和 "gambl"。有没有更好的工具可以处理以 -es 和 -ed 结尾的动词来检索动词的基本形式? P.S JAWS with wordnet java 也可以做到这一点。 这是我的代码:
public class verb
{
public static void main(String[] args)
{
PorterStemmer ps = new PorterStemmer();
ps.setCurrent("gambles");
ps.stem();
System.out.println(ps.getCurrent());
}
}
这是控制台的输出:
gambl
花几分钟时间看完斯坦福NLP组的这篇教程
https://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html
您会发现词干分析器实际上并没有像您想象的那样工作。它很粗糙,所以它并不总是给你一个完整的动词基本形式,结尾被砍掉了。在您的情况下,由于您关心的是获得动词的完整基本形式,词形还原对您来说似乎更好。