Sabtu, 14 Agustus 2021

Mengedepankan Chatbot

Pada 24-25 Agustus 2019 saya dan dua anggota tim SSW Developer (Syamsul dan Windy) berkesempatan untuk mengikuti kegiatan hackathon di Jakarta. Kegiatan tersebut adalah pengalaman pertama bagi kami. Kami harus menyelesaikan ide aplikasi dalam 24 jam dan bersaing dengan 30 tim lainnya. Kegiatan yang diadakan di salah satu hotel di Jakarta itu adalah "babak final" bagi para peserta yang sebelumnya sudah berhasil lolos dalam babak penyaringan ide.

Ide kami sederhana, yaitu membuat aplikasi chatbot atau layanan obrolan otomatis yang digunakan oleh user untuk mendapatkan aksi atau jawaban sesuai apa yang dibutuhkan. Ide tersebut adalah buah hasil diskusi via telepon yang kami lakukan (karena saya di Surabaya, Syamsul di Palembang, dan Windy di Semarang kala itu). 



Mengapa kami memilih ide tersebut? Hal paling mendasar karena kami ingin membuat aplikasi yang mudah dan cepat dan realistis untuk diselesaikan dalam waktu 24 jam. Kesibukan kami pada pekerjaan juga mengakibatkan waktu untuk eksplorasi teknologi baru menjadi sangat minim. Kemampuan kami dalam hal programming juga harus "dipanasi". Sehingga kami menghindari ide yang "wah" apalagi yang membutuhkan usaha untuk belajar lagi.

Selain alasan keterbatasan skill dan waktu, kami juga mempertimbangkan efek kebermanfaatan pada aplikasi yang dibuat. Salah satu tema yang diberikan oleh panitia adalah B2C (Business to Consumer). Permasalahan yang muncul ialah bagaimana dapat menjaga loyalitas dan meningkatkan engagement konsumen pada produk dengan aplikasi yang dibuat. Loyalitas konsumen pada sebuah produk (tentu saja karena kualitas produk itu sendiri) disebabkan oleh bagaimana keterbukaan, kecepatan, keakuratan informasi yang disampaikan. Juga bagaimana penanganan atas laporan, keluhan, komplain yang diterima dari konsumen. Bagi perusahaan penyedia produk dengan jumlah konsumen yang banyak, informasi-informasi dan keluhan-keluhan menjadi sangat repetitif (berulang) dan seragam. Namun penanganannya harus dengan baik dilakukan ke semua konsumen. Berbagai kanal yang ada juga dirasa masih kurang. Kami juga melakukan riset dengan membaca berbagai artikel di internet, untuk melihat bagaimana solusi yang ditawarkan oleh berbagai perusahaan, apa yang menjadi best practice, dan siapa pemberi produk yang paling bisa memberikan kepuasan kepada konsumen. Setelah banyak pertimbangan, kami menyimpulkan bahwa intinya adalah komunikasi. 

Kami pun memilih ide membuat chatbot.

Aplikasi chatbot adalah salah satu solusi yang dapat digunakan untuk menjawab permasalahan B2C. Mengapa? Karena di era yang serba cepat ini, para konsumen (untuk produk apapun) membutuhkan jawaban dan feedback yang juga cepat dari pemberi produk. Di dalam customer services, kita mengenal istilah Services Level Agreement (SLA) untuk menentukan berapa lama response time dan resolution time dari para agent services desk. Terbiasanya konsumen dalam mendapatkan apa yang dinikmati (instant gratification) juga menjadi alasan mengapa komunikasi yang handal sangat dibutuhkan. Chatbot juga sudah banyak digunakan oleh perusahaan, seakan menjadi best practice dan kanal yang wajib dimiliki dan disediakan. Maka pilihan untuk membuat chatbot kami rasa sudah tepat, karena membutuhkan waktu yang relatif singkat untuk dapat membuat aplikasi sederhana namun memberi manfaat yang besar.

Tentang Chatbot

Chatbot bukanlah sebuah terobosan baru di era milenal (2000an). Ia adalah ide lama yang kembali menjadi populer karena adanya perkembangan aplikasi mobile chatting dan user sudah terbiasa dengan obrolan melalui teks (adanya UX -- user experience). Apalagi didukung oleh perkembangan teknologi cloud dan open source.

Chatbot yang pertama kali dibuat (dan tercatat dalam sejarah) bernama ELIZA, dibuat pada tahun 1966 oleh Joseph Weizenbaum, salah satu profesor MIT, menggunakan metode AI decision tree. Setelah itu muncul PARRY (1972), Jabberwacky (1988), Dr. Sbaitso (1992), A.L.I.C.E. (1995), SmarterChild (2001), Siri (2010), Google Assistant (2012), Cortana (2014) dan Alexa.

Intinya, gagasan chatbot ini sudah lama dipikirkan oleh manusia untuk menyelesaikan berbagai permasalahan. Perkembangan Artificial Intellegent dan Machine Learning juga berperan dalam mengembangkan chatbot, yang memiliki tujuan supaya percakapan yang dilakukan semirip mungkin dengan obrolan sesama manusia. Namun tentu saja chatbot tidak hanya digunakan untuk menjawab pertanyaan kita, tetapi juga dapat digunakan untuk menyelesaikan sebuah permasalahan. Contohnya chatbot yang ada pada Telegram, Slack, Microsoft Teams, dan lain sebagainya. Mereka semua adalah robot yang menggunakan "interface" sebuah percakapan untuk men-trigger sebuah perintah.

Seperti yang saya sebutkan di awal, penggunaan aplikasi chatbot menjadi marak dan sangat populer dewasa ini karena mulai berkembangnya teknologi dan banyaknya orang-orang baik di internet. Berbagai layanan framework banyak ditawarkan, yang dapat langsung kita gunakan dalam pembuatan aplikasi chatbot ini, mulai dari yang sederhana sampai rumit, yang disusun oleh if-else biasa sampai yang dapat mengakomodir Natural Language Processing. Beberapa contoh dari framework chatbot adalah Microsoft Bot Framework, Rasa, Wit AI, Dialogflow (yang tim saya gunakan dalam Hackathon), IBM Watson, Amazon Lex, Pandorabots, Botpress, Botkit, dan ChatterBot. Belum lagi dengan library AI atau ML yang dibuat oleh banyak komunitas/perusahaan, contohnya OpenAI, DeepMind, Doc.ai, atau Fermilab. Dan juga layanan cloud seperti Google Cloud Platform, Microsoft Azure, AliCloud dan AWS. Kita dapat dengan mudah menemukan tutorialnya di internet.

Chatbot Adalah Solusi

Pada acara hackathon yang kami ikuti, kami menggunakan framework Dialogflow dengan basis data dari Firebase. Sedangkan untuk GUI (Graphic User Interface), kami menggunakan aplikasi mobile yang dibuat dari Ionic framework dan aplikasi dasbor administrator yang dibuat dari .NET framework. Berkat solusi chatbot yang kami tawarkan tersebut, Alhamdulillah dapat mengantarkan kami menjadi finalis 10 besar.

Selain menjadi solusi bagi kami dalam hackathon, chatbot juga dapat menjadi jawaban untuk semua permasalahan kita. Karena berbasis teks, chatbot sangat powerful apabila dapat diintegrasikan dengan aplikasi yang lain. Teknisnya mungkin dapat menggunakan API (Application Programming Interface) atau web-services. Kita tinggal mencarinya di internet sesuai dengan kebutuhan.

Dan berbicara mengenai kebutuhan, selama ini saya mendapatkan permasalahan pada pekerjaan yang amat sangat ingin saya pecahkan menggunakan chatbot. Berikut di antaranya:

1. Permasalahan komunikasi dengan user. Melihat dengan banyaknya user yang saya dan tim tangani, terkadang terpikir untuk dapat membuat aplikasi chatbot tersendiri. Walaupun skalanya hanya untuk internal perusahaan, tetapi aplikasi chatbot ini pasti akan membantu menjawab pertanyaan-pertanyaan berulang yang disampaikan oleh user dan melakukan aksi yang sering dimintakan. Aplikasi chatbot yang terhubung dengan Whatsapp for bussiness perusahaan atau collaboration tools resmi yang pasti digunakan oleh semua pekerja di kantor.

2. Permasalahan dalam mengakses aplikasi ERP. Setiap perusahaan besar pasti menggunakan aplikasi ERP (Enterprise Resource Planning) untuk mengatur pembelian, pengadaan, penjualan, penyediaan stok, dan lain sebagainya. Semuanya terhubung dalam satu rangkaian proses dan tersimpan dalam satu database besar. Contohnya adalah SAP. Supaya dapat mengaksesnya, diperlukan aplikasi GUI khusus (SAP Logon) dan lisensi yang terhitung mahal. Padahal mungkin dari banyaknya fitur yang disediakan SAP, kita hanya menggunakan t-code (transaction code) yang itu-itu saja. Belum lagi untuk mendapatkan sebuah laporan dan informasi tertentu secara singkat dan cepat, kita harus melakukan banyak langkah. Akan menjadi sangat mudah apabila terdapat chatbot yang tersambung dengan SAP yang terintegrasi dengan collaborations tools (katakanlah Slack, Microsoft Teams, Telegram, dan lainnya). Hanya diperlukan beberapa "chat" untuk dapat memerintah dan mendapatkan informasi yang kita butuhkan.

3. Permasalahan dalam mewujudkan imajinasi. Suatu ketika saya pernah terpikir dan mempertanyakan apakah ada yang namanya idea generator? Mengubah ide akan suatu aplikasi atau videogames menjadi kenyataan tanpa bersusah payah untuk membangunnya. Karena programming tidak hanya melakukan pekerjaan mengetik program tetapi sebagian waktu digunakan untuk berpikir. Pertanyaan itu lama tidak pernah lagi saya pikirkan hingga saya membaca sebuah artikel tentang OpenAI - Codex.

Codex adalah sistem kecerdasan buatan (yang lebih ke arah NLP) milik OpenAI yang dapat mengubah bahasa sehari-hari menjadi bahasa/kode pemrograman. Codex adalah pengembangan dari GPT-3 yang sebelumnya sudah sangat menarik perhatian banyak orang karena kemampuannya menginterpretasikan bahasa manusia. Codex dapat diakses menggunakan API yang dapat diterapkan pada berbagai aplikasi. Kita bisa melihat video demonya di sini: https://youtu.be/SGUCcjHTmGY

Berbeda dengan konsep citizen development, yang menggunakan konsep low-code/no-code tanpa adanya proses pengkodean, hanya menggunakan drag-drop (silakan baca tulisan saya tentang Citizen Development di sini) API Codex ini memungkinkan kita untuk memberikan perintah pada AI untuk membuat sebuah aplikasi atau video games dengan keluaran berupa kode pemrograman. Hal yang kita butuhkan adalah kalimat yang jelas dalam memerintah kecerdasan buatan tersebut. Dalam video demo di atas, kita dapat melihat bagaimana Codex dapat dengan baik menghasilkan beberapa baris program sesuai masukan dari pendemo. Sebuah gebrakan yang akan banyak mengubah dunia pemrogaman. Codex tidak akan menggantikan peran developer, tetapi akan menjadi partner selayaknya J.A.R.V.I.S bagi Iron Man. Dan tentu saja imajinasi akan menjadi lebih mudah untuk diwujudkan.

Chatbot Adalah Kita

Sepertinya kita akan kembali ke masa lalu dalam hal komunikasi. Orang-orang purba jaman dahulu berkomunikasi menggunakan simbol-simbol yang ditulis pada dinding, pada batu, pada tanah sebelum adanya bahasa dan sastra. Dengan adanya pergeseran UX pada perangkat mobile kita saat ini, cara kita berkomunikasi pun menjadi sangat amat sederhana. Kembali menggunakan simbol-simbol. Banyak sekali kita temui orang yang kita ajak berkomunikasi via teks (Whats App atau aplikasi chat yang lain) sering menggunakan emoticon atau stiker alih-alih mengetikkan kalimat secara penuh. Hal yang dapat saya simpulkan dari fenomena ini adalah kesederhanaan dan kecepatan, yang terpenting adalah informasi tersebut dapat tersampaikan.

Menurut hemat saya, chatbot juga seperti itu. Tidak perlu kalimat sesuai susunan SPOK, kita hanya mengetikkan satu karakter, satu kata, atau beberapa kata, robot (sederhana) sudah dengan mudah mengerti maksud kita. Karena chatbot didesain untuk mempercepat penyampaian informasi dan aksi yang dibutuhkan, bukan untuk diajak berbicara deeptalks

Kesimpulan

Aplikasi chatbot menjadi solusi karena ia begitu dekat, hanya diperlukan komunikasi via teks. Dengan melihat banyak sekali potensi dari salah satu produk AI ini, mungkin mulai hari ini kita harus lebih memprioritaskan dan mengedepankan chatbot dalam riset IT kita, dengan tujuan menyelesaikan semua permasalahan kehidupan kita.

0 comments:

Posting Komentar