🚀 Perancangan Sistem Information Retrieval pada Dokumen Berita Menggunakan Metode TF-IDF dan Okapi BM25
Repositori ini berisi kode sumber dan dokumentasi untuk Tugas Akhir Mata Kuliah Temu Kembali Informasi (Information Retrieval). Proyek ini bertujuan untuk membangun sistem pencarian berita Bahasa Indonesia dan membandingkan kinerja antara metode klasik (Vector Space Model) dan metode probabilistik modern (Okapi BM25).
| Nama | NIM | Peran |
|---|---|---|
| Haikal Rasyiq At-thahir | 09011282429037 | Data Gathering & Preprocessing |
| Julia Khairunisyah | 09011182429001 | Documentation & Reporting |
| Muhammad Faizal Mirzah | 09011382429122 | Model Implementation (TF-IDF) |
| Naswazein Vitto Febrillian | 09011182429027 | Model Implementation (BM25) |
| Saniya Dwi Aprillia | 09011182429003 | Evaluation & Analysis |
Dosen Pengampu: Assoc. Prof. Dr. Rossi Passarella, S.T., M.Eng.
Universitas Sriwijaya - Fakultas Ilmu Komputer
Sistem ini dirancang untuk mengatasi masalah information overload pada artikel berita daring. Kami menggunakan dataset berisi 1.000 dokumen berita Indonesia dan melakukan serangkaian proses mulai dari text preprocessing hingga evaluasi sistem.
- Text Preprocessing Bahasa Indonesia: Menggunakan library
Sastrawi(Case folding, cleaning, tokenization, stopword removal, stemming). - Dual Model: Implementasi dua algoritma sekaligus untuk perbandingan:
- TF-IDF (Term Frequency - Inverse Document Frequency)
- Okapi BM25 (Best Matching 25)
- Search Engine: Input query dan output berupa daftar dokumen relevan beserta skor kemiripan.
- Evaluasi Otomatis: Menghitung Precision, Recall, F-Measure, dan Mean Average Precision (MAP).
Proyek ini dibangun menggunakan bahasa pemrograman Python dengan pustaka-pustaka berikut:
pandas&numpy: Manipulasi data.Sastrawi: Stemming & Stopword removal Bahasa Indonesia.scikit-learn: Implementasi TF-IDF & Cosine Similarity.rank_bm25: Implementasi algoritma Okapi BM25.Google Colab: Lingkungan pengembangan.
Berdasarkan pengujian terhadap 10 query uji dan Ground Truth manual, berikut adalah perbandingan kinerja kedua model:
| Metrik Evaluasi | Vector Space Model (TF-IDF) | Probabilistic Model (BM25) |
|---|---|---|
| MAP (Mean Average Precision) | 0.6976 | 0.7559 🏆 |
| Recall @ 10 | 83.33% | 100.00% 🏆 |
| Precision @ 10 | 48.00% | 57.00% 🏆 |
Kesimpulan: Model Okapi BM25 terbukti lebih unggul dibandingkan TF-IDF, terutama dalam hal Recall (kelengkapan informasi) dan Mean Average Precision. Hal ini disebabkan oleh fitur Length Normalization pada BM25 yang mampu menangani variasi panjang dokumen berita dengan lebih baik.
-
Clone repositori ini:
git clone [https://github.com/username-anda/nama-repo.git](https://github.com/username-anda/nama-repo.git)
-
Install library yang dibutuhkan:
pip install pandas numpy scikit-learn Sastrawi rank_bm25
-
Jalankan Notebook: Buka file
modelling_news.ipynbatauEvaluasi_Kinerja.ipynbmenggunakan Jupyter Notebook atau Google Colab. -
Siapkan Dataset: Pastikan file dataset (
indonesia_news_1000.csv) berada di direktori yang sesuai dengan path di dalam kode.