【问题标题】:PorterStemmer with verbs ending in -es and -ed javaPorterStemmer 动词以 -es 和 -ed java 结尾
【发布时间】: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


【解决方案1】:

花几分钟时间阅读斯坦福 NLP 小组的这篇教程

https://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html

您会发现词干分析器实际上并没有像您想象的那样工作。它很粗糙,所以它并不总是给你一个完整的动词基本形式,结尾被砍掉。在您的情况下,由于您关心获得动词的完整基本形式,因此词形还原似乎对您更好。

【讨论】:

  • 非常感谢您抽出宝贵时间我会检查出来。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 2018-01-15
  • 2017-06-24
  • 2021-12-22
  • 2017-07-20
  • 2019-12-02
  • 1970-01-01
相关资源
最近更新 更多