Katse Glove vektoritega

Allikas: Lambda
#!/usr/bin/python3

# https://medium.com/analytics-vidhya/basics-of-using-pre-trained-glove-vectors-in-python-d38905f356db


import numpy as np
from scipy import spatial
import matplotlib.pyplot as plt
from sklearn.manifold import TSNE

def find_closest_embeddings(embedding):
    return sorted(embeddings_dict.keys(), 
       key=lambda word: spatial.distance.euclidean(embeddings_dict[word], embedding))

embeddings_dict = {}

with open("glove.6B.50d.txt", 'r', encoding="utf-8") as f:
  for line in f:
    values = line.split()
    word = values[0]
    vector = np.asarray(values[1:], "float32")
    embeddings_dict[word] = vector
    
    
              
#print(find_closest_embeddings(
#    embeddings_dict["twig"] - embeddings_dict["branch"] + embeddings_dict["hand"]
#)[:5])    

print(find_closest_embeddings(
    embeddings_dict["king"] - embeddings_dict["man"] + embeddings_dict["woman"]
)[:20]) 

#print(find_closest_embeddings(
#    embeddings_dict["king"] 
#)[:100]) 


"""

John sat on a bike   and started ....
              car    and   drove 
        house  water   I     car 

"""