- Search เป็นกลไกหลักของ Airbnb ในการเชื่อมต่อ Guest และ Host
- ผลการค้นหาของ Airbnb แสดงออกมาใน 2 รูปแบบ
- รูปแบบรายการ (list-results, การ์ดที่แสดงภาพที่พัก ราคา คะแนนรีวิว ฯลฯ)
- รูปแบบแผนที่ (map-results, หมุดบนแผนที่ที่แสดงราคา)
- อัลกอริทึมจัดอันดับการค้นหาเดิมใช้วิธีสร้างรายการโดยจัดเรียงทั้งสองรูปแบบตาม ความน่าจะเป็นในการจอง
- แต่บนแผนที่นั้น แสดงผลเป็นหมุดเดี่ยว (pins) ไม่ใช่รายการ, จึงจำเป็นต้องมีวิธีจัดอันดับแบบใหม่
อะไรที่แตกต่างบนแผนที่?
- ในรูปแบบรายการ มีสมมติฐานว่าความสนใจของผู้ใช้จะค่อย ๆ ลดลงจากด้านบนลงล่าง
- ในทางปฏิบัติ ยิ่งอันดับสูงในรายการ CTR (Click-Through Rate) ก็ยิ่งสูง
- ในรูปแบบแผนที่ ที่พักจะกระจายเป็นหมุดอยู่บนแผนที่ จึงไม่เป็นไปตามแนวคิดที่ว่าความสนใจลดลงตามลำดับ และกลับ กระจายอย่างสม่ำเสมอ
- ดังนั้น วิธีง่าย ๆ ที่จำกัดที่พักที่แสดงบนแผนที่ตามลำดับความน่าจะเป็นในการจองจึงมีประสิทธิภาพไม่มากนัก
การสร้างโมเดลความสนใจของผู้ใช้อย่างสม่ำเสมอ (Uniform User Attention)
- เป็นแนวทางที่สมมติว่าความสนใจของผู้ใช้บนแผนที่กระจายอย่างสม่ำเสมอไปยังทุกหมุด
- แต่ในความเป็นจริง Guest จะคลิกเพียงไม่กี่หมุดเท่านั้น ดังนั้นหากแสดงหมุดมากเกินไปก็อาจพลาดที่พักดี ๆ และหากแสดงน้อยเกินไปก็เสี่ยงตัดที่พักที่ผู้ใช้ต้องการออกไป
- วิธีแก้ไข:
- จำกัดจำนวนหมุดที่จะแสดงบนแผนที่ และ เลือกแสดงเฉพาะรายการที่มีความน่าจะเป็นในการจองสูงสุด
- ผลการทดสอบ A/B:
- ผู้ค้นหาสามารถหาที่พักที่ต้องการได้ด้วย จำนวนคลิกที่น้อยลง
- อัตราการเปลี่ยนเป็นการจองเพิ่มขึ้น โดยเฉพาะ สัดส่วนรีวิว 5 ดาวที่เพิ่มขึ้น
ความสนใจของผู้ใช้แบบแบ่งชั้น (Tiered User Attention)
- แบ่งหมุดบนแผนที่ออกเป็น 2 ชั้น:
- หมุดปกติ: แสดงที่พักที่มีความน่าจะเป็นในการจองสูงพร้อมราคา
- มินิพิน: แสดงที่พักที่มีความน่าจะเป็นในการจองค่อนข้างต่ำกว่าเป็น ไอคอนขนาดเล็ก (ไม่มีราคา)
- ผลลัพธ์:
- หมุดปกติมี อัตราการคลิกสูงกว่ามินิพิน 8 เท่า ทำให้สามารถดึงสายตาผู้ใช้ไปยังที่พักที่มีโอกาสถูกจองสูงกว่าได้มากขึ้น
- โดยเฉพาะ สามารถให้ผลลัพธ์ที่เหมาะสมยิ่งขึ้นในการค้นหาบนเดสก์ท็อป
- จากผลการทดสอบ A/B วิธีนี้ก็ช่วยปรับปรุงผลลัพธ์ด้านการจองได้เช่นกัน
การสร้างโมเดลความสนใจของผู้ใช้แบบมีส่วนลด (Discounted User Attention)
- ผู้ใช้มีแนวโน้มที่จะ คลิกหมุดที่อยู่บริเวณกึ่งกลางแผนที่มากกว่า
- ด้วยเหตุนี้ จึงพัฒนา อัลกอริทึมเพื่อหาพิกัดศูนย์กลางที่เหมาะสมที่สุด เพื่อ วางที่พักที่มีความน่าจะเป็นในการจองสูงไว้กลางแผนที่
- ประเมินพิกัดตัวเลือกหลายแบบ แล้วใช้ตำแหน่งที่อยู่ใกล้กับที่พักที่มีความน่าจะเป็นในการจองสูงที่สุดเป็นศูนย์กลางใหม่
- ผลการทดสอบ A/B:
- อัตราการเปลี่ยนเป็นการจองเพิ่มขึ้น 0.27%
- ความถี่ในการเลื่อนแผนที่ลดลง 1.5% หมายความว่าผู้ค้นหาสามารถหาที่พักที่ต้องการได้ง่ายขึ้น
บทสรุปและโจทย์ในอนาคต
- ผู้ใช้รับรู้และโต้ตอบกับรายการและแผนที่แตกต่างกัน
- ปรับปรุงวิธีจัดอันดับโดยคำนึงว่า พฤติกรรมผู้ใช้ในการค้นหาบนแผนที่และการค้นหาแบบรายการแตกต่างกัน
- ผ่านการทดลองเป็นลำดับขั้น ทำให้ ประสบการณ์การค้นหาดีขึ้นและอัตราการเปลี่ยนเป็นการจองเพิ่มขึ้น
- อย่างไรก็ตาม วิธีแสดงที่พักทั้งหมดบนแผนที่อย่างเหมาะสม ยังเป็นโจทย์ที่แก้ไม่ตก
- การอภิปรายที่ละเอียดกว่านี้และรายละเอียดเชิงเทคนิคสามารถดูได้ในงานวิจัยที่นำเสนอใน KDD ’24 ชื่อ "Learning to Rank for Maps at Airbnb"
- ในอนาคตมีแผนจะค้นหาวิธีที่ดียิ่งขึ้นต่อไป
1 ความคิดเห็น
ดูเหมือนว่าการจัดอันดับบนแผนที่ยังเป็นพื้นที่ที่มีความท้าทายให้น่าลองอีกมากจริง ๆ พูดตามตรงคือมากจนค่อนข้างน่าตกใจเลยครับ/ค่ะ เมื่อไม่นานมานี้ผม/ฉันได้ลองใช้ Google Maps ในต่างประเทศ แล้วพบว่ายากที่จะจำกัดเงื่อนไขการค้นหาร้านอาหารให้แคบลงได้ด้วยความแม่นยำในระดับที่ต้องการ ส่วนการแสดงรีวิวที่มีอารมณ์หรือโทนแบบที่ผม/ฉันต้องการนั้นยิ่งรู้สึกว่าเป็นเรื่องไกลตัวมาก ๆ ขอเป็นกำลังใจให้ทุกคนในวงการที่สร้างแผนที่ครับ/ค่ะ!!