Preview of How to Build Chatbot — More Human?

Review sekilas tentang keilmuan untuk membuat chatbot lebih rasional

Original Works: Vaisagh Viswanathan on Chatbots Magazine | Based Understanding by Ron Ashrovy

Kita hidup di era perkembangan chatbot yang sangat pesat, dimana kemunculan aplikasi-aplikasi bot terus bermunculan, beberapa media chatting pun mulai merambah ke memunculkan bot, dimulai dari telegram hingga kini ke messenger. Pertanyaan yang mendasar ialah dimana letak AI pada chatbot? Lalu dimana letak Machine Learning dan Natural Language Processing? Lalu bagaimana cara membuat chatbot menjadi cerdas


A Very Brief History of Chatbots

Well, pada literatur yang sering saya baca, chatbot atau chatterbot menjadi populer karena adanya Turing Test. Sederhananya Turing Test adalah sebuah AI yang dibangun mirip seperti manusia. Dan ini menjadi sangat menarik karena ada kompetisi bergengsi yang bernama Loebner Prize yang melombakan ini. Nah saat ini kita banyak mengenal aplikasi chatbot yang sangat populer seperti Siri, Google Assistant, Alexa, Bixby dan lain-lain yang memungkinkan untuk memberikan sebuah informasi, mencatat sebuah keperluan hingga menjalankan perintah dengan sebuah “perintah yang tidak terstruktur” yang anda berikan kepada mereka.

Kecerdasan ini yang bisa kita sebut sebagai AI-nya Chatbot

Mengapa demikian? Karena bot mampu memberikan secara kontiniu informasi atau menjalankan perintah secara relevan sesuai dengan yang minta.

Defining A Chatbot’s Intelligence

Menurut Russell dan Norvig pada “Artificial Intelligence: a Modern ApproachIntelligent agent atau chatbot harus mampu mencapai siklus “sense-think-act” (merasa-berpikir-bertindak) agar bot terasa cerdas. Lalu apa maksudnya?

Agency adalah salah satu fitur yang penting didalam chatbot. Kemampuan chatbot untuk mencapai goal dan memproses secara otomatis (tanpa instruksi secara spesifik) hal tersebut membuktikan bahwa chatbot sudah sudah sangat cerdas. Pastinya hal ini tidak mudah dicapai karena membutuhkan model yang rasional, social interaction, emotion dan lain-lainnya. Sebagai bacaan anda bisa mempelajari crowd simulation.

The sense-think-act cycle in the context of robots

Sensing adalah kemampuan bot untuk beradaptasi terhadap lingkunganya. Jika pada chatbot maka kemampuan untuk menangkap pembicaraan user menjadi bagian dari siklus sense itu sendiri. Didalam implementasinya menciptakan sense pada bot merupakan tantangan besar.

Thinking, artiannya sama dengan literal terjemahannya yaitu berpikir. Pada siklus ini dibagi menjadi beberapa bagian:

1. Mengubah informasi yang diterima menjadi bentuk yang dapat dimengerti atau diduga oleh mesin.

2. Menyimpan informasi pada knowledge based lalu diproses (atau dipikirkan oleh bot tersebut).

3. Memperbaharui state agent atau chatbot berdasarkan kemampuan yang sudah ada sebelumnya dan kemampuan yang baru diperoleh.

4. Membuat keputusan berdasarkan semua knowledge yang telah diperoleh.

5. Mengubah keputusan menjadi sebuah tindakan.

Saat ini dengan deep learning dan neural network, learning menjadi sangat amat mungkin. Learning memungkinkan chatbot untuk melihat pola didalam sebuah informasi yang diterima kemudian di respon. Tetapi ini learning saja tidak cukup membuat chatbot dinyatakan memiliki AI karena ada beberapa chatbot yang dibangun tanpa menggunakan learning component. Contoh, anda bisa meng-akses eksperimen pada link ini.

Hal lainnya yang biasa digunakan untuk membuat chatbot mengerti pada suatu input ialah Natural Language processing and understanding.

Selain ini semua ada bagian yang cukup krusial untuk membuat chatbot menjadi sangat cerdas yaitu knowledge base atau knowledge representation yang intinya adalah bagaimana sebuah informasi diperoleh dan di simpan. Hal ini menjadi sangat penting karena sedari awal (sebelum mesin dilatih) informasi yang diberikan untuk dipelajari sudah ditentukan sehingga mesin menjadi cerdas. Kita mungkin merasa bahwa chatbot seperti Siri dan Alexa terasa sangat cerdas, hal tersebut ternyata beberapa pengetahuan diwakili secara internal saja. Oleh sebab itu (1) mesin dapat belajar lebih cepat (2) dapat menentukan informasi yang relevan (3) dan dapat memberikan alasan mengapa informasi itu relevan. Jika informasi yang disimpan dengan strukutur data dan aturan yang baik maka efektivitas disetiap learning yang dilakukan menjadi sangat efektif.

Siklus terakhir ialah decide, yaitu sistem memutuskan sesuatu dari informasi yang diterima dan yang telah dipelajari. Kalau kita mengambil kasus chatbot maka. Chatbot mampu untuk memprediksi kata, atau apa saja yang ingin dia katakan nantinya. Akan sangat cerdas apabila bot mampu untuk memodifikasi decide dari informasi yang baru dikumpulkan.

Setelah decide dibuat maka berikutnya ialah action.

Action Chatbot dalam bentuk teks lebih mudah dibandingkan dengan menggunakan suara, karena intonasi yang menjadi output akan cukup menentukan meaning dari konteks yang ada.

Saya sengaja mem-posting tulisan ini dengan ringkas dibanding versi aslinya karena saya mencari poin-poin terkait dengan algoritma didalam membangun sebuah chatbot.