วิธีประเมินเพื่อสร้างอัลกอริทึมค้นหาที่ฉลาดขึ้น
(shopify.engineering)- วิธีที่ Shopify ใช้ประเมินว่า เมื่อเปลี่ยนอัลกอริทึมที่ใช้กับการค้นหาสินค้าแล้ว ผลการค้นหาดีขึ้นจริงหรือไม่
→ Vanilla PageRank แบบเดิม: คำนวณอันดับจาก PV ที่อิงกับการค้นหา
→ Query-specific PageRank แบบใหม่: คำนวณค่าน้ำหนักจากประวัติการคลิกต่อคำค้น
- ประเมินเป็น 3 ขั้นตอน
-
การเก็บข้อมูล: Kafka events และชุดข้อมูล Annotated
-
การประเมินด้วยตัวชี้วัดแบบออฟไลน์: ใช้คำค้นเดิมที่มีอยู่เพื่อประเมินอัลกอริทึมใหม่
→ Mean Average Precision(MAP): หากผลลัพธ์อันดับต้น ๆ N รายการที่ query ส่งคืนมีเอกสารที่ไม่เกี่ยวข้องรวมอยู่ จะถูกหักคะแนน
→ Normalized Discounted Cumulative Gain(NDCG): คำนวณคะแนน cutoff สำหรับการคำนวณ MAP และหากไอเท็มที่ได้คะแนนดี (Great/Good) อยู่ลำดับต่ำ จะถูกหักคะแนน
- การประเมินด้วยตัวชี้วัดแบบออนไลน์: ใช้ search log เพื่อประเมินว่าการค้นหาจริงทำงานอย่างไร
→ ตัวชี้วัดที่ใช้ตัดสินความสำเร็จ: ผู้ใช้ค้นหาบ่อยแค่ไหน เลื่อนหน้าจอมากเพียงใดเพื่อหาผลลัพธ์ที่ต้องการ และติดต่อทีมซัพพอร์ตเพื่อแก้ปัญหาหรือไม่ เป็นต้น
→ Click-through rate (CTR): อัตราการคลิกผลการค้นหา ยิ่งสูงยิ่งดี
→ Average rank: อันดับเฉลี่ยของผลลัพธ์ที่ถูกคลิก ยิ่งต่ำยิ่งดี
→ Abandonment: อัตราการละทิ้งเมื่อหาผลลัพธ์ที่ต้องการไม่พบ แม้จะได้รับผลกระทบจากบอต/สแปมอยู่บ้าง แต่โดยรวมยิ่งต่ำพอสมควรยิ่งดี
→ เก็บข้อมูลด้วย Kafka
→ ทำ A/B test กับวิธีเดิม
-
สุดท้ายอัลกอริทึมค้นหาใหม่มีผลลัพธ์ดีกว่าวิธีเดิม จึงดำเนินการแทนที่
-
ประเด็นสำคัญ
→ ชุดข้อมูลติดป้ายกำกับที่มีคุณภาพสูงและเชื่อถือได้คือหัวใจของการประเมิน
→ ตัวชี้วัดออนไลน์ให้ insight ที่ยอดเยี่ยมเกี่ยวกับพฤติกรรมผู้ใช้
→ ตัวชี้วัดออฟไลน์ช่วยให้ทดสอบและวนซ้ำอัลกอริทึมใหม่ได้รวดเร็ว พร้อมลดความเสี่ยง
ยังไม่มีความคิดเห็น