In [1]:
#remmeber to pip install -r requirements.txt
import gensim
from gensim.models import word2vec
#load the model
model = word2vec.Word2Vec.load('latinvec.model')

In [2]:
#top five most similar words, all lowercase
model.most_similar_cosmul(positive='caesar')


Out[2]:
[('pompeius', 0.9423105716705322),
 ('pompei', 0.9176476001739502),
 ('consul', 0.9151298999786377),
 ('siciliam', 0.9095978140830994),
 ('caesaris', 0.9090651869773865),
 ('caesarem', 0.907688319683075),
 ('plebis', 0.9067991375923157),
 ('imperator', 0.902067244052887),
 ('consuli', 0.8998723030090332),
 ('antonius', 0.8991761207580566)]

In [4]:
# how similar are two terms?
# bot iulius and julius appear, I don't know how to fix that.
model.similarity('augustus','iulius')


Out[4]:
0.83048498406655502

In [15]:
#you can give several positive values an several negative ones
#the cosmul is usually a better result but there's another operation as well
#just pass an array of strings positive = ['','',''] and negative=['','']
model.most_similar_cosmul(positive=['imperator','romanum'])


Out[15]:
[('exercitum', 0.8012385964393616),
 ('rex', 0.7942215800285339),
 ('dictatorem', 0.7937188148498535),
 ('asiam', 0.7934879660606384),
 ('imperium', 0.7915235757827759),
 ('venisset', 0.7866526246070862),
 ('galliam', 0.7842404246330261),
 ('collegam', 0.7821328043937683),
 ('regnum', 0.7794334888458252),
 ('triumphum', 0.7794215083122253)]

In [37]:
model.most_similar_cosmul(positive=['claudius','nero'])


Out[37]:
[('marcellus', 0.9351851940155029),
 ('domitius', 0.9308502674102783),
 ('flaccus', 0.9295971989631653),
 ('agrippa', 0.9292423129081726),
 ('sardiniam', 0.9289276599884033),
 ('metellus', 0.9270217418670654),
 ('paulus', 0.925188422203064),
 ('fulvius', 0.9248977899551392),
 ('fabius', 0.9219650030136108),
 ('cassius', 0.9212502241134644)]

In [ ]: