Я думаю, что лемматизатор Wordnet по умолчанию использует часть речи для существительного, поэтому вам нужно сказать, что вы лемматизируете глагол.
print(WordNetLemmatizer().lemmatize('loved', pos='v'))
love
print(WordNetLemmatizer().lemmatize('creating', pos='v'))
create
Любой используемый вами лемматизатор должен знать часть-речи, чтобы он знал, какие правила применять. В то время как два ваших слова всегда являются глаголами, многие слова могут быть обоими. Например, слово «живопись» может быть существительным или глаголом. Лемма глагола «рисовать» (т. Е. Я рисую) - «рисовать». Если вы используете «рисование» в качестве существительного (т. Е. Рисование), «рисование» - это лемма, поскольку это единственная форма существительного.
В целом, NLTK / Wordnet не очень точен, особеннодля слов, не входящих в его список слов. Я был недоволен производительностью доступных лемматизаторов, поэтому я создал свой собственный. См. Lemminflect . На главной странице Readme также есть сравнение нескольких распространенных лемматизаторов, если вы не хотите его использовать.