Programmer
2 tahun lalu · 1612 view · 4 menit baca · Saintek aiahok.png

Opini Robot Kecerdasan Buatan tentang Ahok

Rileks, ini artikel bukan tentang politik. Ini membahas teknologi kecerdasan buatan, algoritma komputer, dan robot Twitter. Masih ingin lanjut?

Ok. Bayangkan skenario di mana kita bisa meminta program dengan kecerdasan buatan untuk memberikan opininya terhadap suatu topik.  Dan dia bisa menjawabnya. Pasti seru. Seberapa ngaco opininya? Seberapa nyambung? 

Tentu saja robot AI belum sampai pada tahap dia bisa berpikir dan mempertimbangkan suatu topik. Dia bagus dalam hal mengolah data. Lalu bagaimana kita bisa mencapai efek seperti itu? Kita menggunakan algoritma yang dinamakan rantai markov. 

Algoritma ini didasarkan pada probabilitas. Dia merujuk pada data historis untuk memprediksi kata apa yang muncul setelah kata tertentu. Penerapannya cukup banyak dan cukup ajaib.

Keyboard smartphone Anda besar kemungkinan sudah memiliki fitur yang memanfaatkan algoritma ini. Dia memunculkan kata apa yang disarankan tiap Anda selesai mengetik satu kata berdasarkan histori Anda menggunakan keyboard, atau histori standar bawaan aplikasi.

Contoh lainnya, kita bisa membuat puisi dengan gaya yang sama hanya dengan memberikannya kumpulan puisi sebagai referensi. Robot Twitter saya, airima (@rima_robot) mampu membuat baris-baris ramalan ala nostradamus secara cukup realistik setelah saya memberinya 3500 baris quatrain dari nostradamus.

Demikian pula nietzsche, dia mampu membuat kalimat dengan gaya bahasa seperti Nietzsche walau jika diperhatikan seksama akan sering ditemukan kata yang nggak nyambung. 

Tapi di situlah kecocokannya. Kata yang digenerate dari algoritma markov akan seolah sering cocok secara grammar, namun agak aneh secara makna sehingga ini akan cocok untuk men-generate hal-hal seperti puisi atau kalimat yang seolah memiliki makna mendalam (semacam pesudo intelectual words). Robot puisi (@robotpuisi) ciptaan Mbak Pandu dari IBM Indonesia adalah contoh penerapan model ini, Anda bisa beradu puisi dengannya. 

Microsoft sempat membuat robot Twitter bernama Tay dengan algoritma kecerdasan buatan di baliknya. Idenya adalah menyerap opini di jagad Twitter dan akhirnya membentuk pengetahuan dan karakternya sebagai robot. Public Relation Microsoft mengatakan bahwa Tay diharapkan dapat beropini layaknya anak muda sehingga Microsoft dapat memahami aspirasi tipikal anak muda secara umum.

Banyak programer (termasuk saya) yang menerka-nerka algoritma seperti apa yang ada di baliknya. Tebakan saya adalah: Tay menggunakan preprogrammed AI behaviour dengan AIML untuk percakapan standar dan sementara itu mengumpulkan opini yang di-mention kepadanya dan pada akhirnya diolah dengan algoritma serupa markov chain.

Masalahnya adalah: hacker mana pun yang punya pasukan robot twitter, bisa menspam Tay dan memaksakan sebuah opini. Karena inti dari rantai markov adalah analisa probabilitas, maka jelas ini adalah sebuah bug yang cukup fundamental. Hasilnya? Kurang dari 24 jam Tay berubah dari robot naif menjadi robot rasis, pemuja hitler, dan suicidal. Microsoft menutup proyek itu seketika. 

Mereka yang kurang paham akan kemungkinan teknologi di balik Tay (saya bilang kemungkinan karena tentu saja hanya Microsoft yang tahu persis), menggunakan insiden ini sebagai argumen bahwa pengembangan kecerdasan buatan (AI) adalah suatu yang mengerikan dan dapat mengancam kelangsungan manusia.

Sementara saya melihat bahwa teknologi sekarang, termasuk teknologi yang digunakan oleh SIRI, Cortana, ataupun Google Assistant, fondasinya masih sebatas pattern matching, belum mendekati “kesadaran” yang mampu menyelesaikan turing test yang paling sederhana sekalipun. Kita belum sampai ke sana.

Para pemimpin perusahaan teknologi di seputaran Silicon Valley sedang merumuskan kode etik bagi AI. Di sisi lain, masih banyak pekerjaan yang harus dilakukan untuk mencapai sebuah kesadaran komputer. Artificial inteligent masih memerlukan kemajuan dari banyak disiplin ilmu sekaligus mulai dari machine learning, Natural Language Processing, hingga komponen pendukungnya seperti speech recognition, neural network, big data analysis

Kembali ke topik yang menyenangkan. Bagaimana membuat efek yang serupa dengan Tay? Kemarin saya mencobanya. Saya memprogram Airima (@rima_robot) sehingga ketika kita tweet dan mention dia yang mengandung kalimat “apa opini kamu tentang”, maka dia akan mengolah kata atau kalimat sesudah itu dan membuat tweet tentang topik tersebut. Salah satunya adalah sebagai berikut: 

 “Apa opini kamu tentang persidangan Ahok?”

Salah satunya dia menjawab: “Terlalu banyak yang sudah dia lakukan untuk Islam. Kita tidak boleh membiarkannya jalan sendiri.”

Wow. Apakah dia benar berpikir demikian? Tidak.

Itu adalah salah satu jawaban terbaik dan nyambung dengan topik yang diberikan. Beberapa percobaan sebelum dan sesudahnya menghasilkan kalimat yang sulit dipahami walau seolah relevan.

Di baliknya, program akan mengubah kalimat tersebut menjadi string pencarian dan dengan menggunakan Twitter search API, mencari 100 tweet sehubungan kalimat atau tagline tersebut. Lalu difilterlah dan dikeluarkan tweet yang berupa retweet, tweet yang mengandung link (biasanya sekedar share link), tweet duplikat (biasanya ulah bot juga), dan menghapus semua kata yang diawali tanda @ (mention).

Ini dilakukan 20 kali (karena pencarian terbatas maksimal 100 search per hit) dan hasilnya dikumpulkan menjadi sebuah teks panjang berisi kumpulan opini tentang topik tersebut. Dari sinilah diterapkan algoritma markov untuk men-generate opini dari topik yang diminta.

Masih banyak ide menarik untuk mengembangkan metode ini meski masih berbasis algoritma markov. Salah satunya adalah dengan menyimpannya dalam database berbasis dokumen yang biasa digunakan untuk support big data, dan menyimpan node yang di-generate dari rantai markov ke dalam database juga. Hasilnya adalah generate kalimat yang lebih unik, menarik dan kemungkinan lebih relevan.

Namun pada akhirnya, proyek iseng ini hanya sebatas prove of concept (POC) saja karena masih mengandung banyak bug. Saya turunkan dari Twitter. Salah satu kendalanya adalah search API Twitter sangatlah terbatas. Jika kita meminta opini dengan string yang agak panjang, di atas 4 kata, Twitter tidak memberikan hasil, program akan crash.

Di sisi lain, ada juga masalah sepele namun cukup menyebalkan, yaitu bagaimana memotong kalimat yang dihasilkan agar tidak lebih dari 140 karakter namun masih tetap berarti. Ah, sudahlah.