In [5]:
import numpy
import imaginet.task as task
import imaginet.defn.audiovis_rhn as audiovis
import imaginet.defn.audiovis4 as a4
import imaginet.tts as tts
In [2]:
def read_men():
records = []
for line in open("/home/gchrupala/reimaginet/data/MEN/MEN_dataset_natural_form_full"):
word1, word2, score = line.split()
records.append((word1, word2, float(score)))
return records
MEN = read_men()
In [3]:
import cPickle as pickle
voc_men = pickle.load(open("/home/gchrupala/reimaginet/data/MEN/voc.pkl"))
speech_men = pickle.load(open("/home/gchrupala/reimaginet/data/MEN/speech.pkl"))
In [6]:
mfcc_men = [ tts.extract_mfcc(audio) for audio in speech_men ]
In [7]:
from scipy.spatial.distance import cosine
from scipy.stats import spearmanr
def correlation(voc, emb, ratings):
REP = dict(zip(voc, emb))
sim = [ 1-cosine(REP[w1],REP[w2]) for (w1,w2,_) in ratings ]
score = [s for (_,_,s) in ratings]
return spearmanr(score, sim)
In [8]:
print "epoch r"
for epoch in range(1,11):
model = task.load("/home/gchrupala/reimaginet/run-speech-vendrov-3/model.{}.zip".format(epoch))
embeddings = audiovis.encode_sentences(model, mfcc_men)
r = correlation(voc_men, embeddings, MEN)
print epoch, r
In [10]:
print "epoch r"
for epoch in range(1,5):
model = task.load("/home/gchrupala/reimaginet/run-rhn-coco-9/model.r.e{}.zip".format(epoch))
embeddings = audiovis.encode_sentences(model, mfcc_men)
r = correlation(voc_men, embeddings, MEN)
print epoch, r
In [ ]: