2017-04-18 2 views
1

Ich befolge das Tutorial hier: https://blog.keras.io/using-pre-trained-word-embeddings-in-a-keras-model.html, mit einem anderen Datensatz. Ich versuche, die Bezeichnung für eine neue zufällige Zeichenfolge vorherzusagen.Keras .Predict mit Word-Einbettungen zurück zu String

Ich mache ein bisschen Beschriftung anders:

encoder = LabelEncoder() 
encoder.fit(labels) 
encoded_Y = encoder.transform(labels) 
dummy_y = np_utils.to_categorical(encoded_Y) 

Und dann vorherzusagen versuchen, wie: (? Vielleicht ist das Wort Einbettungen)

string = "I am a cat" 
query = tokenizer.texts_to_sequences(string) 
query = pad_sequences(query, maxlen=50) 

prediction = model.predict(query) 
print(prediction) 

ich ein Array von Arrays wie unten zurück . Was sind das und wie kann ich sie zurück in eine Zeichenfolge übersetzen?

[[ 0.03039312 0.02099193 0.02320454 0.02183384 0.01965107 0.01830118 
    0.0170384 0.01979697 0.01764384 0.02244077 0.0162186 0.02672437 
    0.02190582 0.01630476 0.01388928 0.01655456 0.011678 0.02256939 
    0.02161663 0.01649982 0.02086013 0.0161493 0.01821378 0.01440909 
    0.01879989 0.01217389 0.02032642 0.01405699 0.01393504 0.01957162 
    0.01818203 0.01698637 0.02639499 0.02102267 0.01956343 0.01588933 
    0.01635705 0.01391534 0.01587612 0.01677094 0.01908684 0.02032183 
    0.01798265 0.02017053 0.01600159 0.01576616 0.01373934 0.01596323 
    0.01386674 0.01532488 0.01638312 0.0172212 0.01432543 0.01893282 
    0.02020231] 

Antwort

1

Speichern Sie die Einbau Etiketten im Encoder:

encoder = LabelEncoder() 
    encoder = encoder.fit(labels) 
    encoded_Y = encoder.transform(labels) 
    dummy_y = np_utils.to_categorical(encoded_Y) 

Prediction geben Ihnen einen Klassenvektor. Und mit der inverse_transform erhalten Sie den Etikettentyp wie von Ihrer ursprünglichen Eingabe:

prediction = model.predict_classes(query) 
    label = encoder.inverse_transform(prediction)