茎('苹果')='苹果'
茎('苹果')='appl'
茎('appl')='appl'
这不是词干算法的缺陷吗?
(这是使用波特词干算法)
这看起来更像是您正在使用的算法的实现中的一个错误。
当我按照原始算法中的步骤(来自您链接到的页面)时,“apples”中的最后一个“s”在步骤 1a 中被删除,而“e”在步骤 5a 中被删除,所以“apples”的词干是还有“应用”。
我在这里http://preciselyconcise.com/apis_and_installations/smart_stemmer.php找到了一个带有字典支持的搬运工词干算法的实现。
这个 API 使用起来非常简单,并且可以纠正词干的拼写错误。我建议你使用这个词干分析器,因为这个 API 有一个词干词的自动更正选项。