将用户历史加入推荐引擎
在许多推荐场景中(如电影或购物推荐),仅基于一个数据点来生成下一次推荐往往不够。在这些情况下,您需要对用户的全部或部分历史进行嵌入,以获得更准确且更相关的推荐。
本练习中,您将扩展产品推荐系统,使其考虑用户之前访问过的所有商品。这些商品保存在名为 user_history 的字典列表中。
您可以使用以下自定义函数:create_embeddings(texts)、create_product_text(product) 和 find_n_closest(query_vector, embeddings, n=3)。此外,已将 numpy 以 np 名称导入。
本练习是课程的一部分
使用 OpenAI API 的 Embeddings 入门
练习说明
- 将
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'])