【发布时间】:2017-03-26 14:31:55
【问题描述】:
我在 Java 中使用 PorterStemmer 来获取动词的基本形式,但我发现动词“goes”和“gambles”存在问题。它没有将其词干为“goe”和“gamble”,而是将它们词干为“goe”和“gambl”。有没有更好的工具可以处理以 -es 和 -ed 结尾的动词来检索动词的基本形式?带有 wordnet java 的 P.S JAWS 也可以做到这一点。 这是我的代码:
public class verb
{
public static void main(String[] args)
{
PorterStemmer ps = new PorterStemmer();
ps.setCurrent("gambles");
ps.stem();
System.out.println(ps.getCurrent());
}
}
这是控制台的输出:
gambl
【问题讨论】:
-
通常被认为是一个粗略的错误,即词干算法在删除词干后没有留下真实的单词。但是词干提取的目的是将单词的变体形式组合在一起,而不是将单词映射到其“范式”形式。来源 - tartarus.org/martin/PorterStemmer
-
请说明你想做什么。从您的问题中,很难判断您是想使用 PorterStemmer 做某事,还是要针对 PorterStemmer 记录错误。我认为您前进的方向是获取 PorterStemmer 的输出并将其与词根相关联。
标签: java eclipse nlp porter-stemmer jaws-wordnet