เพิ่มประวัติผู้ใช้เข้าสู่ระบบแนะนำสินค้า
ในหลายกรณีของการแนะนำ เช่น การแนะนำภาพยนตร์หรือสินค้า การอิงคำแนะนำจากข้อมูลเพียงจุดเดียวอาจไม่เพียงพอ ในกรณีเหล่านี้ จำเป็นต้องสร้าง embedding จากประวัติทั้งหมดหรือบางส่วนของผู้ใช้ เพื่อให้ได้คำแนะนำที่แม่นยำและตรงใจมากขึ้น
ในแบบฝึกหัดนี้ จะขยายระบบแนะนำสินค้าให้พิจารณาสินค้าทั้งหมดที่ผู้ใช้เคยเข้าชมมาก่อน ซึ่งเก็บไว้ในรูปแบบ list ของ dictionary ชื่อ user_history
ฟังก์ชันที่กำหนดไว้ให้ใช้งานได้มีดังนี้: create_embeddings(texts), create_product_text(product) และ find_n_closest(query_vector, embeddings, n=3) นอกจากนี้ได้ import numpy ไว้เป็น np แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้าง Embeddings ด้วย OpenAI API
คำแนะนำการฝึกหัด
- รวมคุณลักษณะข้อความของแต่ละสินค้าใน
user_historyจากนั้นสร้าง embedding จากสตริงที่ได้ และคำนวณค่าเฉลี่ยของ embedding โดยใช้numpy - กรอง
productsเพื่อนำสินค้าที่ปรากฏอยู่ในuser_historyออก - รวมคุณลักษณะของแต่ละสินค้าใน
products_filteredและสร้าง embedding จากสตริงที่ได้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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'])