Chatbot: sesuatu yang sesuatu

Februari 4, 2018

Perkembangan teknologi komputer dan perngolahan….ah, sudahlah..tulisan kayak gitu mah kalo mau tulis makalah. Tulisan di blog ini mah tulisan bebas. Yang penting maksud dan tujuannya tercapai.

Ok..kembali ke chatbot. Chatbot itu bot yang bisa chat alias program komputer yang bisa diajak ngomong atau chat. Mayoritas menggunakan antarmuka berbasis teks. Jadi kalo mau ngomong sama botnya ya mengetikkan sesuatu, lalu botnya menjawab juga lewat tulisan. Seperti gambar berikut :

chatbot1

Gambar diatas merupakan contoh interaksi dengan chabot. Gambar saya ambil dari https://woebot.io/. Woebot adalah chatbot yang digunakan sebagai terapis psikologi. Weebot dikembangkan oleh para psychologists dan pakar AI Universitas Stanford. Gini ini kalo para pakar di universitas kerja sama mengembangkan sesuatu..

Jauh sebelum ini, saya menemukan chatbot berbahasa Indonesia. Chatbot ini bernama ASRI. Nama yang Indonesia banget itu. ASRI dikembangkan oleh Kenz, saya tidak tau nama lengkapnya karena di blognya tertulis “Kenz”. Silahken mengunjungi blog beliau : http://blog.kenz.or.id/2011/12/04/ketika-mereka-chatting-dengan-asri-chatbot.html

ASRI (Automatic Social Response Intelligence) merupakan chatbot berbahasa Indonesia yang saya kembangkan untuk melakukan psikoedukasi dan deteksi dini permasalahan psikologis.

Saya mengutip langsung dari penjelasan beliau mengenai ASRI. Sayangnya, setelah saya telusuri lagi, halaman ASRI sudah tidak aktif lagi. Tampaknya blog tersebut juga belum diupdate lagi.

Bertahun – tahun kemudian, saya mencoba kembali membuat dan terjun serta terjerembab kedalam dunia chatbot. Saya mencoba membuat chatbot dengan Unity game engine. Baru sekedar bisa melakukan chat aja sih, baru belajar implementasinya soale. Namanya “Cimon”, sekedar nyoba2 unity..berikut ini tampilannya :

 

chatbot
Persoalan utama dalam pengembangan chatbot adalah masalah basis pengetahuan yang sesuai dengan domain persoalan. Sebagai contoh: ketika ngobrol dengan seorang pakar sepakbola, tentu ketika kita katakan “433” sang pakar langsung nyambung itu adalah formasi sepakbola. Mengumpulkan pengetahuan dan mengaturnya agar dapat digunakan kembali oleh si Cimon itu merupakan persoalan. Selain itu, dalam mengembangkan chatbot diperlokan pakar yang sesuai domain persoalan. Tentu seorang programmer akan kesulitan jika disuruh membuat pengetahuan tentang psikologi manusia. Oleh karena itu perlu sinergi dan kerja sama antara si pakar dan programmer, plus di dukung oleh orang yang mengerti AI dan pengolahan bahasa Alami alias NLP.

Pertanyaannya adalah kenapa setelah hampir 7 tahun tak pernah bergaul dengan chatbot, sekarang kok saya CLBK, cinta lama bersemi kembali dengan chatbot. Alasan utamanya karena ada teman yang sedang mengembangkan chatbot. Jadi saya beberapa kali berdiskusi dengan beliau dan saya jadi tertarik lagi dengan chatbot. Hal yang kedua adalah karena di lingkungan sekarang, saya bisa bertemu dengan orang – orang yang berpengalaman di domain persoalan seperti pendidikan dan psikologi. Jadi ada peluang untuk bekerja sama mengembangkan chatbot. Alasan ketiga adalah mungkin topik ini yang mau saya jadikan area riset untuk 2 tahun kedepan dan mau dijadikan topik proposal riset untuk daftar beasiswa doktoral entah dimana wkwkwkwkwkwkwkwk.. mimpi harus maksimal. Btw, kalo ada ide atau kritik terhadap tulisan ini, khususnya soal chatbot, saya persilahken..monggo…karena diskusi dan kritik itu membuat ide menjadi lebih baik.

Jadi, tetap semangat dalam perdjoengan, sekali merdeka, tetap harus mengisi kemerdekaan itu. Untuk Tuhan dan Tanah Air..

salam..BaTa ~BapaTua~


Mobile Agent dan Cloning

Januari 21, 2012

Mobile agents adalah agent yang memiliki kemampuan untuk memindahkan dirinya, program dan state yang dimilikinya ke komputer lain dalam suatu jaringan serta melakukan eksekusi proses pada komputer yang disinggahinya (woolridge, 2002).
Mobile agents adalah suatu program komputer yang dikirim dari server ke client atau sebaliknya. Mobile agents dapat berpindah – pindah dalam jaringan sesuai dengan logika(reasonning) dan kondisi yang dimilikinya untuk melakukan sejumlah tugas pada setiap komputer yang disinggahi dalam rangka mencapai goal dari agent tersebut (Satoh, 2003).
Ide dasar mobile agent adalah untuk menggantikan peran dari remote procedure call yang digunakan dalam proses dalam jaringan. Sebuah proses A mengirim sebuah program yang merupakan mobile agent kepada proses b. Agent akan berinteraksi dengan proses B, setelah selesai melakukan komputasi, agen kembali ke proses A dengan membawa hasil sesuai dengan permintaan dari proses yang mengirimnya yaitu proses A.
Mobile agent memiliki 3 bagian utama yaitu kode program, data state dan execution state (bouchemal dan maamri).
Isu seputar mobile agent :
Serialization :
bagaimana model dari agent agar dapat bergerak dalam jaringan?
Hosting and remote execution :
Bagaimana agent melakukan eksekusi (komputasi) ketika agent berada di komputer tujuan? ex : jika sistem operasi pada komputer tujuan berbeda dengan komputer asal.
Security :
Keberadaan agent di komputer tujuan dapat menyebabkan masalah pada komputer tujuan tersebut. Ex: agen mengakses memory ( ram) komputer tujuan secara langsung atau mengakses data yang “sensitif”
Cloning agent
Cloning merupakan salah satu kemampuan yang dimiliki oleh mobile agent. Kemampuan untuk menggandakan dirinya. Cloning dapat meningkatkan efisiensi, meminimalkan kegagalan proses dan meningkatkan ketahanan sistem (robustness)(godfry dan nair, 2011).
Implementasi :
Proteksi dan keamanan agent (bouchemal dan nair)
Cloning digunakan untuk melakukan pengecekan tingkat “keamanan” dari komputer tujuan. Sebelum suatu agen berpindah ke komputer lain, agen tersebut membuat cloning dirinya dan mengirim cloning tersebut ke komputer tujuan. Cloning agen menuju ke komputer tujuan, melakukan proses, kembali ke komputer asal. Agent akan melakukan pengecekan terhadap cloningnya tersebut. Jika tidak terlalu berbahaya, agent melakukan adaptasi dan menuju ke komputer tujuan, jika sangat berbahaya maka agent tidak akan ke komputer tersebut.
Kelebihan beban yang tejadi pada agen (shehory et.al)
Ketika agent dalam suatu sistem multi agent mengalami kelebihan beban proses maka agen tersebut dapat memberikan proses tersebut ke agen lainnya. Proses ini dapat dilakukan dengan melakukan proses cloning agen tersebut pada komputer lainnya. Setelah kloning selesai dibuat, selanjutnya proses yang membebani agent tersebut dapat di berikan kepada kloning dari agent tersebut.

Ref :
[1] Satoh, 2003, Building Reusable Mobile Agents for Network Management, IEEE
[2] Wooldridge, M., 2002, An Introduction To MultiAgent Systems, John Wiley and Sons Ltd, Inggris
[3] Bouchemal, N. Dan Maamri,R., Mobile agent protection with adaptability and cloning.
[4] Godfry,W.W., dan nair, S.B., 2011, A Mobile Agent Cloning Controller for Servicing Networked Robots, International  Conference on Future Information Technology IPCSIT vol.13, IACSIT Press, Singapore
[5] Shehory,o., sycara, K., chalasani, p., jha, S., agent cloning : an approach to agent mobility and resource alocation