RRF

RRF

RRF (Reciprocal Rank Fusion) คือวิธีการให้คะแนนเพื่อรวมผลลัพธ์การจัดอันดับจากหลายวิธีการค้นหาเข้าด้วยกัน โดยการนำค่าส่วนกลับของอันดับจากแต่ละวิธีมารวมกัน ทำให้สามารถผสานระบบคะแนนที่แตกต่างกันได้โดยไม่ต้องทำการ Normalization

ใน RAG pipeline นั้น การใช้งานร่วมกันระหว่างการค้นหาด้วยคีย์เวิร์ดแบบ BM25 และ vector search (semantic search) ในรูปแบบ hybrid เป็นเรื่องที่พบได้ทั่วไป อย่างไรก็ตาม เนื่องจาก score ของ BM25 และ cosine similarity มีทั้ง scale และการกระจายตัวที่แตกต่างกันโดยสิ้นเชิง การนำมาบวกรวมกันอย่างง่าย ๆ จึงไม่ก่อให้เกิดการรวมที่มีความหมายได้

RRF แก้ปัญหานี้ได้อย่างเรียบง่าย โดยใช้เพียง "อันดับ" ของเอกสารที่แต่ละวิธีการค้นหาส่งคืนมา แล้วนำ score 1 / (k + rank) มารวมกันจากทุกวิธีการ ค่าคงที่ k (โดยทั่วไปคือ 60) เป็น parameter สำหรับปรับน้ำหนักของอันดับ โดยยิ่งค่ามาก ความแตกต่างระหว่างอันดับต้น ๆ และอันดับท้าย ๆ ก็จะยิ่งลดลง

ตัวอย่างการคำนวณ

กรณีที่เอกสารหนึ่งปรากฏในอันดับที่ 3 จาก BM25 และอันดับที่ 7 จาก vector search:

RRF score = 1/(60+3) + 1/(60+7) = 0.0159 + 0.0149 = 0.0308

เอกสารที่ติดอันดับพอสมควรในการค้นหาทั้งสองวิธีมีแนวโน้มที่จะได้รับการจัดอันดับสูงกว่าเอกสารที่ปรากฏในการค้นหาเพียงวิธีเดียว ซึ่งนี่คือสิ่งที่นำไปสู่ความเสถียรของ hybrid search

ข้อควรระวังในการ implement

เนื่องจาก RRF ไม่ได้ใช้ค่าสัมบูรณ์ของ score ต้นฉบับ จึงมีข้อดีตรงที่ไม่จำเป็นต้องทำการ calibrate score ระหว่าง search engine ต่าง ๆ ในทางกลับกัน ต้องระมัดระวังในกรณีที่มีเอกสารที่มีอันดับเท่ากันจำนวนมาก หรือการจัดการกับเอกสารในกลุ่ม long-tail โดย vector DB หลัก ๆ อย่าง Elasticsearch 8.x ขึ้นไป, Weaviate และ Qdrant ต่างรองรับ RRF แบบ native แล้ว

คำศัพท์ที่เกี่ยวข้อง

AI ROI (ผลตอบแทนจากการลงทุนด้าน AI)
AI สำหรับธุรกิจ

AI ROI (ผลตอบแทนจากการลงทุนด้าน AI)

AI ROI คือ ตัวชี้วัดที่ใช้วัดผลลัพธ์เชิงปริมาณของการปรับปรุงประสิทธิภาพการทำงานและการเพิ่มรายได้ที่ไ

AI พยากรณ์ความต้องการ (Demand Forecasting AI)
AI สำหรับธุรกิจ

AI พยากรณ์ความต้องการ (Demand Forecasting AI)

AI คาดการณ์ความต้องการ (Demand Forecasting AI) คือระบบที่วิเคราะห์ข้อมูลการขายในอดีตและปัจจัยภายนอกด

AI ออบเซอร์แวนบิลิตี้ (AI Observability)
AI สำหรับธุรกิจ

AI ออบเซอร์แวนบิลิตี้ (AI Observability)

แนวปฏิบัติในการดำเนินงานเพื่อติดตามและแสดงผลข้อมูลการทำงานของระบบ AI ที่ใช้งานจริงอย่างต่อเนื่อง ทั้

BPO (การจ้างภายนอกเพื่อดำเนินกระบวนการทางธุรกิจ)
AI สำหรับธุรกิจ

BPO (การจ้างภายนอกเพื่อดำเนินกระบวนการทางธุรกิจ)

BPO คือรูปแบบการ outsourcing ที่องค์กรมอบหมายกระบวนการทางธุรกิจเฉพาะด้านให้กับผู้ให้บริการภายนอกที่ม