À l'aide de pré-formés word2vec avec LSTM pour le mot "génération"

LSTM/RNN peut être utilisé pour la génération de texte.
Cette montre le chemin à l'utilisation de pré-formés Gant mot plongements de Keras modèle.

  1. Comment utiliser la pré-formation Word2Vec mot plongements avec Keras LSTM
    modèle? Cette post n'aide.
  2. Comment prédire /générer prochaine mot lorsque le modèle est fourni avec la séquence de mots en entrée?

Exemple d'approche essayé:

# Sample code to prepare word2vec word embeddings    
import gensim
documents = ["Human machine interface for lab abc computer applications",
             "A survey of user opinion of computer system response time",
             "The EPS user interface management system",
             "System and human system engineering testing of EPS",
             "Relation of user perceived response time to error measurement",
             "The generation of random binary unordered trees",
             "The intersection graph of paths in trees",
             "Graph minors IV Widths of trees and well quasi ordering",
             "Graph minors A survey"]
sentences = [[word for word in document.lower().split()] for document in documents]

word_model = gensim.models.Word2Vec(sentences, size=200, min_count = 1, window = 5)

# Code tried to prepare LSTM model for word generation
from keras.layers.recurrent import LSTM
from keras.layers.embeddings import Embedding
from keras.models import Model, Sequential
from keras.layers import Dense, Activation

embedding_layer = Embedding(input_dim=word_model.syn0.shape[0], output_dim=word_model.syn0.shape[1], weights=[word_model.syn0])

model = Sequential()
model.add(embedding_layer)
model.add(LSTM(word_model.syn0.shape[1]))
model.add(Dense(word_model.syn0.shape[0]))   
model.add(Activation('softmax'))
model.compile(optimizer='sgd', loss='mse')

Exemple de code /psuedocode pour former LSTM et de prédire que ce sera apprécié.