Lägg till användarhistorik i rekommendationsmotorn
I många rekommendationsscenarier – som film- eller köprekommendationer – räcker det inte att basera nästa rekommendation på en enda datapunkt. I sådana fall behöver du bädda in hela eller delar av användarens historik för mer träffsäkra rekommendationer.
I den här övningen utökar du ditt produktrekommendationssystem till att ta hänsyn till alla produkter som användaren tidigare har besökt. Dessa lagras i en lista av ordböcker som heter user_history.
Följande egna funktioner finns tillgängliga: create_embeddings(texts), create_product_text(product) och find_n_closest(query_vector, embeddings, n=3). numpy har även importerats som np.
Den här övningen är en del av kursen
Introduktion till inbäddningar med OpenAI API
Övningsinstruktioner
- Kombinera textegenskaperna för varje produkt i
user_history, bädda in de resulterande strängarna och beräkna medelinbäddningarna med hjälp avnumpy. - Filtrera
productsför att ta bort produkter som finns iuser_history. - Kombinera egenskaperna för varje produkt i
products_filteredoch bädda in de resulterande strängarna.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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'])