Repositori ini berisi implementasi dan perbandingan model Recurrent Neural Network (RNN) dan Long Short-Term Memory (LSTM) untuk tugas klasifikasi teks multi-kelas. Representasi kata menggunakan pretrained word embedding GloVe (glove.6B.100d.txt). Evaluasi dilakukan pada berbagai konfigurasi hidden state (128, 256, 512) dengan metrik evaluasi lengkap.
- Format: CSV (
dataset.csv) - Kolom:
Text: isi artikel beritaCategory: label/topik dari artikel
- Teks dibersihkan: huruf kecil, hapus tanda baca dan karakter non-alfabet
- Tokenisasi menggunakan
Tokenizer(Keras) - Padding sekuens hingga panjang tetap 100 token
- Label dikodekan menggunakan
LabelEncoder
Model dibangun dengan TensorFlow/Keras:
- RNN (SimpleRNN)
- LSTM
Konfigurasi model:
- Embedding layer menggunakan GloVe 100 dimensi
- Layer embedding tidak dilatih ulang (non-trainable)
- Output layer berupa Dense dengan aktivasi softmax
| Model | Dimensi Hidden | Optimizer | Epoch | Panjang Sekuens |
|---|---|---|---|---|
| RNN / LSTM | 128 / 256 / 512 | Adam | 10 | 100 token |
Evaluasi dilakukan pada setiap konfigurasi model dengan metrik:
- Akurasi
- Presisi (weighted)
- Recall (weighted)
- F1-Score (weighted)
- Visualisasi kurva loss dan akurasi
- Kurva pelatihan (loss dan akurasi)
- Visualisasi hidden state LSTM menggunakan t-SNE
Jalankan perintah berikut untuk memasang semua dependensi:
pip install tensorflow pandas scikit-learn matplotlib seaborn- Unggah file
dataset.csvke direktori utama. - Jalankan file notebook
main_classification_rnn_lstm.ipynb. - Embedding GloVe akan diunduh otomatis.
- Hasil akan ditampilkan dalam bentuk tabel dan grafik.
.
├── dataset.csv
├── glove.6B.100d.txt
├── main_classification_rnn_lstm.ipynb
└── README.md
Jika repositori ini digunakan dalam penelitian, mohon mencantumkan sitasi atau menyebutkan referensi berikut:
Pennington, Jeffrey, Richard Socher, and Christopher D. Manning. "GloVe: Global Vectors for Word Representation." EMNLP 2014.
Penulis: Rafli Indrawan
Lisensi: MIT