使用Wordnet Lemmatizer获取根词

时间:2016-09-03 03:10:46

标签: python nlp nltk wordnet lemmatization

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

如何使用python nltk lemmatizer将单词转换为同一个根?

  • 例如:
    1. 概括,概括 - >一般
    2. 最佳,优化 - >优化(也许)
    3. 配置,配置,配置 - >配置

python nltk lemmatizer给出了' generalize',用于' generalized'和'概括'当使用词性(pos)标签参数但不用于“概括”时。

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:5)

使用SnowballStemmer:

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

注意:Lemmatisation与词干密切相关。不同的是   一个词干分子在一个单词上运作而不知道   上下文,因此不能区分具有的词   不同的含义取决于词性。

我在lemmatizers中看到的一个普遍问题是它将更大的单词识别为引理

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

  • Genralized =>概括
  • 概括=>概括
  • Generalizations =>概括

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