Analisis Sentimen pada Twitter menggunakan LSTM

Vinna Setiawan

Sosial Media


3 orang menyukai ini
Suka

Summary

Pada proyek ini, dilakukan analisis sentimen (Sentiment Analysis) terhadap data twitter berbahasa inggris mengenai suatu maskapai penerbangan. Data yang digunakan pada proyek ini bersumber dari website Kaggle yaitu “Twitter US Airline Sentiment”. Model analisis sentimen dibuat menggunakan algoritma LSTM (Long Short Term Memory) dan menghasilkan akurasi sebesar 88%.

Description

Latar Belakang

Analisis Sentimen (Sentiment Analysis) merupakan bagian dari NLP (Natural Language Processing) yaitu proses untuk mengenali dan mengekstraksi opini dalam bentuk teks. Analisis sentimen dapat dilakukan pada data forum, review, komentar media sosial, beserta data Twitter yang kita gunakan untuk proyek ini. Dengan melakukan analisis sentimen terhadap suatu objeknya, kita dapat mengetahui bagaimana opini masyarakat terhadap objek tersebut.  Hal tersebut penting bagi suatu perusahaan karena dapat menjadi evaluasi untuk perbaikan kedepannya. Sama halnya dengan perusahaan pada umumnya, maskapai penerbangan juga memerlukan umpan balik dari masyarakat untuk menjadi bahan evaluasi dan perbaikan kedepannya. Opini masyarakat terhadap suatu maskapai penerbangan dapat diambil melalui twitter karena merupakan salah satu media sosial yang saat ini banyak digunakan oleh masyarakat. Untuk itu, saya membuat model untuk mengenali sentimen pada data twitter mengenai maskapai penerbangan dengan sentimen berupa negative, neutral, dan positive.

 

Metodologi

Proses pembuatan model untuk melakukan analisis sentimen dibagi menjadi beberapa tahapan sebagai berikut:

Pengunduhan Dataset

Dataset yang digunakan pada proyek ini bersumber dari website kaggle yaitu “Twitter US Airline Sentiment” yang dapat dilihat pada link ini. Data ini berisi twitter masyarakat terhadap maskapai penerbangan yang di kumpulkan dengan melakukan scraping pada tahun 2015 untuk mengklasifikasikan data twitter menjadi kelas negative, neutral, dan positive. Dalam proyek ini, cara yang dilakukan untuk menggunakan dataset ini adalah dengan mengunduhnya terlebih dahulu, lalu mengimport data tersebut kedalam Google Colab. Sedangkan fitur yang digunakan untuk membuat model yaitu hanya text dan sentimennya untuk menyederhanakan pembuatan model. 

Pra-pemrosesan Data

Setelah data diimport kedalam Google Colab dan diubah menjadi bentuk dataframe, dilakukan tahap data cleaning yang terdiri dari tahapan berikut:

  1. Menghapus Kolom yang tidak digunakan (Remove Unnecessary Column)
  2. Menghilangkan Tanda Baca (Punctuation Removal)
  3. Menghilangkan Stopword (Stopword Removal)
  4. Stemming

Setelah tahapan tersebut dlakukan, dataset akan menjadi sebagai berikut:

Selanjutnya, data dipersiapkan untuk pemodelan dengan mengubah label menjadi categorical dengan bentuk boolean, membagi data menjadi data latih dan uji dimana data latih sebanyak 80% dan data uji sebanyak 20%, dan melakukan tokenisasi. 

Pembuatan Model

Model dibuat menggunakan deep neural network dengan menggunakan algoritma LSTM dengan input berupa lapisan embedding. Lalu model dilatih dengan dilakukan validasi pada setiap iterasi (epoch) menggunakan data uji yang sudah dibagi sebelumnya. Proses pelatihan pada model ini menghasilkan akurasi sebesar 88% untuk data training, dan 77% untuk validasi.

 

Hasil dan Evaluasi

Setelam model dibuat dan dilatih, dilakukanlah evaluasi terhadap model yang dibuat dengan menvisualisasikan akurasi dan loss dari model selama proses pelatihan berlangsung. 

 

Dapat dilihat pada visualisasi diatas bahwa perubahan akurasi selama proses pelatihan memiliki tren yang naik sedangkan loss memiliki tren yang turun. Hal ini menandatan bahwa model telah dilatih dengan baik dan tidak terjadi overfitting. Setelah itu, untuk memastikan bahwa model dapat berjalan dengan semestinya yaitu memprediksi sentimen pada twitter, dilakukan prediksi pada kalimat sederhana untuk menguji model. 

Pada gambar diataS, terlihat bahwa model berhasil mengenali sentimen dari sebuah kalimat sederhana yaitu “thank you very much” yang diklasifikasikan sebagai positive. Maka, proyek yang dilakukan yaitu menganalisis sentimen pada data twitter menggunakan algoritma LSTM telah berhasil dilakukan.

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