In [3]:
import gensim
import pprint
import numpy as np
path = "PATH_TO_MODEL"
model = gensim.models.Word2Vec.load(path)

In [259]:
import random

words = ['सासु', "छोरा", "ससुरा", "बुहारी"]
random.shuffle(words)
print (words)
colors = 'red blue yellow green'
w1 = model.most_similar(words[0], topn=450)
w2 = model.most_similar(words[1], topn=450)
w3 =  model.most_similar(words[2], topn = 450)
w4 =  model.most_similar(words[3], topn = 450)
random.shuffle(ram)
random.shuffle(sita)
random.shuffle(w3)
random.shuffle(w4)
top20 = w1[:40]+w2[:40]+w3[:40]+w4[:40]
distances = []

for each in top20:
    distances.append((each[0], model.n_similarity([each[0]],[words[0]]), model.n_similarity([each[0]], [words[1]])))


['बुहारी', 'ससुरा', 'छोरा', 'सासु']

In [260]:
%matplotlib notebook
from __future__ import unicode_literals
import matplotlib.pyplot as plt
import numpy as np
plt.title("Men and Women")
plt.xlabel("Similarity to  -->"+words[0])
plt.ylabel("Similarity to {0} -->".format(words[1]))


for idex, each in enumerate(distances):
    c = 'red' if 0<idex<40 else 'blue' if 40<idex<80 else 'yellow' if 80<idex<120 else 'green'
    plt.scatter([each[1]], [each[2]],c=c, marker='o')
plt.plot([0,1],[0,1], '|')
#print(words)
#print (colors.split())
print (list(zip(words,colors.split() )))


[('बुहारी', 'red'), ('ससुरा', 'blue'), ('छोरा', 'yellow'), ('सासु', 'green')]

In [ ]:


In [ ]: