19 คะแนน โดย davespark 2026-01-11 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

ในปี 2026 คุณยังคิดอยู่หรือไม่ว่า "semantic search = embeddings + vector DB"?

ประเด็นหลัก

การค้นหาเชิงความหมายไม่ได้สำคัญแค่ ความคล้ายคลึง (similarity) เท่านั้น แต่
ต้องทำให้ดีครบทั้ง ① การแทนความหมาย (representation) + ② ความคล้ายคลึง (similarity) + ③ เกณฑ์การจับคู่ (match criteria) จึงจะถือว่าเป็นการค้นหาที่ดีจริง

ข้อชี้ให้เห็นคือ การค้นหาเวกเตอร์ที่อิง embeddings ทำได้ดีในข้อ ① และ ② แต่ อ่อนมากในข้อ ③ (รวม/ตัดผลลัพธ์ให้เหลือเฉพาะขอบเขตที่ผู้ใช้ต้องการอย่างแม่นยำ)

ตัวอย่างหลัก:
คิวรี: "ผลไม้กลมสีแดงที่ออกบนต้นไม้"
ผลลัพธ์จากระบบ embeddings ที่ดี (มักโผล่ในอันดับต้น ๆ):

  1. แอปเปิล
  2. ส้ม
  3. ⚾️ ลูกเบสบอล

→ ผู้ใช้ไม่ต้องการลูกเบสบอลเด็ดขาด แต่ embeddings มองว่า "กลมและสีแดง" ใกล้เคียงมากพอ จึงใส่มาให้ด้วย
แก้ด้วย threshold ก็ไม่ได้ผล (ต่างกันไปตามโดเมนและแต่ละคิวรี)

ทางเลือกที่เสนอคือ: อนุกรมวิธานแบบลำดับชั้นที่จัดการอย่างดี (Managed Taxonomies)

เช่นตัวอย่างหมวดหมู่เฟอร์นิเจอร์ของ Wayfair

Baby & Kids  
└─ Toddler & Kids Playroom  
   └─ Indoor Play  
      └─ Rocking Horses  
         └─ Novelty Rocking Horses  

เมื่อนำสิ่งนี้ไปวางบน BM25 ด้วย hierarchical tokenizer

  • หมวดหมู่ที่เฉพาะเจาะจงกว่า (ลูก) = df ต่ำกว่า → คะแนน bm25 จะสูงขึ้นโดยอัตโนมัติ
  • ผู้ใช้สามารถปรับขอบเขตได้อย่างแม่นยำด้วยภาษาที่เข้าใจได้ (ไล่ขึ้นไปยังหมวดแม่/ปู่ย่า จะค่อย ๆ กว้างขึ้น)
  • หากใช้ LLM ช่วยทำงานจัดหมวดหมู่อัตโนมัติ ภาระการดูแลรักษาก็ลดลงมาก

สรุป:
embeddings ทรงพลัง แต่ ไม่ใช่สิ่งจำเป็น
เพียงอาศัยความสามารถด้านหมวดหมู่/การจัดประเภทที่โดเมนมีอยู่แล้ว ร่วมกับการช่วยเสริมจาก LLM
ก็สามารถสร้าง semantic search ที่ แม่นยำกว่าและให้ประสบการณ์ผู้ใช้ดีกว่าอย่างมาก เมื่อเทียบกับ embeddings ได้

แนะนำเป็นพิเศษสำหรับผู้ที่ทำ การค้นหาเฉพาะโดเมน เช่น อีคอมเมิร์ซ การแพทย์ กฎหมาย ห้องสมุด เป็นต้น

1 ความคิดเห็น

 
kaydash 2026-01-12

ดูเหมือนว่าจะต้องใช้ hybrid search กับ multi-query RAG นะ