Thêm lịch sử người dùng vào hệ thống gợi ý
Với nhiều bài toán gợi ý, như gợi ý phim hoặc sản phẩm, chỉ dựa vào một dữ liệu đơn lẻ sẽ không đủ. Khi đó, bạn cần embed toàn bộ hoặc một phần lịch sử của người dùng để tạo ra gợi ý chính xác và phù hợp hơn.
Trong bài tập này, bạn sẽ mở rộng hệ thống gợi ý sản phẩm để xét đến tất cả sản phẩm người dùng đã truy cập trước đó, được lưu trong một danh sách các dictionary gọi là user_history.
Bạn có thể dùng các hàm tùy biến sau: create_embeddings(texts), create_product_text(product), và find_n_closest(query_vector, embeddings, n=3). numpy cũng đã được import với tên np.
Bài tập này là một phần của khóa học
Nhập môn Embeddings với OpenAI API
Hướng dẫn bài tập
- Kết hợp các đặc trưng văn bản cho mỗi sản phẩm trong
user_history, tạo embedding cho các chuỗi thu được và tính embedding trung bình bằngnumpy. - Lọc
productsđể loại bỏ các sản phẩm xuất hiện tronguser_history. - Kết hợp các đặc trưng cho mỗi sản phẩm trong
products_filteredvà tạo embedding cho các chuỗi thu được.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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'])