Implementasi Python dari fungsi peringkat BM25.
Ada 4 modul utama program: parser, pemroses kueri, fungsi pemeringkatan, dan struktur data. Modul parser mem-parsing file query dan file corpus untuk menghasilkan daftar dan kamus. Pemroses kueri mengambil setiap kueri dalam daftar kueri dan menilai dokumen berdasarkan istilahnya. Fungsi pemeringkatan merupakan implementasi dari fungsi pemeringkatan BM25; ia menggunakan logaritma natural dalam perhitungannya. Terakhir, modul struktur data berisi indeks terbalik dan tabel panjang dokumen. Indeks terbalik menggunakan kamus untuk memetakan setiap kata ke kamus; kamus sekunder ini memetakan setiap id dokumen ke frekuensi kata di kamus luar. Tabel panjang dokumen berisi panjang setiap dokumen, dan juga berfungsi untuk menghitung rata-rata panjang dokumen koleksi.
Untuk menjalankannya, cukup jalankan $ python main.py
di folder src.