import numpy as np # Vocabulary and lookup vocab = ['cat', 'dog', 'fish'] word_to_index = {word: idx for idx, word in enumerate(vocab)} # Function to create a one-hot vector def one_hot(word): vec = np.zeros(len(vocab)) vec[word_to_index[word]] = 1 return vec cat_vec = one_hot('cat') dog_vec = one_hot('dog') fish_vec = one_hot('fish') # Dot products print(np.dot(cat_vec, dog_vec)) # 0.0 print(np.dot(cat_vec, fish_vec)) # 0.0 # Euclidean distances print(np.linalg.norm(cat_vec - dog_vec)) # 1.414... print(np.linalg.norm(cat_vec - fish_vec)) # 1.414...