Añadir el historial del usuario al motor de recomendación
Para muchos casos de recomendación, como la recomendación de películas o de compras, basar la siguiente recomendación en un punto de datos será insuficiente. En estos casos, necesitarás incrustar todo o parte del historial del usuario para obtener recomendaciones más precisas y relevantes.
En este ejercicio, ampliarás tu sistema de recomendación de productos para tener en cuenta todos los productos que el usuario ha visitado anteriormente, que se almacenan en una lista de diccionarios llamada user_history
.
Puedes utilizar las siguientes funciones personalizadas: create_embeddings(texts)
, create_product_text(product)
, y find_n_closest(query_vector, embeddings, n=3)
. numpy
también se ha importado como np
.
Este ejercicio forma parte del curso
Introducción a las incrustaciones con la OpenAI API
Instrucciones de ejercicio
- Combina las características del texto de cada producto en
user_history
, incrusta las cadenas resultantes y calcula las incrustaciones medias utilizandonumpy
. - Filtra
products
para eliminar los productos presentes enuser_history
. - Combina las características de cada producto en
products_filtered
e incrusta las cadenas resultantes.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# 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'])