使用 Wordnet Lemmatizer 获取词根
Getting the root word using the Wordnet Lemmatizer
我需要为关键字提取器找到与所有相关词匹配的公共词根。
如何使用 python nltk 词形还原器将单词转换为相同的词根?
- 例如:
- generalized, generalization -> general
- 最佳,优化 -> 优化(可能)
- 配置,配置,配置 -> 配置
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 标签在上述情况下未作为输入给出,因此始终被视为 名词。
我需要为关键字提取器找到与所有相关词匹配的公共词根。
如何使用 python nltk 词形还原器将单词转换为相同的词根?
- 例如:
- generalized, generalization -> general
- 最佳,优化 -> 优化(可能)
- 配置,配置,配置 -> 配置
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 标签在上述情况下未作为输入给出,因此始终被视为 名词。