Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

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

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages