การใช้งาน BM25 อย่างรวดเร็วใน Python
BM25 เป็นฟังก์ชันการจัดอันดับที่ง่ายและรวดเร็วสำหรับเครื่องมือค้นหาที่ทำงานด้วยคำ (โทเค็น)
สะกดผิดได้ไม่ดีนัก ดังนั้นให้ใช้เฉพาะในบริบทที่ไม่มีปัญหา
การใช้งาน BM25 พื้นฐานมาจาก dorianbrown/rank_bm25
เริ่มต้น BM25 โดยการส่งผ่านคลังข้อมูล หรือที่เรียกว่าตัววนซ้ำบนเอกสารโทเค็น (รายการสตริง)
from fast_bm25 import BM25
# Load your corpus
corpus = ...
bm25 = new BM25 ( corpus )
results = bm25 . get_top_n ([ "largest" , "city" , "in" , "Japan" ], corpus );
ไม่ใช่แพ็คเกจ Python โปรดคัดลอกไฟล์หากคุณต้องการใช้
ในคลังข้อความ คำที่พบบ่อยที่สุด (the, a, an, ...) มักจะให้ข้อมูลน้อยที่สุด
ด้วยการตัดออกจากข้อความค้นหาและค้นหาเฉพาะเอกสารที่มีข้อความค้นหาอย่างน้อยหนึ่งคำ BM25 จึงมีความเร็วมากขึ้นในขณะที่สูญเสียความแม่นยำเพียงเล็กน้อย
การแลกเปลี่ยนนี้ถูกควบคุมโดยพารามิเตอร์ alpha
: alpha ที่สูงกว่า => ความเร็วที่มากขึ้นและการตัดคำที่มากขึ้น
ที่