Aggiungere la cronologia utente al motore di raccomandazione
In molti casi di raccomandazione, come film o acquisti, basarsi su un solo dato non basta. In questi casi, dovrai creare gli embedding di tutta o parte della cronologia dell’utente per ottenere raccomandazioni più accurate e pertinenti.
In questo esercizio estenderai il tuo sistema di raccomandazione di prodotti per considerare tutti i prodotti che l’utente ha visitato in passato, memorizzati in una lista di dizionari chiamata user_history.
Hai a disposizione le seguenti funzioni personalizzate: create_embeddings(texts), create_product_text(product) e find_n_closest(query_vector, embeddings, n=3). È stato importato anche numpy come np.
Questo esercizio fa parte del corso
Introduzione agli Embeddings con l'API di OpenAI
Istruzioni dell'esercizio
- Combina le caratteristiche testuali per ciascun prodotto in
user_history, crea gli embedding delle stringhe risultanti e calcola l’embedding medio usandonumpy. - Filtra
productsper rimuovere i prodotti presenti inuser_history. - Combina le caratteristiche per ciascun prodotto in
products_filterede crea gli embedding delle stringhe risultanti.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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'])