“Do you need a real human in a conversation?”

Membangun Chatbot yang Memahami Bahasa Manusia (Bagian 1)

Rifki Afina Putri
Prosa Story
5 min readJun 17, 2020

--

Jika Anda mengikuti serial televisi berjudul Silicon Valley, pasti Anda tidak asing lagi dengan tokoh Dinesh dan Gilfoyle yang bekerja sebagai software engineer di sebuah start-up.

Suatu hari, Dinesh yang kesal dengan seorang koleganya curhat kepada Gilfoyle melalui sebuah aplikasi chat messenger yang dibalas oleh Gilfoyle dalam hitungan detik. Percakapan keduanya berlangsung mulus sampai akhirnya Dinesh kaget melihat Gilfoyle yang sedang menyiapkan kudapan di pantry. Jika selama percakapan sebelumnya Gilfoyle berada di pantry tanpa menyentuh ponselnya sama sekali, yang membalas pesan Dinesh siapa, dong?

Reaksi Gilfoyle ketika Dinesh menanyakan tentang orang yang seharian chatting bersamanya. Potongan video dapat diakses di sini.

Benar saja, Gilfoyle membuat “AI Gilfoyle”, sebuah chatbot yang dapat memahami pesan yang dikirim oleh Dinesh dan membalas pesan tersebut secara otomatis dengan menggunakan teknologi Artificial Intelligence. Gilfoyle pun dapat menggunakan waktunya dengan lebih optimal tanpa perlu mendengarkan Dinesh yang misuh-misuh.

Kenapa Chatbot?

Media online, termasuk chat messenger, secara tidak langsung mengubah cara kita berkomunikasi. Kita dapat mengirimkan pesan kapanpun, di manapun, kepada siapapun, dalam waktu yang singkat tanpa harus bertatap muka ataupun menunggu surat kita dikirim oleh Pak Pos.

Dari 2016 sampai 2019, WhatsApp konsisten menduduki peringkat pertama aplikasi yang paling banyak diunduh, disusul oleh TikTok, Facebook Messenger, Facebook, dan Instagram. Walaupun bukan aplikasi chat messenger, TikTok dan Instagram memiliki fitur yang memungkinkan penggunanya untuk saling berkirim pesan.

Beberapa perusahaan pun telah memanfaatkan teknologi chat messenger ini untuk meningkatkan kualitas customer service (CS). Konsumen dapat bertanya atau menyampaikan keluhan melalui pesan singkat yang dibalas oleh admin dari bagian CS.

Akan tetapi, banyaknya jumlah pesan yang masuk setiap harinya membuat CS slow response dalam membalas pesan. Bahkan terkadang ada pesan yang benar-benar terbengkalai. Mengatasi masalah ini dengan menambah jumlah admin tentu membutuhkan cost yang tidak sedikit. Oleh karena itu, chatbot dapat menjadi solusi yang tepat karena kemampuannya dalam membalas pesan secara otomatis, cepat, dan tidak menghabiskan banyak cost.

Tak hanya untuk memudahkan interaksi antara konsumen dan CS, chatbot pun dapat meningkatkan efektivitas perusahaan dalam melakukan pencarian informasi internal. Sebagai contoh, kondisi di bawah tidak akan terjadi apabila perusahaan Dinesh sudah memiliki chatbot.

Silicon valley chatbot scene
Dinesh kesal karena Gabe kerap meminta informasi yang sama.

Alih-alih meminta Dinesh mengirimkan email yang sama berulang kali, Gabe bisa saja langsung bertanya kepada chatbot, please tell me the latest tech specs.” Kemudian, chatbot akan mencari informasi yang sesuai dengan permintaan tersebut.

Selain contoh-contoh di atas, pertanyaan atau task yang sederhana dan berulang juga dapat diatasi dengan menggunakan chatbot. Misalnya, pertanyaan mengenai ketersediaan barang di sebuah toko, pemesanan tiket untuk travelling, pengecekan omset perusahaan, atau untuk sekadar melayani teman yang curhat seperti yang dilakukan oleh Gilfoyle.

Keuntungan Chatbot

Jika ditanya mengenai keuntungan menggunakan chatbot, Gilfoyle mungkin akan menjawab: agar dapat tenang ngemil di pantry tanpa terganggu oleh Dinesh.

Tidak hanya itu, masih banyak lagi kelebihan chatbot, di antaranya:

  • Dapat menangani chat dalam jumlah besar dengan cepat
  • Dapat beroperasi 24/7
  • Mudah digunakan dan diakses
  • Meningkatkan customer experience
  • Percakapan yang lebih personal

Model Chatbot

Setelah mengetahui gambaran umum mengenai chatbot, selanjutnya kita akan mempelajari jenis-jenis model chatbot yang ada. Pengelompokkan chatbot dapat dibagi berdasarkan pendekatannya dan domainnya.

Chatbot Berdasarkan Pendekatannya

Berdasarkan pendekatan yang digunakan untuk menghasilkan jawaban, chatbot dapat dibedakan menjadi model generatif (generative model) dan model berbasis retrieval (retrieval-based model).

Model Chatbot berdasarkan pendekatannya

Generative Model

Pada generative model, chatbot dapat menghasilkan jawabannya “sendiri” tanpa diberikan format jawaban, yang memungkinkan chatbot menghasilkan jawaban dengan format yang sama sekali baru. Pendekatan ini dibuat berdasarkan pada teknik mesin penerjemahan (machine translation). Namun, alih-alih menerjemahkan kalimat dari satu bahasa ke bahasa yang lain, chatbot memberikan jawaban sesuai dengan input yang diberikan.

Generative model dapat dibangun dengan mengaplikasikan teknik deep learning menggunakan data percakapan. Namun, diperlukan data yang sangat banyak untuk mendapatkan jawaban yang baik dari percakapan.

Saat ini generative model belum secara luas digunakan dan kebanyakan masih dalam skala laboratorium. Akan tetapi, arah pengembangan chatbot diyakini akan berbasis generative model.

Retrieval-based Model

Berbeda dari generative model yang dapat menghasilkan jawaban “sendiri”, retrieval-based model menghasilkan jawaban menggunakan template tertentu yang sudah didefinisikan sebelumnya. Dibandingkan generative model, retrieval-based model relatif lebih mudah untuk dibangun dan telah banyak digunakan pada skala produksi.

Namun, sebuah sistem chatbot tidak harus menggunakan salah satu dari kedua pendekatan tersebut. Bisa saja kedua pendekatan tersebut digabungkan menjadi sebuah sistem hybrid, misalnya menggunakan generative model untuk menangani percakapan yang berupa obrolan ringan seperti menjawab salam dari pengguna dan menggunakan retrieval-based model untuk kasus lainnya.

Chatbot Berdasarkan Domainnya

Berdasarkan domainnya, model chatbot dapat dibedakan menjadi open domain dan closed domain chatbot.

Model chatbot berdasarkan domain

Open domain artinya chatbot diharapkan untuk menjawab pertanyaan apapun dari pengguna. Sedangkan closed domain artinya chatbot hanya menguasai topik-topik tertentu, misalnya COVID-19, dsb. Ketika pengguna bertanya di luar topik yang sudah ditentukan, chatbot akan merespon dengan jawaban “tidak tahu”.

Pada umumnya, chatbot yang digunakan dalam skala produksi adalah closed domain chatbot karena cenderung lebih mudah dikembangkan, membutuhkan data latih yang lebih sedikit, dan memiliki pengelolaan pengetahuan yang lebih mudah.

Pengelolaan pengetahuan chatbot merupakan salah satu aspek yang penting karena sering kali validitas suatu informasi dapat berubah-ubah. Misalnya, suatu perusahaan memiliki policy jatah cuti tahunan sebanyak 12 hari. Jika perusahaan tersebut mengubah jatah cuti menjadi 15 hari, pengetahuan pada chatbot pun harus diperbarui agar tidak memberikan jawaban yang salah.

Contoh lainnya adalah pada chatbot internal suatu organisasi atau perusahaan. Kadang kala akses untuk pengetahuan chatbot dibatasi sesuai dengan hak akses dari anggota atau karyawan sebagai pengguna. Proses ini lebih mudah ditangani oleh closed domain chatbot.

Karena closed domain chatbot hanya menguasai pengetahuan pada domain-domain tertentu, ketika tidak mengetahui jawaban dari sebuah pertanyaan, chatbot akan memberikan pilihan kepada pengguna untuk berkomunikasi langsung dengan agen atau orang yang paham dengan domain tersebut. Cara ini digunakan untuk meningkatkan pengalaman pengguna.

Selanjutnya, jawaban yang diberikan oleh agen dapat dijadikan input pengetahuan chatbot untuk menjawab pertanyaan serupa di masa depan.

Saat Anda sampai pada paragraf ini, Anda telah sedikit menyelami dunia chatbot — apa itu chatbot, kenapa harus ada chatbot, jenis-jenis chatbot, beserta gambaran umum cara pembuatannya. Selanjutnya, ketika Anda menghadapi percakapan yang berulang-ulang, silakan berhenti sejenak dan pikirkan,

do you need a real human for this conversation?”

Penulis:
Rifki Afina Putri
Khaidzir M. Shahih
Sidik Soleman

Editor:
Tazkiyatun N. A.

--

--