2

我目前在我的 Java 项目中使用 Snowball Stemmer (Porter2) 来词干词等。但是,它词干的词要么不一定需要词干,要么词干太多?例如,online -> onlinwhy -> whiraise-> raisappreciate -> appreci

有什么方法可以尝试防止这种不必要的词干,因为我希望它通过实现某种可以避免这些的字典来给我有意义的词,以及词干需要词干的词,例如treating -> treat,records -> recorddevelopment -> develop词干?或者是否有任何其他类似于 Snowball 的词干分析器在词干能力方面不太精确?

感谢所有的帮助。

这是我的功能。

4

1 回答 1

1

Porter Stemmer 的主要工作是将单词组合成一组词干。这些词干很好,因为 Porter 是为搜索目标而存在的,即词干是否是真正的起源并不重要,重要的是它对于整个词族都是一样的。

当您致力于Term frequency analysisCollocations的目标时,我想您需要一个轻型词干分析器或一个最小的词干分析器。

您可以查看这篇文章以了解Lucene 中使用的词干分析器。你可以注意到:

最小英文

Lucene 中的EnglishMinimalStemmer,它删除了复数

于 2016-02-17T13:03:51.197 回答