| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- # Natural Language Toolkit: WordNet stemmer interface
- #
- # Copyright (C) 2001-2020 NLTK Project
- # Author: Steven Bird <stevenbird1@gmail.com>
- # Edward Loper <edloper@gmail.com>
- # URL: <http://nltk.org/>
- # For license information, see LICENSE.TXT
- from nltk.corpus.reader.wordnet import NOUN
- from nltk.corpus import wordnet
- class WordNetLemmatizer(object):
- """
- WordNet Lemmatizer
- Lemmatize using WordNet's built-in morphy function.
- Returns the input word unchanged if it cannot be found in WordNet.
- >>> from nltk.stem import WordNetLemmatizer
- >>> wnl = WordNetLemmatizer()
- >>> print(wnl.lemmatize('dogs'))
- dog
- >>> print(wnl.lemmatize('churches'))
- church
- >>> print(wnl.lemmatize('aardwolves'))
- aardwolf
- >>> print(wnl.lemmatize('abaci'))
- abacus
- >>> print(wnl.lemmatize('hardrock'))
- hardrock
- """
- def __init__(self):
- pass
- def lemmatize(self, word, pos=NOUN):
- lemmas = wordnet._morphy(word, pos)
- return min(lemmas, key=len) if lemmas else word
- def __repr__(self):
- return "<WordNetLemmatizer>"
- # unload wordnet
- def teardown_module(module=None):
- from nltk.corpus import wordnet
- wordnet._unload()
|