Как совместить сеть глубокого обучения с word2vec? - PullRequest
0 голосов
/ 02 июня 2019

Я делаю классификацию текста на диалекте, твит может быть входом, а затем вы предсказываете, какие 5 классов у меня есть, к какому классу принадлежит твит

Итак, сначала у меня есть модель word2vec, которую я обучилс данными без меток:

model = gensim.models.Word2Vec (documents, size=150, window=10, min_count=2, workers=10)
model.train(documents,total_examples=len(documents),epochs=10)

и у меня есть этот код для нейронной сети:

from keras.preprocessing import text, sequence
from keras import layers, models, optimizers

def create_model_architecture(input_size):
    # create input layer 
    input_layer = layers.Input((input_size, ), sparse=True)

    # create hidden layer
    hidden_layer = layers.Dense(100, activation="relu")(input_layer)

    # create output layer
    output_layer = layers.Dense(4, activation="sigmoid")(hidden_layer)

    classifier = models.Model(inputs = input_layer, outputs = output_layer)
    classifier.compile(optimizer=optimizers.Adam(), loss='binary_crossentropy',metrics=['accuracy'])
    return classifier 

classifier = create_model_architecture(X.shape[1])
# fit the training dataset on the classifier
classifier.fit(train_X, train_y,epochs=1)

# predict the labels on validation dataset
predictions = classifier.predict(X)

predictions = predictions.argmax(axis=-1)
print(predictions)

print(metrics.accuracy_score(predictions, train_y))

У меня есть 5 категорий, к которым я хотел бы классифицировать.Я преобразовал категории в один горячий кодер в train_y.но я не знаю, как вставить word2vec в качестве входного слоя в нейронную сеть (если это то, что я должен делать), а затем позволить ему обучаться для классификации на 5 классов.

...