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.csv
ke 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