Skip to content

Instantly share code, notes, and snippets.

@dimazest
Last active August 29, 2015 13:56
Show Gist options
  • Save dimazest/9049092 to your computer and use it in GitHub Desktop.
Save dimazest/9049092 to your computer and use it in GitHub Desktop.
@view.parallel(block=False)
def cosine_similarity(rows):
from sklearn.metrics import pairwise
print('hi!')
return [len(rows)]
@functools.lru_cache(maxsize=None)
def compute_tensor_dot(word, other_word=None):
print('Product')
space = __import__('__main__').space
vector = space[word]
other_vector = space[other_word] if other_word is not None else vector
return numpy.tensordot(vector, other_vector, axes=0).flatten()
similarities = []
for verb, subject, object_, landmark in rows:
print('Composing {} with {} and {}'.format(verb, subject, object_))
sentence_verb = compute_tensor_dot(verb) * compute_tensor_dot(subject, object_)
print('Composing {} with {} and {}'.format(landmark, subject, object_))
sentence_landmark = compute_tensor_dot(landmark) * compute_tensor_dot(subject, object_)
similarities.append(
pairwise.cosine_similarity(sentence_verb, sentence_landmark)[0][0]
)
return similarities
view['space'] = space
ar = cosine_similarity(gs11_data[['verb', 'subject', 'object', 'landmark']].values)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment