def testWord2Vec(testWords,weights,num_display=3):
##Generate inverse word mapping for easy lookup
invWordDict = {v: k for k, v in wordDict.iteritems()}
## Normalize the trained weights for cosine similarity
trainedWeights = normalize(weights,norm = 'l2', axis = 1)
for word in testWords:
try:
embedding = trainedWeights[wordDict[word],:]
prox = np.argsort(np.dot(embedding,trainedWeights.transpose())/np.linalg.norm(embedding))[-num_display:].tolist()
prox.reverse()
print 'Closest word vector (by cosine similarity) for %s : '%word, [invWordDict[item] for item in prox]
except KeyError:
print '"%s" not found in the Trained Word Embeddings. Skipping...'%word
pass
评论列表
文章目录