Q7: Cosine Similarity Solution
Find the most similar pair of phrases using cosine similarity
1
How to Submit Your Answer- Copy the code below using the copy button
- Paste it into the answer box
- Click the check button to verify your answer
2
Solution Codeimport numpy as np
from itertools import combinations
def cosine_similarity(vec1, vec2):
vec1 = np.array(vec1)
vec2 = np.array(vec2)
return np.dot(vec1, vec2) / (np.linalg.norm(vec1) * np.linalg.norm(vec2))
def most_similar(embeddings):
max_similarity = -1 # Initialize with lowest possible similarity
most_similar_pair = (None, None)
# Generate all unique pairs of phrases
for phrase1, phrase2 in combinations(embeddings.keys(), 2):
sim = cosine_similarity(embeddings[phrase1], embeddings[phrase2])
if sim > max_similarity:
max_similarity = sim
most_similar_pair = (phrase1, phrase2)
return most_similar_pair