Я слежу за учебником по лемматизации - ›https://www.machinelearningplus.com/nlp/lemmatization-examples-python/
Как было сказано в разделе пространственной лемматизации, я загрузил модель 'en-core-web-sm'
, проанализировал и извлек леммы каждого слова из данного предложения.
Мой код такой, как показано ниже
nlp = spacy.load('en_core_web_sm', disable=['parser', 'ner'])
sentence = "The striped bats are hanging on their feet for best"
doc = nlp(sentence)
lemmatized_spacy_output = " ".join([token.lemma_ for token in doc])
print(lemmatized_spacy_output)
Для ввода
"The striped bats are hanging on their feet for best"
Он дает результат как
the stripe bat be hang on their foot for good
в то время как ожидаемый результат
the strip bat be hang on -PRON- foot for good'
Как видно, слово stripes
должно быть идентифицировано как глагол, но по какой-то причине оно классифицируется как существительное (поскольку на выходе получается полоса, а не полоса). Кроме того, он не определяет личные местоимения, а выдает токены как есть.
Я уже пробовал много вопросов по github и stackoverflow, но ни один из них не нацелен на мой запрос.