Я работаю над лемматизатором с использованием Python, NLTK и WordNetLemmatizer. Вот случайный текст, который выводит то, что я ожидал
from nltk.stem import WordNetLemmatizer
from nltk.corpus import wordnet
lem = WordNetLemmatizer()
lem.lemmatize('worse', pos=wordnet.ADJ) // here, we are specifying that 'worse' is an adjective
Выход: 'bad'
lem.lemmatize('worse', pos=wordnet.ADV) // here, we are specifying that 'worse' is an adverb
Выход: 'worse'
Ну тут все нормально. То же самое и с другими прилагательными, такими как 'better'
(для неправильной формы) или 'older'
(обратите внимание, что тот же тест с 'elder'
никогда не выдаст 'old'
, но я предполагаю, что wordnet не является исчерпывающим списком всех существующих английских слов)
Мой вопрос возникает, когда я пытаюсь использовать слово 'furter'
:
lem.lemmatize('further', pos=wordnet.ADJ) // as an adjective
Выход: 'further'
lem.lemmatize('further', pos=wordnet.ADV) // as an adverb
Выход: 'far'
Это прямо противоположно поведению 'worse'
слова!
Кто-нибудь может мне объяснить, почему? Это ошибка из-за данных синсетов wordnet или из-за моего непонимания английской грамматики?
Прошу извинить меня, если на вопрос уже дан ответ, я искал в Google и SO, но при указании ключевого слова «дальше» я могу найти все, что связано, но беспорядок из-за популярности этого слова ...
Заранее спасибо, Ромен Г.