2017-12-02 3 views
0

Von Udacity Notebook Übung; Nachdem die Einbettungen trainiert wurden, versuche ich, alle verwandten Wörter aus einem Eingabewort zu bekommen, und ich bekomme seltsame Ergebnisse. Ist der folgende Code korrekt?Wie benutze ich final_embeddings?

udacity exercise

final_embeddings = normalized_embeddings.eval() 
word='history' 
nearest = (-final_embeddings[dictionary[word], :]).argsort()[1:9] 
for idx in range(len(nearest)): 
    print reverse_dictionary[nearest[idx]] 

Antwort

0

sorry für die dumme Frage. Habe gerade erkannt, dass final_embeddings die W-trainierte Matrix ist. Antwort ist: ein eingegebenes Wort gegeben. Ähnlichkeit wird berechnet, indem man prob_vec [word] matmul macht W

word='the' 
word_vec = final_embeddings[dictionary[word]] 
sim = np.dot(word_vec, -final_embeddings.T).argsort()[0:8] 
for idx in range(8): 
    print reverse_dictionary[sim[idx]] 

Danke!