BM25

BM25

BM25 (Best Matching 25) ແມ່ນ algorithm ການຄົ້ນຫາຂໍ້ມູນແບບຄວາມເປັນໄປໄດ້ທີ່ໃຊ້ການໃຫ້ຄະແນນຄວາມກ່ຽວຂ້ອງກັບ query ໂດຍພິຈາລະນາຄວາມຖີ່ຂອງການປາກົດຂຶ້ນຂອງຄຳສັບໃນເອກະສານ ແລະ ຄວາມຍາວຂອງເອກະສານ.

ໃນຖານະທີ່ເປັນການພັດທະນາຕໍ່ຈາກ TF-IDF

BM25 ແມ່ນຟັງຊັນການຈັດອັນດັບທີ່ຂະຫຍາຍແນວຄິດຂອງ TF-IDF ໂດຍຖືກໃຊ້ເປັນ algorithm ເລີ່ມຕົ້ນຂອງ search engine ຂໍ້ຄວາມເຕັມຮູບແບບຫຼັກໆ ເຊັ່ນ Elasticsearch ແລະ Apache Solr ມາເປັນເວລາດົນນານ. ຈຸດເດັ່ນຂອງມັນຄືການໃຊ້ saturation function ເພື່ອປັບແກ້ຄວາມຮູ້ສຶກທີ່ວ່າ "ຄຳທີ່ປາກົດໃນເອກະສານຫຼາຍເທົ່າໃດ ຄວາມກ່ຽວຂ້ອງກໍ່ຍິ່ງສູງຂຶ້ນ". ເຖິງແມ່ນຈຳນວນການປາກົດຂອງຄຳຈະເພີ່ມຂຶ້ນ ຄະແນນກໍ່ຈະບໍ່ສູງຂຶ້ນໂດຍບໍ່ມີຂອບເຂດ ແຕ່ຈະຢຸດຢູ່ທີ່ລະດັບໜຶ່ງ.

parameter ຫຼັກມີ 2 ຕົວ. k1 ຄວບຄຸມຄວາມໄວຂອງການອີ່ມຕົວຂອງຄວາມຖີ່ຂອງຄຳ ແລະ b ປັບຄວາມແຮງຂອງການ normalization ຕາມຄວາມຍາວຂອງເອກະສານ. ສ່ວນໃຫຍ່ມັກໃຊ້ຄ່າເລີ່ມຕົ້ນ (k1=1.2, b=0.75) ໂດຍກົງ ແຕ່ສຳລັບ corpus ທີ່ສະເພາະໂດເມນ ການ tuning ອາດຊ່ວຍປັບປຸງຄວາມຖືກຕ້ອງຂອງການຄົ້ນຫາໄດ້.

ຕຳແໜ່ງໃນ RAG pipeline

ເຖິງແມ່ນ vector search (semantic search) ຈະໄດ້ຮັບຄວາມສົນໃຈ BM25 ກໍ່ຍັງເຂັ້ມແຂງໃນການຄົ້ນຫາທີ່ຕ້ອງການຈັບຄູ່ຄຳຄົບຖ້ວນ ຫຼືຄຳສັບທາງວິຊາການ. ໃນທາງປະຕິບັດ ຮູບແບບ hybrid search ທີ່ໃຊ້ BM25 ແລະ vector search ຮ່ວມກັນ ແລ້ວລວມຄະແນນດ້ວຍ RRF (Reciprocal Rank Fusion) ໄດ້ກາຍເປັນຮູບແບບມາດຕະຖານ.

ສຳລັບ query ທີ່ "ການຈັບຄູ່ສາຍອັກສອນ" ສຳຄັນກວ່າ "ຄວາມໝາຍ" ເຊັ່ນ ຊື່ສະເພາະ ຫຼື ລະຫັດລຸ້ນ ໂຄງສ້າງ hybrid ທີ່ລວມ BM25 ໄວ້ຈະໃຫ້ຜົນທີ່ໝັ້ນຄົງກວ່າ vector search ຢ່າງດຽວ.