Skip to content

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.

Notifications You must be signed in to change notification settings

Fliw/Recurrent-Neural-Network-vs-Long-short-Term-Memory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Klasifikasi Teks dengan RNN dan LSTM menggunakan GloVe Embedding

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.

πŸ“ Dataset

  • Format: CSV (dataset.csv)
  • Kolom:
    • Text: isi artikel berita
    • Category: label/topik dari artikel

πŸ”§ Pra-pemrosesan Data

  • 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

🧠 Arsitektur Model

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

πŸ§ͺ Pengaturan Eksperimen

Model Dimensi Hidden Optimizer Epoch Panjang Sekuens
RNN / LSTM 128 / 256 / 512 Adam 10 100 token

πŸ“Š Metrik Evaluasi

Evaluasi dilakukan pada setiap konfigurasi model dengan metrik:

  • Akurasi
  • Presisi (weighted)
  • Recall (weighted)
  • F1-Score (weighted)
  • Visualisasi kurva loss dan akurasi

πŸ“ˆ Visualisasi

  • Kurva pelatihan (loss dan akurasi)
  • Visualisasi hidden state LSTM menggunakan t-SNE

πŸ“¦ Instalasi Paket

Jalankan perintah berikut untuk memasang semua dependensi:

pip install tensorflow pandas scikit-learn matplotlib seaborn

▢️ Cara Menjalankan

  1. Unggah file dataset.csv ke direktori utama.
  2. Jalankan file notebook main_classification_rnn_lstm.ipynb.
  3. Embedding GloVe akan diunduh otomatis.
  4. Hasil akan ditampilkan dalam bentuk tabel dan grafik.

πŸ“‚ Struktur Direktori

.
β”œβ”€β”€ dataset.csv
β”œβ”€β”€ glove.6B.100d.txt
β”œβ”€β”€ main_classification_rnn_lstm.ipynb
└── README.md

🧾 Sitasi

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

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published