В настоящее время я использую spaCy для целей НЛП (в основном лемматизация и токенизация). Используемая модель - en-core-web-sm (2.1.0).
Следующий код запускается для получения списка слов «очищено» из запроса.
import spacy
nlp = spacy.load("en_core_web_sm")
doc = nlp(query)
list_words = []
for token in doc:
if token.text != ' ':
list_words.append(token.lemma_)
Однако при запуске этого кода я сталкиваюсь с серьезной проблемой. Например, при запросе «обработка чайных листьев». Результатом, хранящимся в list_words, может быть ['обработка', 'чай', 'лист'] или ['обработка', 'чай', 'отпуск »].
Похоже, результат не соответствует действительности. Я не могу изменить свой ввод / запрос (добавить еще одно слово для контекста невозможно), и мне действительно нужно каждый раз находить один и тот же результат. Думаю, проблема в загрузке модели.
Почему результат отличается? Могу ли я загружать модель каждый раз «одинаково»? Я пропустил параметр для получения того же результата для неоднозначного запроса?
Спасибо за вашу помощь