Mesin pencari dokumen yang ditulis dari awal dengan Python. Berdasarkan konsep dari Buku Pengantar Pengambilan Informasi Stanford.
Menggunakan bagian TREC8Adhoc dari koleksi TIPSTER untuk pembuatan indeks dan evaluasi. Anda harus mendapatkan TREC8Adhoc.tar.bz2
dari koleksi ini (Disk 4 & 5) untuk mereproduksi hasil yang dilaporkan.
Untuk mengevaluasi hasil dengan trec_eval
Anda harus mengunduh TREC-8 ad hoc qrels.
Fitur:
Port Rust awal terletak di ir-search-engine-rust.
Proyek ini membutuhkan setidaknya python 3.6.
pip install -r requirements.txt
Jalankan python cmd_index.py --help
untuk mendapatkan instruksi.
Untuk membuat indeks dan mendokumentasikan statistik menggunakan metode SPIMI, jalankan: python cmd_index.py --document_folder=./data/TREC8all/Adhoc/ --index_file=spimi.index --stats_file=spimi.stats spimi
Skrip membuat dua file keluaran:
index_file
: Indeks terbalikstats_file
: Statistik dokumen yang dikumpulkan selama pembuatan indeks (panjang dokumen dan jumlah istilah)Format file indeks berbasis teks.
Baris pertama menyatakan jumlah dokumen unik dalam indeks.
Setiap baris berturut-turut mewakili suatu istilah termasuk data terkait:
<TERM> <DOCUMENT_FREQUENCY> <POSTINGS>
Jalankan python cmd_search.py --help
untuk mendapatkan instruksi.
Untuk mengevaluasi daftar topik pada indeks SPIMI yang dibuat sebelumnya menggunakan peringkat bm25, jalankan: python cmd_search.py --output_file=out.txt --run_name=dev --topics_file=./data/TREC8all/topicsTREC8Adhoc.txt --index_file=spimi.index --stats_file=spimi.stats bm25
Skrip membuat file keluaran yang dapat digunakan dengan trec_eval
, seperti: trec_eval -q -m map -c ./data/TREC8all/qrels.trec8.adhoc.parts1-5 ./out.txt