|
|
||
|---|---|---|
| .vscode | ||
| data | ||
| models | ||
| prisma | ||
| public/img | ||
| robust_data | ||
| src | ||
| .gitattributes | ||
| .gitignore | ||
| Dockerfile | ||
| LICENSE | ||
| README.md | ||
| config.py | ||
| connection.py | ||
| main.py | ||
| ml_core.py | ||
| requirements.txt | ||
| schemas.py | ||
| services.py | ||
| trim_dataset.py | ||
| visualize_confusion.py | ||
| visualize_scenario.py | ||
README.md
Tokopedia Review Scraper & Sentiment Analysis (XGBoost)
Proyek ini merupakan implementasi end-to-end analisis sentimen ulasan produk Tokopedia. Mulai dari pengambilan data (scraping), pra-pemrosesan teks bahasa Indonesia, seleksi fitur, hingga klasifikasi menggunakan algoritma XGBoost dengan perbandingan tiga skenario eksperimen.
📌 Fitur Utama
- Automated Scraping: Mengambil data ulasan dari Tokopedia menggunakan Selenium & BeautifulSoup.
- Indonesian NLP Pipeline: Pembersihan data, case folding, filtering, hingga stemming menggunakan Sastrawi.
- Tiga Skenario Eksperimen:
- Skenario 1: Baseline (TF-IDF + XGBoost).
- Skenario 2: Seleksi Fitur (Grid Search + XGBoost).
- Skenario 3: Penanganan Imbalance Data (SMOTE + Chi-Square + Grid Search + XGBoost).
- Model Persistence: Model disimpan dalam format
.pkluntuk digunakan kembali tanpa melatih ulang.
📂 Struktur Repositori
├── data/ # Koleksi dataset (Raw, Clean, Balanced) dan pkl files
├── models/ # Hasil training model (.pkl) untuk tiap skenario
├── public/ # Berkas gambar visualisasi data latih
├── src/
│ ├── mining/ # Script untuk scraping data Tokopedia
│ ├── flow_1/ # Implementasi eksperimen skenario 1
│ ├── flow_2/ # Implementasi eksperimen skenario 2
│ ├── flow_3/ # Implementasi eksperimen skenario 3 (SMOTE & Pipeline)
│ └── utils/ # Helper fungsi (preprocessing, visualisasi, TF-IDF)
├── requirements.txt # Daftar library Python yang dibutuhkan