Zacznij terazZacznij za darmo

Uwzględnianie historii użytkownika w silniku rekomendacji

W wielu scenariuszach rekomendacji – takich jak polecanie filmów czy produktów – oparcie się na jednym punkcie danych będzie niewystarczające. W takich przypadkach trzeba osadzić całą historię użytkownika lub jej część, aby uzyskać trafniejsze rekomendacje.

W tym ćwiczeniu rozbudujesz system rekomendacji produktów tak, aby uwzględniał wszystkie produkty wcześniej odwiedzone przez użytkownika. Są one przechowywane na liście słowników o nazwie user_history.

Do dyspozycji masz następujące funkcje niestandardowe: create_embeddings(texts), create_product_text(product) oraz find_n_closest(query_vector, embeddings, n=3). Biblioteka numpy została zaimportowana jako np.

To ćwiczenie jest częścią kursu

Wprowadzenie do osadzeń z OpenAI API

Zobacz kurs

Instrukcje do ćwiczenia

  • Połącz cechy tekstowe każdego produktu z user_history, osadź powstałe ciągi tekstowe i oblicz średnie osadzenia (embeddings) za pomocą biblioteki numpy.
  • Odfiltruj z products produkty, które znajdują się w user_history.
  • Połącz cechy każdego produktu z products_filtered i osadź powstałe ciągi tekstowe.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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'])
Edytuj i uruchom kod