Oleh Ismail Fahmi

Saya akan share teori, tools, metode, dan case study dengan dua percakapan yang viral dan trending pada periode yang sama di bulan Agustus 2020: Film Tilik dan Jejak Khilafah.

Thread ini hanya akan difokuskan pada deteksi bot menggunakan beberapa metode yang sudah diimplementasikan dan sering digunakan di Drone Emprit.  Konten, sentimen, opini, dan emosi publik atas dua topik dalam case study tidak akan dibahas.

PERTANYAAN  
- Metode apa saja yang bisa digunakan untuk mendeteksi pola bot dalam percakapan di Twitter?
- Apa tools yang bisa digunakan langsung oleh developer pemula?
- Bagaimana pola bot dalam percakapan tentang Film Tilik dan Film Jejak Khilafah di Nusantara?

MOTIVASI  
Pada tahun 2017 sebuah riset di Oxford University sudah melaporkan bagaimana negara-negara di dunia menggunakan berbagai strategi untuk memanipulasi opini public di media sosial.
Laporannya bisa didownload di sini: http://comprop.oii.ox.ac.uk/wp-content/uploads/sites/89/2017/07/Troops-Trolls-and-Troublemakers.pdf

SOCIAL MEDIA MANIPULATION  
Oxford University menyoroti penggunaan akun anonim dan bot yang didukung berbagai kanal sosmed yang disponsori oleh pemerintah.   Namun dalam kenyataan, bukan hanya pemerintah yang melakukan itu. Partai politik, organisasi lain, juga bisa melakukan.

COMPUTATIONAL PROPAGANDA
Sejak tahun 2012 hingga sekarang, penggunaan bot (robot) atau algoritma komputer yang terotomatisasi sudah sering dilakukan oleh berbagai aktor di seluruh dunia untuk MEMANIPULASI OPINI PUBLIK. Melalui berbagai kanal medsos, seperti Twitter, FB, IG, YT.

DETEKSI BOT  
Nah sekarang yang ingin kita lakukan adalah, bagaimana mendeteksi adanya bot, dan bagaimana pola percakapan yang menggunakan bot.

BOTOMETER  
Cara paling mudah secara otomatis mendeteksi bot adalah menggunakan MACHINE LEARNING. Dan tools yang sudah tersedia dan dikembangkan oleh kalangan akademik adalah Botometer.

Botometer adalah tools yang dibuat Indiana University untuk mengecek aktivitas sebuah akun di Twitter dan memberi score seberapa besar probabilitas akun itu merupakan bot. Semakin besar scorenya, semakin tinggi kemungkinan itu bot.

CARA KERJA  
Botometer menggunakan input berupa public profile dari sebuah akun, dan 200 cuitan terakhir dari akun tersebut.   Dari data input tersebut diekstrak 1.200 fitur untuk mengukur karakteristik profile, pertemanan, jaringan, pola waktu aktivitas, bahasa, dan sentimen.

Fitur tersebut jadi input bagi berbagai model machine learning, yang pada akhirnya outputnya digunakan untuk menghitung score bot dari akun tersebut.

REFERENSI BOTOMETER  
Lebih jauh tentang Botometer bisa dibaca di paper-paper berikut.

(RO)BOT SCORE @ISMAILFAHMI  
Dari situs http://botometer.iuni.iu.edu anda bisa mengecek berapa score bot sebuah akun.   Misal untuk akun saya @ismailfahmi, scorenya adalah 0.2. Score 0 adalah human, score 5 adalah bot. Artinya Botometer mendeteksi saya sebagai manusia.

Tool ini mengambil 200 cuitan saya terakhir, melihat pola waktu posting, pertemanan, jaringan, bahasa, kemiripan teks, dll.  Bisa dilihat dari grafik cuitan berdasarkan waktu, saya konsisten tidur pada jam malam-subuh. Dan mulai siang hingga malam juga aktif.

CONTOH BOT  
Sebagai pembanding, ini contoh dua akun yang score botnya di warna kuning.   Akun @RasamSuheni aspek Temporalnya merah (4.7) menandakan kalau polanya terprogram, tidak random natural. Score botnya 2.2, mirip cyborg.

Sedangkan akun @fadilaahf dari sisi konten (teks), pertemanan, jaringan, dan temporal semuanya merah. Score botnya 3, artinya sangat dekat sebagai bot.

CONTOH KONTEN BOT  
Bagaimana sebuah akun memiliki score Content yang sangat mirip bot?   Contohnya akun @fadilaahf di atas, setelah dicek timelinenya, banyak cuitan yang kontennya sama. Hanya berbeda beberapa huruf saja, sekedar mengelabuhi Twitter biar tidak disuspend.

BOTOMETER API  
Selain kita bisa mengakses Botometer melalui web, tersedia juga akses melalui API.   Alamatnya di http://rapidapi.com/OSoMe/api/botometer-pro…. Lisensinya freemium, artinya bisa gratis untuk batasan tertentu, melebihi itu harus bayar.

DRONE EMPRIT + BOTOMETER  
Untuk menentukan score bot dari akun-akun yang muncul dalam percakapan, Drone Emprit menggunakan layanan Botometer API.   Setiap akun diambil profilenya, plus 200 cuitan terakhir, lalu dikirim ke server API Botometer.

Response dari API adalah score bot dari akun tersebut. Ini dilakukan untuk setiap akun, sehingga butuh waktu lama untuk menyelesaikan identifikasi bot dari semua akun.

VISUALISASI HASIL BOT ANALYSIS  
Untuk memudahkan membaca hasil analisis bot dari ratusan ribu, kadang jutaan percakapan di Twitter, DE membuat visualisasi ini.   Tampak sebuah percakapan itu dominan oleh human, cyborg, atau bot. Detail statistiknya juga disajikan.

CASE STUDIES  
Sekarang kita coba analisis pola bot pada percakapan tentang dua film yang muncul hampir bersamaan di bulan Agustus ini. Yaitu: Tilik (17 Agt 2020) dan Jejak Khilafah di Nusantar atau JKDN (20 Agt 2020).

TREN ‘TILIK’ VS ‘JKDN’  
Jauh hari sebelum peluncuran tgl 20 Agt, sudah sangat masif percakapan tentang JKDN. Puncak kampanye sebelum rilis terjadi pada 18 Agustus.

Sementara Tilik yang dirilis lebih awal (17 Agt) tidak memiliki persiapan atau “pra-teks” sama sekali. Setelah dirilis pun tidak langsung viral. Baru tanggal 19 Agustus percakapannya naik, hingga viral mengalahkan JKDN sejak 21 Agustus hingga sekarang.

VOLUME ‘TILIK’ VS ‘JKDN’  
Dalam periode yang sama dari 13-25 Agustus, total percakapan JKDN (180k) jauh lebih tinggi dari Tilik (127k).  Dari detail platform, tampak JKDN menang di Twitter saja. Di media Online dan Instagram ternyata Tilik yang unggul.

SNA ‘TILIK’ VS ‘JKDN’  
Percakapan tentang kedua film ternyata dilakukan oleh cluster2 yang berbeda.   Film Tilik dibahas oleh cluster non partisan. Cluster ini tampak tak terlalu minat dengan JKDN.

Sedangkan film JKDN dibahas oleh 3 cluster: Pro Khilafah (HTI), Pro Oposisi, dan Pro Pemerintah.  Cluster2 ini juga tampaknya tak terlalu minat dengan Tilik.

BOT SCORE ‘TILIK’  
Sekarang kita mulai dengan menganalisis bot score Tilik.  Dari total 79,739 user yang aktif mencuit, RT, reply, yang berhasil dan sudah dianalisis bot scorenya ada sebanyak 52,595 user, atau 65,96%.

Secara keseluruhan, bot score rata-rata dari seluruh cuitan tentang Tilik adalah 1.34. Artinya, percakapannya sangat natural oleh akun-akun yang probabilitas botnya sangat kecil.

CONTOH AKUN ‘TILIK’ DENGAN SCORE BOT 4-5 (ROBOT)  
Akun mana saja yang menurut klasifikasi Botometer adalah bot (score 4-5)?   Dari dashboard DE bisa dilihat daftar akun yang mirip bot. Ini sebagian contohnya. Kita akan lihat dua contoh akun lebih detail.

CUITAN OLEH AKUN TERINDIKASI BOT  
Contoh dua akun yang terindikasi bot adalah @rifai_thuba dan @sabhatansabiz.   Akun pertama sudah tidak ada, kemungkinan kena ban dari Twitter. Dari daftar cuitan yang tersimpan di DE, sepertinya akun ini lebih banyak me-RT cuitan akun lain.

Akun kedua @sabhatansabiz  memiliki follower besar (1,574). Mengapa dideteksi sebagai bot?  Ternyata cuitannya hanya untuk menyebarkan link artikel dari situs http://blok-a.com, dengan cara banyak me-RT cuitan dari akun @bloka_media.
https://t.co/QPTkGYDmE8?amp=1

Jumlah akun bot dan postingannya untuk Tilik sangat kecil. Akun yang bot scorenya di atas 2 hanya 8.5%. Mayoritas di score 0-2.   Ini memperlihatkan film Tilik dibahas secara natural oleh warganet.

CONTOH AKUN ‘TILIK’ DENGAN SCORE BOT 0-1 (HUMAN)  
Sebagai perbandingan, akun2 yang dideteksi sebagai human (score 0-1) sebagian diperlihatkan dalam tabel di bawah. Yang paling aktif antara lain @Syamsud41732201, @masihkecilsaja, @kompascom, dll.

SNA BOT SCORE ‘TILIK’  
Drone Emprit telah membangun konfigurasi SNA baru untuk menampilkan node akun sesuai warna bot score-nya. Warna putih artinya belum dideteksi.   Sulit menemukan node dengan warga merah atau orange (score 3-5).

INTERACTION TYPE ‘TILIK’  
Selain dengan bot score, DE memiliki beberapa fitur lain yang bisa digunakan untuk melihat pola bot atau pola yang tidak natural.   Pertama pola interaksi. Menampilkan total cuitan menurut tipe interaksi (mention, RT, reply) dr waktu ke waktu.

Interaction rate ‘Tilik’ sebesar 4.20. Artinya, setiap status baru rata-rata mendapat 4.20 retweet dan reply. Ini angka yang cukup tinggi.  Dari distribusi mention (biru) dari waktu ke waktu, terdapat response (RT, ungu) yang lebih besar. Ini biasanya pola interaksi yang natural.

Secara natural, setiap ada cuitan baru akan mendapat interaksi tak lama setelah diposting. Dari hari ke hari, pola ini akan konsisten.   Hal ini diperlihatkan pula oleh grafik interaction type dari Tilik.

EXPOSURE ‘TILIK’  
Fitur lain dari Drone Emprit untuk melihat kemungkinan adanya pola bot adalah Exposure. Grafik ini menampilkan jumlah cuitan berdasarkan jumlah follower dari usernya.   Dari jumlah follower 1 digit hingga jutaan.

Untuk film Tilik, grafik exposure di atas memperlihatkan kurva yang cenderung normal. Kecil di ekor kiri dan kanan, dan tinggi di tengah. Twit oleh akun dengan follower 1 digit cukup kecil.   Jika postingan oleh akun2 satu digit ini besar, artinya banyak bot yang beraksi.

KESIMPULAN ‘TILIK’  
Dapat disimpulkan percakapan tentang ’Tilik’ dilakukan secara natural yang ditandai dengan bot score rata-rata yang kecil yaitu sebesar 1.34.  Hal itu juga didukung oleh pola interaksi dan exposure yang menandakan pola natural.

BOT SCORE ‘JKDN’  
Sekarang kita analisis pola bot dalam percakapan tentang JKDN.  Secara keseluruhan, rata-rata bot score untuk ‘JKDN’ adalah 2.54. Ini mengindikasikan banyaknya postingan yang dilakukan oleh akun yang bot scorenya tinggi.

Grafik distribusi post berdasarkan bot score di atas menunjukkan banyaknya postingan oleh akun dengan score 1 sd 4. Bahkan untuk score 4-5 pun cukup tinggi.   Artinya, percakapan ‘JKDN’ tampak tidak natural, dan banyak didorong oleh akun bot (score tinggi).

CONTOH AKUN ‘JKDN’ DENGAN SCORE BOT 4-5 (ROBOT)  
Sebagai contoh, akun2 yang dideteksi oleh Botometer memiliki score bot yang tinggi diperlihatkan oleh tabel ini. Silahkan dicek di timeline mereka, apakah tampak pola bot itu.  Apakah pasti itu bot?

Belum tentu itu semua adalah bot. Dalam machine learning, kita hanya mengukur probabilitas.  Botometer hanya mengambil 200 cuitan terakhir. Jika ternyata polanya mirip bot, dan fitur2 lain mirip bot, maka akun anda akan dianggap bot.  Meski demikian, score ini bisa jadi insight.

CONTOH AKUN ‘JKDN’ DENGAN SCORE BOT 0-1 (HUMAN)  
Sebagai perbandingan juga, ini daftar sebagian akun yang probabilitas botnya paling kecil, atau dianggap sebagai human oleh Botometer

SNA BOT SCORE ‘JKDN’  
Peta SNA yang menampilkan node dengan warna sesuai bot score untuk JKDN menunjukkan adanya 3 cluster besar: Pro Oposisi, Pro Khilafah (HTI), dan Pro Pemerintah.   Ada juga cluster dengan 3 akun yang saling berinteraksi dengan masif namun menyendiri.

SNA BOT SCORE ‘JKDN’ (ZOOM HTI)  
Kalau kita zoom cluster HTI, tampak bertebaran node yang berwarna merah atau orange yang menandakan bot scorenya di atas 3 (cenderung mirip bot)

CONTOH AKUN BOT  
Salah satu akun yang dideteksi sebagai bot oleh Botometer di atas adalah @RasamSuheni. Di peta SNA tampak akun ini meng-RT cuitan dari banyak akun lain.   Score Temporalnya 4.7, mirip bot, seperti grafik distribusi berdasarkan jam yg hanya aktif di jam tertentu.

CONTOH TIMELINE SEBUAH AKUN BOT  
Setelah dilihat langsung timelinenya, banyak sekali postingannya seperti terprogram, ditambah kode random, dan tidak mendapat interaksi sama sekali dari akun lain.

CLUSTER ROBOT  
Sekarang kita cek cluster kecil dengan 3 akun yang sangat besar interaksi di antara mereka, ditandai oleh tebalnya garis antar node.  Ketiga akun ini @dindarahma0308, @kektus_rs, dan @asmakhoula ternyata dalam top 5 user yg paling aktif, paling sering mencuit.

CONTOH TIMELINE AKUN-AKUN DALAM CLUSTER ROBOT  
Dari timeline ketiga akun tersebut tampak jelas adanya pengulangan teks, yang hanya dibedakan oleh beberapa karakter saja. Misal menggunakan angka urut atau permutasi dari tanda baca koma dan titik.  Tujuannya biar tdk dianggap spam.

Ini trik, cukup dengan 3 akun, tampak seolah ada percakapan yang tinggi mengandung frasa tertentu, yang diharapkan akan jadi dukungan buat trending topic Twitter.

CONTOH BOT SCORE 2 AKUN ROBOT  
Kalau dicek dengan Botometer, dua akun dalam cluster bot itu, @asmakhoula mendapat score 2, dengan score content, friend, network, dan temporalnya yang mirip bot. Grafik temporal berdasarkan jam memperlihatkan akun ini aktif di 2 posisi jam saja.

Akun satunya @dindarahma0308 memiliki temporal yang lebih baik, namun content dan friend nya mirip bot. Botometer memberi score 2.7 alias lebih mendekati sifat bot.

INTERACTION TYPE ‘JKDN’  
Sekarang kita uji dengan fitur Interaction Type dari DE.   Interaction rate ‘JKDN’ sangat kecil, hanya 0.92. Artinya rata-rata setiap postingan dapat kurang dari 1 Reply+RT. Ini sangat rendah, menandakan kurangnya interaksi dalam percakapannya.

Berbeda jauh dibandingkan ‘Tilik’ sebesar 4.30 interaksi per postingan baru.   Distribusi tipe interaksi 'JKDN' juga tidak natural. Dimulai dengan banyak postingan tanpa interaksi (spamming) dari tanggal 13-20 Agustus. Lalu interaksi (reply+rt) yang masif, tapi sedikit mention.

EXPOSURE ‘JKDN’  
Kita test dengan fitur Exposure dari DE.   Distribusi sebaran jumlah cuitan terhadap kelompok user berdasarkan jumlah follower memperlihatkan percakapan tentang ‘JKDN’ banyak dilakukan oleh akun-akun dengan follower kecil.

Kontribusi akun minim follower ini mencapai 55% lebih dari total percakapan. Akibatnya, kurva distribusinya besar di ekor kiri.  Berbeda sekali kalau dibandingkan dengan ‘Tilik’ yang kurva distribusinya cenderung normal. Kecil di kedua ekor kiri dan kanan, tpi besar di tengah.

TOP HASHTAGS ‘JKDN’  
Apa tujuan dari penggunaan akun2 yang dideteksi sebagai bot di atas? Salah satunya untuk mengangkat berbagai tagar berikut agar menjadi trending topik di Twitter.

TOP 5 INFLUENCERS ‘JKDN’  
Aktivitas bot itu mungkin tak tampak oleh netizen. Mereka hanya akan melihat tagar yang trending, dan akun-akun top influencer yang banyak muncul di timeline.  Berikut ini top 5 influencer JKDN.

TOP 60 INFLUENCERS ‘JKDN’  
Daftar lebih banyak top influencers JKDN bisa dilihat di tabel ini.

KESIMPULAN ‘JKDN’  
Dari bot score rata-rata untuk percakapn tentang ‘JKDN’ sebesar 2.54, bisa disimpulkan bahwa hampir separuh percakapan dilakukan oleh akun dengan indikasi sebagai bot.

Hal itu juga diperkuat oleh grafik eksposure dimana 55% lebih cuitan dilakukan oleh akun dengan minim follower.  Beberapa akun yang terindikasi bot setelah diperiksa memang memperlihatkan timeline yang tidak natural.

CLOSING  
Analisis ini dibuat sebagai bahan edukasi dan literasi bagi publik dengan contoh dua film ini. Kebetulan ini dua case yang berbeda polanya, dan menarik perhatian publik.  Buat yg ingin mengembangkan tools deteksi bot, bisa juga menggunakan metode Drone Emprit ini.