File size: 517 Bytes
0182b00
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
from sklearn.metrics.pairwise import cosine_similarity
import numpy as np

def calculate_cosine_similarity(user_embedding, product_embeddings, product_ids, top_n=5):
    user_embedding = user_embedding.reshape(1, -1)
    product_embeddings = np.array(product_embeddings)

    similarities = cosine_similarity(user_embedding, product_embeddings).flatten()
    top_indices = similarities.argsort()[::-1][:top_n]
    recommendations = [(product_ids[i], similarities[i]) for i in top_indices]

    return recommendations