Я пытаюсь использовать весовые коэффициенты из моей модели word2vec в качестве весовых коэффициентов для слоя Embedded моей нейронной сети в кератах.Пример кода , которым я следую, использует:
word_model = gensim.models.Word2Vec(sentences, size=100, min_count=1,
window=5, iter=100)
pretrained_weights = word_model.wv.syn0
keras_model.add(Embedding(input_dim=vocab_size, output_dim=emdedding_size,
weights=[pretrained_weights]))
Я понимаю, что word2vec создает векторы для каждого слова, в данном случае размером 100.
pretrained_weights.shape
возвращает (1350,100), но я не уверен, что означает число 1350.
keras_model.predict(np.array([word_model.wv.vocab['test'].index]))
возвращает вектор размера 1350, который я не уверен, как интерпретировать (ответ, на котором обучалась модель, является вектором размера 7200).
Я могу запустить пример кода и получить хорошие результаты, но я хотел бы знать, почему он работает.