Додавання історії користувача до системи рекомендацій
У багатьох задачах рекомендацій, наприклад, для фільмів чи покупок, спиратися на одну подію недостатньо. У таких випадках потрібно вбудовувати всі або частину переглядів користувача, щоб отримати точніші й доречніші рекомендації.
У цій вправі ви розширите свою систему рекомендацій товарів так, щоб вона враховувала всі товари, які користувач переглядав раніше. Вони зберігаються у списку словників user_history.
Ви можете скористатися такими допоміжними функціями: create_embeddings(texts), create_product_text(product) і find_n_closest(query_vector, embeddings, n=3). Також імпортовано numpy як np.
Ця вправа є частиною курсу
Вступ до Embeddings з OpenAI API
Інструкції до вправи
- Об'єднайте текстові ознаки для кожного товару в
user_history, створіть вкладення для отриманих рядків і обчисліть середні вкладення за допомогоюnumpy. - Відфільтруйте
products, щоб прибрати товари, які вже є вuser_history. - Об'єднайте ознаки для кожного товару в
products_filteredі створіть вкладення для отриманих рядків.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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'])