Mendeteksi Bot Twitter dengan Machine Learning

Photo by Kevin Ku on Unsplash

Penelitian pada tahun 2018 menunjukkan bahwa 66% links yang diposting di Twitter berasal dari akun bot [1]. Tidak hanya itu, selama pandemi Corona berlangsung, hampir separuh akun yang memposting mengenai virus Corona adalah bot [2]. Fenomena bot di Twitter bukan hal yang baru. Bot pada media sosial seperti Twitter kian bertambah populasinya seiring dengan kepopuleran media sosial tersebut.

Bot Twitter umumnya adalah akun Twitter yang diprogram untuk mengirimkan tweet secara otomatis menggunakan program yang sudah dijadwalkan.

Beberapa bot bertujuan untuk menyebarkan informasi bermanfaat, antara lain: mengabarkan informasi seperti bencana alam dan cuaca, berperan sebagai customer service pada akun-akun brand, dan sebagainya. Namun demikian, tidak semua bot dibuat untuk tujuan yang positif, seperti menyebarkan berita bohong (hoax), spam, atau menjadi pengikut bayaran akun tertentu. Tujuannya bisa bermacam-macam, seperti menaikkan atau bahkan menyudutkan popularitas suatu akun atau topik tertentu, mengubah sentimen publik terhadap suatu isu, dan sebagainya.

Kami melakukan eksperimen dengan mengklasifikasikan atau mengkategorikan akun-akun di Twitter ke dalam empat kategori berdasarkan tujuannya sebagai berikut.

  • Informative: bot yang bertujuan menyebarkan informasi kepada pengguna, misalnya bot yang mempublikasikan fakta, bot yang mempublikasikan informasi gempa, bot yang menuliskan konten puisi, dan bot konten humor[3];
  • Spammer: bot yang bertujuan untuk menyebarkan konten spam [4];
  • Fake Follower: bot yang berperan sebagai pengikut bayangan bagi suatu akun untuk membuat seolah-olah akun tersebut memiliki popularitas tinggi [4];
  • Human: akun non-bot.

Dengan menggunakan algoritma machine learning, kita dapat melakukan deteksi jenis-jenis akun Twitter berdasarkan pembagian kategori di atas.

Dataset yang digunakan pada eksperimen ini berasal dari sumber data publik yang tersedia secara bebas di internet. Detail dataset yang dikumpulkan sebagai berikut.

Tabel 1. Detail Dataset

Kami melakukan eksperimen untuk mencari perbedaan akun spammer, informative, fake follower, dan human berdasarkan parameter jumlah following (friends_count) dan followers Twitter. Eksperimen dipetakan dengan menggunakan scatter plot. Berdasarkan observasi pada Gambar 1, terlihat jelas terdapat struktur persebaran yang berbeda.

Gambar 1. Scatter Plot perbandingan jumlah following dan followers akun pada dataset

Berdasarkan visualisasi data pada scatter plot, bot informative dan human memiliki persebaran yang serupa. Akun bot informative dan human cenderung memiliki jumlah followers yang tinggi sedangkan jumlah following-nya rendah. Sementara pola akun fake followers cenderung mirip dengan pola akun spammer, dimana jumlah following dan followers cenderung sama.

Gambar 2. Boxplot nilai reputasi akun dan usia akun dalam hari

Setelah itu, kami melakukan eksperimen untuk memetakan dataset dalam bentuk box plot. Berdasarkan observasi, bot informative memiliki reputasi paling tinggi dengan nilai mendekati 1. Sedangkan spammer menunjukkan reputasi paling rendah.

Berdasarkan boxplot usia akun dalam hari, dapat diketahui bahwa kebanyakan akun dibuat 2.000 hingga 3.000 hari yang lalu, yang setara dengan 5 hingga 8 tahun yang lalu. Sedangkan bot informative dibuat sekitar 500 hingga 1.500 hari yang lalu. Ini menunjukkan bahwa kemunculan bot-bot informative (konten hobi atau positif), baru muncul sekitar 1 hingga 4 tahun yang lalu. Sedangkan bot spammer muncul di waktu yang hampir sama, yakni antara 2.000 hingga 3.000 tahun. Hal ini sesuai dengan sifat akun spammer yang menaikkan popularitas suatu akun dengan konten spam.

Selanjutnya, kami melakukan analisis mengenai parameter-parameter yang berpengaruh dalam analisis machine learning. Parameter yang berpengaruh ini disebut feature importance.

Berdasarkan pengukuran skor feature importance, feature yang memiliki bobot paling tinggi adalah rerata kata per tweet (avg_words), sedangkan yang terendah adalah contains_bot_name (sisipan istilah ‘bot’ dalam username twitter). Hal ini menunjukkan bahwa rerata kata per tweet memiliki bobot paling tinggi untuk klasifikasi akun. Sedangkan sisipan istilah ‘bot’ dalam username twitter memiliki bobot paling rendah untuk klasifikasi akun. Hal ini dapat dipengaruhi pula karena dataset yang menyisipkan kata ‘bot’ dalam username memiliki jumlah sangat sedikit. Sehingga tidak mempengaruhi machine learning untuk proses klasifikasi. Detail mengenai feature importance dapat dilihat pada gambar di bawah ini.

Gambar 3. Grafik feature importance

Proses klasifikasi multiclass dengan algoritma Random Forest Classifier menghasilkan akurasi rerata sebesar 96,79%, presisi 97%, recall 96% dan f-1 score 96%. Sehingga model deteksi bot memiliki akurasi yang tinggi.

Gambar 4. Evaluasi tiap-tiap kategori

Kesimpulan

Pengembangan sistem deteksi bot menggunakan machine learning dengan algoritma Random Forest Classifier dapat menghasilkan empat jenis kategori. Klasifikasi empat jenis kategori antara lain: kelas non-bot (human), fake follower, spammer, dan informative.

Proses klasifikasi multiclass menghasilkan akurasi sebesar 96,79%, presisi 97%, recall 96%, dan f-1 score 96%. Sehingga model deteksi digolongkan memiliki akurasi yang tinggi.

Referensi

  1. “Two-thirds of links on Twitter come from bots. The good news? They’re mostly bland.” https://www.vox.com/technology/2018/4/9/17214720/pew-study-bots-generate-two-thirds-of-twitter-links
  2. “Researchers: Nearly Half Of Accounts Tweeting About Coronavirus Are Likely Bots” https://www.npr.org/sections/coronavirus-live-updates/2020/05/20/859814085/researchers-nearly-half-of-accounts-tweeting-about-coronavirus-are-likely-bots
  3. “10 Twitter bots that actually make the internet a better place — Internet Citizen.” https://blog.mozilla.org/internetcitizen/2018/01/19/10-twitter-bots-actually-make-internet-better-place/. [Accessed: 19-Dec-2019].
  4. A. Khalil, H. Hajjdiab, and N. Al-Qirim, “Detecting Fake Followers in Twitter: A Machine Learning Approach,” Int. J. Mach. Learn. Comput., vol. 7, no. 6, pp. 198–202, 2018.

--

--

Inspiring The World with Data www.datains.id

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store