在我使用NLTK PorterStemmer 对一个词进行词干处理后,该词有时会变成一个不完整的词,例如“receive”在词干之后变成“receiv”,这不是一个正确的词。
那么如何将 NLTK PorterStemmer 词干词恢复为正确的词呢?
在我使用NLTK PorterStemmer 对一个词进行词干处理后,该词有时会变成一个不完整的词,例如“receive”在词干之后变成“receiv”,这不是一个正确的词。
那么如何将 NLTK PorterStemmer 词干词恢复为正确的词呢?
简单的答案是“你不能”。
除非它是这个词的唯一实例,并且你有原始文本可以比较,否则几乎不可能恢复这个词,因为一个词的词干可能有许多变体,可以从中减少它。
例如,在这种情况下,“receiv”可能是“received”或“receiving”或“receiver”或许多其他变体之一。
如果没有确切的上下文,就不可能猜到是哪个。对不起。
词干化的目的是将单词的屈折形式简化为基本形式,例如“receive”到“receiv”,“deceive”到“deceiv”,甚至“differ”到“differ”。
只要相关词映射到相同的基本形式,词干不需要与词的形态词根完全相同。这就是为什么 NLTK PorterStemmer 会切断单词的结尾,有时像“receiv”这样的单词拼写不正确,但这仍然是预期的行为。