Средние и большие словари spaCy могут генерировать векторы для слов и фраз. Давайте рассмотрим следующий пример:
import spacy
nlp = spacy.load("en_core_web_md")
tokens = nlp("apple cat sky")
print(tokens.text, tokens.vector[:3], tokens.vector_norm) #just only first three conmponents of vector
for token in tokens:
print(token.text, token.vector[:3], token.vector_norm)
Вывод:
apple cat sky [-0.06734333 0.03672066 -0.13952099] 4.845729844425328
apple [-0.36391 0.43771 -0.20447] 7.1346846
cat [-0.15067 -0.024468 -0.23368 ] 6.6808186
sky [ 0.31255 -0.30308 0.019587] 6.617719
Понятно, что словарь содержит векторы для каждого слова, но как генерируется вектор для всей фазы? Как видно, это не просто сумма векторов.