Sentimen Analisis Tweet US Airline dengan LSTM

Varrel Dwitantio Purwadiansyah

Sosial Media


0 orang menyukai ini
Suka

Summary

LSTM merupakan salah satu jenis dari Recurrent Neural Network (RNN) dimana dilakukan modifikasi pada RNN dengan menambahkan memory cell yang dapat menyimpan informasi untuk jangka waktu yang lama. LSTM diusulkan sebagai solusi untuk mengatasi terjadinya vanishing gradient pada RNN saat memproses data sequential yang panjang.

Description

Dataset

Dataset yang digunakan adalah bersumber dari Kaggle yaitu Twitter US Airline Sentiment. Data twitter tersebut diambil dari Februari 2015. Disini saya akan mengklasifikasikan tweet positif, negatif, dan netral terlebih dahulu, diikuti dengan mengkategorikan alasan negatif (seperti "penerbangan terlambat" atau "layanan kasar").

Source Code:

Pertama, saya akan import library yang akan digunakan

Selanjutnya, saya import dataset dengan menghubungkan google colab dengan google drive terlebih dahulu. Kemudian, saya tampilkan 5 data teratas.

Setelah itu, saya akan melihat nilai statistik pada dataset, melihat jumlah baris dan kolom pada dataset, dan melihat tipe data setiap kolom pada dataset.

Selanjutnya, saya akan menghapus kolom yang tidak digunakan.

Disini saya akan melakukan tahapan text processing. Pertama saya akan mengubah setiap kalimat di kolom text menjadi huruf kecil.

Selanjutnya, saya akan menghapus kata yang tidak memiliki makna seperti url, username, character, dan short words.

Kemudian, saya lakukan tahapan Tokenization yaitu proses pemisahan teks menjadi potongan-potongan yang disebut sebagai token.

Setelah itu, masuk ke tahapan Stopword Removal yaitu tahap mengambil kata-kata penting dari hasil token dan membuang kata umum yang biasanya muncul dalam jumlah besar dan dianggap tidak memiliki makna.

Terakhir, kita lakukan tahapan Lemmatization yaitu proses penguraian suatu kata menjadi bentuk kata dasarnya.

Setelah itu, kita satukan kembali setiap kata yang menjadi kalimat yang utuh sebelumnya.

Kemudian, saya lakukan encoding pada kolom airline_sentiment. Lalu, split dataset ke dalam data training dan testing.

Disini saya akan melakukan vektorisasi dengan menggunakan library keras yaitu Tokenizer dari keras.preprocessing.text dan padding dengan menggunakan fungsi pas_sequences dari keras.preprocessing.sequence

Selanjutnya, saya buat arsitektur LSTM seperti berikut. Dengan vocab_size menunjukkan banyaknya kata unik dalam data, embedding_vector_length menunjukkan ukuran vektor dari word embedding, input_length menunjukkan ukuran vektor input. Kemudian, angka 100 pada LSTM menunjukkan banyaknya neuron yang digunakan. Selanjutnya, activation menunjukkan fungsi aktivasi yang digunakan, loss menunjukkan fungsi loss yang digunakan, optimizer menunjukkan algoritma optimasi parameter yang digunakan, kemudian mentrics menunjukkan ukuran validasi. Terakhir, model.summary digunakan untuk menunjukkan arsitektur model yang telah dibangun serta banyaknya parameter model.

Kemudian lakukan perintah training model dengan menggunakan fungsi fit. Dengan epochs menunjukkan banyaknya iterasu yang dilakukan dan batch_size menunjukkan banyaknya data yang akan melewati model sebelum dilakukan pembaharuan bobot. Terakhir, saya lakukan tahapan model evaluation.

Informasi Course Terkait
  Kategori: Natural Language Processing
  Course: Natural Languange Processing (NLP) dengan Deep Learning