Ajouter l’historique utilisateur au moteur de recommandation
Dans de nombreux cas de recommandation, comme les films ou les achats, baser la prochaine recommandation sur un seul point de données ne suffit pas. Dans ces situations, vous devrez créer des embeddings pour tout ou partie de l’historique de l’utilisateur afin d’obtenir des recommandations plus précises et pertinentes.
Dans cet exercice, vous allez étendre votre système de recommandation de produits pour tenir compte de tous les produits que l’utilisateur a déjà consultés, stockés dans une liste de dictionnaires appelée user_history.
Les fonctions personnalisées suivantes sont à votre disposition : create_embeddings(texts), create_product_text(product) et find_n_closest(query_vector, embeddings, n=3). numpy a également été importé sous le nom np.
Cet exercice fait partie du cours
Introduction aux embeddings avec l’API OpenAI
Instructions
- Combinez les caractéristiques textuelles de chaque produit dans
user_history, générez les embeddings des chaînes obtenues, puis calculez la moyenne des embeddings avecnumpy. - Filtrez
productspour retirer les produits présents dansuser_history. - Combinez les caractéristiques de chaque produit dans
products_filteredet générez les embeddings des chaînes obtenues.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Prepare and embed the user_history, and calculate the mean embeddings
history_texts = [____ for article in user_history]
history_embeddings = ____
mean_history_embeddings = ____
# Filter products to remove any in user_history
products_filtered = ____
# Combine product features and embed the resulting texts
product_texts = ____
product_embeddings = ____
hits = find_n_closest(mean_history_embeddings, product_embeddings)
for hit in hits:
product = products_filtered[hit['index']]
print(product['title'])