تطبيق بايثون لوظيفة التصنيف BM25.
هناك 4 وحدات رئيسية للبرنامج: المحلل اللغوي، ومعالج الاستعلام، ووظيفة التصنيف، وهياكل البيانات. تقوم وحدة المحلل اللغوي بتوزيع ملف الاستعلام وملف المجموعة لإنتاج قائمة وقاموس، على التوالي. يأخذ معالج الاستعلام كل استعلام في قائمة الاستعلامات ويسجل المستندات بناءً على المصطلحات. وظيفة التصنيف هي تطبيق لوظيفة التصنيف BM25؛ ويستخدم اللوغاريتم الطبيعي في حساباته. وأخيرًا، تحتوي وحدة هياكل البيانات على فهرس مقلوب وجدول طول المستند. يستخدم الفهرس المقلوب قاموسًا لتعيين كل كلمة إلى قاموس؛ يقوم هذا القاموس الثانوي بتعيين معرف كل مستند لتكرار الكلمة في القاموس الخارجي. يحتوي جدول طول المستند على طول كل مستند، ويحتوي أيضًا على وظيفة لحساب متوسط طول المستند في المجموعة.
للتشغيل، ما عليك سوى تشغيل $ python main.py
في مجلد src.