Я хочу сократить слово до его базовой формы без использования контекстной информации. Я попробовал spacy, и для этого требуется запустить nlp, чтобы получить базовую форму одного слова, но это приводит к увеличению времени выполнения.
Я просмотрел этот пост, в котором отключение компонентов синтаксического анализатора и конвейера NER в некоторой степени ускоряет время выполнения, но я просто хочу, чтобы процесс напрямую просматривал базу данных word и его лемму форма (в основном базовая форма слова без учета контекстной информации
my_list = ["doing", "done", "did", "do"]
for my_word in my_list:
doc = nlp(my_word, disable=['parser', 'ner'])
for w in doc:
print("my_word {}, base_form {}".format(w, w.lemma_))
желаемый результат
my_word doing, base_form do
my_word done, base_form do
my_word did, base_form do
my_word do, base_form do
Примечание: я также пробовал spacy.lemmatizer, но это не дает ожидаемых результатов и требуемый pos в качестве дополнительных инструментов.