Gebruikersgeschiedenis toevoegen aan de aanbevelingsengine
Voor veel aanbevelingsscenario’s, zoals films of aankopen, is één datapunt als basis voor de volgende aanbeveling niet genoeg. In zulke gevallen moet je alle of een deel van de gebruikersgeschiedenis embedden voor nauwkeurigere en relevantere aanbevelingen.
In deze oefening breid je je productaanbevelingssysteem uit zodat het rekening houdt met alle producten die de gebruiker eerder heeft bezocht. Die staan in een lijst met dictionaries genaamd user_history.
De volgende aangepaste functies zijn beschikbaar: create_embeddings(texts), create_product_text(product) en find_n_closest(query_vector, embeddings, n=3). numpy is ook geïmporteerd als np.
Deze oefening maakt deel uit van de cursus
Introductie tot Embeddings met de OpenAI API
Oefeninstructies
- Combineer de tekstkenmerken voor elk product in
user_history, embed de resulterende strings en bereken de gemiddelde embeddings metnumpy. - Filter
productsom alle producten te verwijderen die aanwezig zijn inuser_history. - Combineer de kenmerken voor elk product in
products_filtereden embed de resulterende strings.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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'])