Разбираюсь тут с лемматизацией в spaCy (он пока что используется только для этого) и возник вопрос. В чём разница между этими двумя вариантами ниже? По первому впечатлению, скорость и качество работы у них не отличается, однако первый требует загрузки готовой модели, а второй нет. Использую spacy[lookops] последней актуальной версии 2.2.
Вариант 1:
import spacy
morph_analyser_en = spacy.load('en_core_web_sm', disable=['tagger', 'parser', 'ner'])
Вариант 2:
from spacy.lang.en import English
morph_analyser_en = English()
Собственно, лемматизация:
for i in range(len(words)):
result_analysing = morph_analyser_en(words[i])
lemma = result_analysing[-1].lemma_
И все же tagger, parser и NER отключаются для улучшения скорости. Когда нужна только лемматизация, нет необходимости строить при этом предсказания по частям речи, зависимостям и сущностям (их spaCy всегда сразу делает по дефолту, если не указано иное)