Как получить дамп всех векторов из модели gensim W2V?

#python #vector #gensim #word2vec

#python #вектор #gensim #word2vec

Вопрос:

Используя объект KeyedVectors, я могу получить вектор W2V, заданный словом, вот так.

 from gensim.models import KeyedVectors

model = KeyedVectors.load('vectors.kv')
model.get_vector('example')  # output => [0.12, 0.41, ..., 0.92]
 

Как я могу сделать то же самое для каждого термина (ключа), содержащегося в модели?

Обратите внимание, что это не обязательно должен быть объект KeyedVectors, в качестве альтернативы это может быть объект Word2Vec.

РЕДАКТИРОВАТЬ — благодаря gojomo:

 vector_dct = {}
for word in kv_model.index2word: 
    vector_dct[word] = kv_model.get_vector(word)

df = pd.DataFrame(vector_dct).T
 

Ответ №1:

 for word in kv_model.index2word:  # changes to kv_model.index_to_key in gensim-4.0.0
    kv_model.get_vector(word)