Я бы сказал, что вы ищете doc2vec .Используя это, вы можете конвертировать весь документ в один 300-мерный вектор.Вы можете использовать его следующим образом:
from gensim.test.utils import common_texts
from gensim.models.doc2vec import Doc2Vec, TaggedDocument
documents = [TaggedDocument(doc, [i]) for i, doc in enumerate(your_documents)]
model = Doc2Vec(documents, vector_size=300, window=2, min_count=1, workers=4)
Это позволит обучить модель вашим данным, и вы сможете представить каждый документ только с одним вектором, как вы указали в вопросе.
Вы можете запустить вывод с помощью:
vector = model.infer_vector(doc_words)
Надеюсь, это полезно:)