การฝัง
vector embedding · vector representation
กล่าวโดยย่อ
การแทนค่าเป็นเวกเตอร์ที่มีความยาวคงที่ของตัวเลข ที่ถูกสร้างโดยโมเดลเพื่อแทนข้อความ ภาพ หรือเสียง หน่วยข้อมูลที่มีความหมายคล้ายกันจะอยู่ใกล้กันในพื้นที่เวกเตอร์นี้ ทำให้การค้นหาเชิงความหมาย การจัดกลุ่ม และการแนะนำเป็นไปได้
โมเดลการสร้าง embedding อ่านข้อความและสร้างเวกเตอร์ — โดยมักเป็นหลายร้อยถึงหลายพันตัวเลข ระยะทางในพื้นที่นี้ประมาณความคล้ายคลึงทางความหมาย ดังนั้น "ยกเลิกการสมัครสมาชิก" จะอยู่ใกล้กับ "วิธีการยกเลิกแผนของฉัน" แม้ว่าจะไม่มีคำใดที่ตรงกันเลย คุณสมบัตินี้เป็นเครื่องมือหลักของการค้นหาแบบเชิงความหมาย การลบซ้ำ การจัดกลุ่ม การจัดประเภทโดยการหา nearest neighbour และส่วนการดึงข้อมูลของ RAG
สี่ประเด็นเชิงปฏิบัติ:
- พื้นที่เวกเตอร์จำเพาะโมเดล Embeddings จากโมเดลต่าง ๆ ไม่สามารถเปรียบเทียบกันได้ และการเปลี่ยนโมเดลหมายถึงการสร้าง embedding ใหม่ทั้งหมด
- ขนาดของ chunk มีผลต่อคุณภาพ chunk ที่ใหญ่เกินไปทำให้สัญญาณถูกทำให้หมดความชัดเจน ส่วน chunk ที่เล็กเกินไปทำให้สูญเสียบริบทโดยรอบ การแยกตามโครงสร้างของเอกสารมักทำได้
คำถามที่พบบ่อย
- ฉันสามารถเปรียบเทียบอิมเบดเดิ้งจากสองโมเดลที่แตกต่างกันได้หรือไม่?
- ไม่. โมเดลแต่ละตัวมีพื้นที่เวกเตอร์ของมันเอง การเปลี่ยนโมเดลการแทนความหมายหมายถึงการแปลงร่างทั้งชุดข้อมูลใหม่
- ทำไมการค้นหาแบบเวกเตอร์ถึงไม่เจอคำที่ตรงกับ เช่น หมายเลขใบแจ้งหนี้?
- ตัวระบุมีความหมายเชิงสังคมต่ำ ดังนั้นการแทนค่าของมันจึงไม่โดดเด่น การค้นหาด้วยคำหลักพบมันได้ทันที ทำให้การใช้การค้นหาแบบผสมผสานระหว่างทั้งสองเป็นวิธีที่เป็นไปได้จริงในทางปฏิบัติ