Přidání historie uživatele do doporučovacího systému
V mnoha případech doporučování – například filmů nebo nákupů – nestačí zakládat další doporučení jen na jednom datovém bodu. V takových situacích je potřeba vložit do embeddingů celou historii uživatele nebo její část, aby byla doporučení přesnější a relevantnější.
V tomto cvičení rozšíříš svůj produktový doporučovací systém tak, aby zohlednil všechny produkty, které uživatel dříve navštívil. Tyto produkty jsou uloženy v seznamu slovníků user_history.
K dispozici máš následující vlastní funkce: create_embeddings(texts), create_product_text(product) a find_n_closest(query_vector, embeddings, n=3). Knihovna numpy je také již naimportovaná jako np.
Toto cvičení je součástí kurzu
Introduction to Embeddings with the OpenAI API
Pokyny k cvičení
- Zkombinuj textové vlastnosti každého produktu z
user_history, vytvoř embeddingy z výsledných řetězců a pomocínumpyvypočítej jejich průměr. - Filtruj
productstak, aby výsledný seznam neobsahoval produkty, které jsou vuser_history. - Zkombinuj vlastnosti každého produktu z
products_filtereda vytvoř embeddingy z výsledných řetězců.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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'])