Так что по вашему примеру это немного сложно понять, но похоже, что вы создаете новый spaCy do c на каждой итерации вашего l oop, что будет медленным. Вместо этого вы должны сделать что-то вроде этого:
import spacy
nlp = spacy.load('en')
query = nlp('tall building')
for token in mytokens:
query.similarity(nlp(token))
Таким образом, spaCy должен только создать запрос, выполните c один раз.
Если вы хотите делать повторные запросы, вы должны поставить вектор для каждого do c в раздражать или аналогичный, чтобы быстро получить наиболее похожий do c.
Кроме того, я бы вообще не назвал этот вывод "синонимами", поскольку каждый приведенный вами пример состоит из нескольких слов. Вы действительно ищете похожие фразы. «Синонимы» обычно подразумевают отдельные слова, как вы найдете в тезаурусе, но здесь вам это не поможет.