Twitter Sentiment Analysis

Kata Pengantar

Topik hangat untuk dibahas kali ini adalah mengenai Sepakbola, yang menurut berita terakhirnya (as per 31 Maret 2023), Piala Dunia untuk kelompok usia U-20 resmi dibatalkan di Indonesia padahal, beritanya sudah digaungkan ke penjuru negeri. Penolakan terjadi pada beberapa daerah sehingga masyarakat terpecah dua antara yang menolak dan tetap mendukung perhelatan akbar ini, mari kita bersama-sama menganalisa sentimen yang terbentuk dari hal tersebut.

Catatan: Analisa ini bukan bertujuan untuk menggiring opini maupun membenarkan satu sisi atau yang berlawanannya.

Persiapan

Libraries

Scrap Tweets

Buat data dapat mudah dibaca

CSV Save

Guna memudahkan keperluan analisa kedepannya, data disave dalam bentuk csv.

Exploratory Data Analysis

Analisa sederhana mengenai tweets "Sepakbola"

Terlihat cukup unik dimana jumlah tweet terbanyak dilakukan pada hari rabu baru disusul kemudian hari minggu dan selasa.

Dugaan sejalan dengan informasi terbaru resmi dari FIFA (as per hari Rabu, 29 Maret 2023) mengenai berita pembatalan penyelenggaran U20 di Indonesia.

U20Cancelled.png

Terlihat bahwa engagement tersebar hingga 2019 karena banyak retweet yang diambil sampai tahun tersebut

Supaya tidak conflict, tweet_clean dari sepakbola akan dicopy (atau diubah) namanya menjadi tweet_sepakbola

Dari sekian banyak kata yang muncul dengan ukuran yang relatif besar, kata 'israel' menjadi kata pembeda yang dapat dibilang sering dibahas pada tweet mengenai sepakbola.

Prediksi Sentimen pada Tweet

Tahapan selanjutnya adalah mengetahui sentimen pada setiap tweet.

Berikut kita gunakan data twitter lain yang sudah diberi label sentimen yaitu:

- 0 untuk sentimen Positif dan,
- 1 untuk sentimen Negatif

Data tersebut harus "dibersihkan" terlebih dahulu sebelum dapat diproses lanjutan, teks diubah menjadi format corpus kemudian dibersihkan.

Kemudian kita akan menggunakan algoritma klasifikasi Naive-Bayes untuk melakukan prediksi sentimen

Evaluasi Model

Dari hasil pemeriksaan Confussion Matrix, didapat besaran angka:

True Positive sebanyak 46,

True Negative sebanyak 198,

False Positive sebanyak 128 dan

False Negative sebanyak 68.

Evaluasi yang digunakan untuk melihat kebaikan pada model ini adalah Accuracydimana kita menganggap kelas positif dan negatif sama pentingnya atau ketika proporsi kelas seimbang.

Untuk keseluruhan prediksi, akurasinya hanya sebesar 0.55 atau 55%.

F1 score sendiri untuk masing-masing kelas juga rendah (0.32 dan 0.67), ini menandakan masih menghasilkan hasil prediksi yang buruk.

Dugaan rendahnya akurasi dan parameter lain pada model disebabkan oleh kurang cukupnya data yang digunakan untuk training sehingga masih besar kemungkinan terjadinya misclassify