НачатьНачать бесплатно

Добавление истории пользователя в систему рекомендаций

Во многих сценариях рекомендаций — например, при подборе фильмов или товаров — опираться лишь на одну точку данных недостаточно. В таких случаях для получения более точных и релевантных рекомендаций необходимо учитывать всю историю взаимодействий пользователя или её часть.

В этом упражнении вы расширите систему рекомендации товаров: теперь она будет учитывать все продукты, которые пользователь просматривал ранее. Эти данные хранятся в списке словарей user_history.

Вам доступны следующие пользовательские функции: create_embeddings(texts), create_product_text(product) и find_n_closest(query_vector, embeddings, n=3). Библиотека numpy уже импортирована как np.

Это упражнение является частью курса

Введение в эмбеддинги с 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'])
Редактировать и запускать код