ทำความเข้าใจอัลกอริทึมการค้นหาแบบฟูลเท็กซ์ BM25
(emschwartz.me)-
ทำความเข้าใจอัลกอริทึม BM25
- BM25 เป็นอัลกอริทึมการค้นหาแบบฟูลเท็กซ์ที่ใช้งานอย่างแพร่หลาย และถูกใช้เป็นค่าเริ่มต้นใน Lucene/Elasticsearch และ SQLite เป็นต้น
- ในช่วงหลัง การผสานการค้นหาแบบฟูลเท็กซ์เข้ากับการค้นหาความคล้ายคลึงแบบเวกเตอร์เพื่อทำ "การค้นหาแบบไฮบริด" กลายเป็นเรื่องปกติ
- เนื้อหาเริ่มต้นจากคำถามที่ว่า คะแนน BM25 สามารถนำมาเปรียบเทียบกันข้ามหลายคิวรีได้หรือไม่
-
การจัดอันดับเอกสาร
- เป้าหมายพื้นฐานของอัลกอริทึมการค้นหาแบบฟูลเท็กซ์คือการค้นหาเอกสารที่เกี่ยวข้องกับคิวรีมากที่สุด
- BM25 จัดอันดับเอกสารโดยอิงจากความน่าจะเป็นที่เอกสารจะเกี่ยวข้องกับคิวรี
-
องค์ประกอบของ BM25
- คำในคิวรี: สำหรับคิวรีที่ประกอบด้วยหลายคำ จะคำนวณคะแนนแยกสำหรับแต่ละคำแล้วนำมารวมกัน
- ความถี่เอกสารผกผัน (IDF): ใช้คำนวณความหายากของคำค้นหาเฉพาะในคอลเล็กชันเอกสารทั้งหมด
- ความถี่ของคำภายในเอกสาร: ใช้คำนวณความถี่ที่คำค้นหาเฉพาะปรากฏในเอกสารหนึ่ง ๆ
- การทำให้ความยาวเอกสารเป็นมาตรฐาน: ปรับค่าตามความยาวของเอกสารเมื่อเทียบกับเอกสารอื่น
-
นิพจน์ทางคณิตศาสตร์ของ BM25
- อัลกอริทึม BM25 อาจดูซับซ้อนในเชิงคณิตศาสตร์ แต่จะเข้าใจได้ไม่ยากหากเข้าใจองค์ประกอบแต่ละส่วน
- สูตรหลักคำนวณโดยรวมคะแนนของแต่ละคำในคิวรีเข้าด้วยกัน
-
ความโดดเด่นของ BM25
- การจัดอันดับบนพื้นฐานความน่าจะเป็นโดยไม่ต้องคำนวณความน่าจะเป็นโดยตรง: BM25 จัดอันดับเอกสารโดยอิงตามกรอบความเกี่ยวข้องเชิงความน่าจะเป็น
- สมมติว่าเอกสารส่วนใหญ่ไม่เกี่ยวข้อง: BM25 ตั้งอยู่บนสมมติฐานว่าเอกสารส่วนใหญ่ไม่เกี่ยวข้องกับคิวรี ทำให้ใช้งานได้อย่างมีประโยชน์แม้ไม่มีข้อมูลความเกี่ยวข้องล่วงหน้า
-
บทสรุป
- คะแนน BM25 สามารถนำมาเปรียบเทียบกันข้ามคิวรีได้ภายในคอลเล็กชันเดียวกัน
- BM25 ไม่ได้มุ่งประมาณค่าความเกี่ยวข้องของเอกสาร แต่เน้นการจัดอันดับความเกี่ยวข้องต่อคิวรี
- สามารถเปรียบเทียบคะแนน BM25 ของเอกสารเดียวกันภายในคอลเล็กชันเดียวกันได้
-
อ่านเพิ่มเติม
- หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับทฤษฎีและประวัติของ BM25 ขอแนะนำการบรรยายปี 2016 ของวิศวกร Elastic อย่าง Britta Weber และงานเขียนของ Stephen Robertson กับ Hugo Zaragoza เรื่อง "The Probabilistic Relevance Framework: BM25 and Beyond"
ยังไม่มีความคิดเห็น