使用 Wordnet Lemmatizer 获取词根

Getting the root word using the Wordnet Lemmatizer

我需要为关键字提取器找到与所有相关词匹配的公共词根。

如何使用 python nltk 词形还原器将单词转换为相同的词根?

python nltk lemmatizer 为 'generalized' 和 'generalizing' 提供 'generalize',当使用词性(pos)标签参数但不为 'generalization'.

有办法吗?

使用 SnowballStemmer:

>>> from nltk.stem.snowball import SnowballStemmer
>>> stemmer = SnowballStemmer("english")
>>> print(stemmer.stem("generalized"))
general
>>> print(stemmer.stem("generalization"))
general

Note: Lemmatisation is closely related to stemming. The difference is that a stemmer operates on a single word without knowledge of the context, and therefore cannot discriminate between words which have different meanings depending on part of speech.

我在词形还原器中看到的一个普遍问题是,它会将更大的词识别为 引理s。

示例: 在 WordNet Lemmatizer(在 NLTK 中检查),

  • 泛化 => 泛化
  • 泛化 => 泛化
  • 概括 => 概括

POS 标签在上述情况下未作为输入给出,因此始终被视为 名词