Memperluas Pengetahuan Chatbot dengan Machine Reading

Memperluas Pengetahuan Chatbot dengan Machine Reading

Chatbot Machine Reading

Di era sekarang bukan hanya tentang riset bagaimana machine bisa memahami bahasa manusia dan membalas balasan yang relevan. Lebih dari itu, chatbot merupakan salah satu pemercepat revolusi industri baru yaitu revolusi industri 4.0. Di era teknologi yang distruptif seperti sekarang karena munculnya teknologi yang bernama artificial intelligence. Teknologi chatbot machine reading ini digunakan untuk meningkatkan efektivitas pekerjaan.chatbot-indonesia

Riset dari Business Insider yang disaduh dalam artikel chatbot megazine, memperkirakan sebanyak 80% kalangan enterprise akan menggunakan chatbot di 2021 dan terus meningkat kedepannya. Dan menurut Lauren Foye, pada tahun 2022, 90% bank akan mengautomasi interaksi dengan pelanggannya. Salah satu klien kami (Bank Negara Indonesia) sudah mengadopsi chatbot. Ini digunakan untuk keperluan informasi bank hingga transfer ke rekening lain hanya dengan suara. Jadi booming chatbot untuk keperluan industri tidak hanya berlaku di negara maju. Negara berkembang seperti Indonesia juga mulai mengadopsi hal tersebut.

Chatbot pada dasarnya ditugaskan untuk memahami apa konteks yang pelanggan (user) maksud, kemudian membalasnya dengan konteks yang sesuai. Namun, setiap konteks memiliki masukan yang berbeda-beda, bahasa manusia punya cara yang sangat fleksibel. Misal jika akan beli tiket pesawat, banyak sekali cara pengucapan yang dilakukan; tiket pesawat, pesan tiket pesawat ke Jakarta dong, tiket pesawat dari Bandung ya, dan lain-lain. Sehingga sebisa mungkin kami beri data training yang cukup banyak dan cukup umum. Sehingga, jika ada kalimat baru yang tidak ada di training data, machine tetap bisa menangkap konteks yang sama.

Chatbot Bank Negara Indonesia

Namun bisa dibayangkan jika perusahaan besar seperti bank BNI, banyak sekali fitur yang akan diimplementasikan ke dalam chatbot. Sehingga dibutuhkan data training yang luar biasa banyak. Salah satu ide kami untuk mengefesiensikan pekerjaan input data adalah membuat machine yang mampu memahami konteks kalimat dari suatu paragraf. Kemudian membalas pertanyaan berdasarkan paragraf yang ada. Setelah riset yang mendalam, kami memutuskan untuk menggunakan algoritma NLP. Ini lebih umum disebut sebagai machine reading comprehension atau juga bisa disebut question-answer algorithm.

Riset

Bank trans

Kami melakukan riset algoritma mana yang memungkinkan untuk bisa kami gunakan dan modifikasi sesuai bahasa Indonesia. Bagaimana sistem pelabelan datanya (karena tidak ada dataset bahasa Indonesia untuk algoritma ini). Jika sudah didapatkan modelnya apakah bisa melakukan prediksi dengan cepat sehingga user tidak perlu menunggu terlalu lama untuk mendapat jawabannya. Kami melakukan riset untuk modelnya sebanyak tiga jenis model. Kemudian nantinya akan kami uji manakah model yang paling sesuai dengan kebutuhan.

Membuat Data Training

Ticketing-permasalahan-pel

Perkembangan bidang AI lain seperti computer vision (CV) lebih cepat dibandingkan NLP. Salah satu alasannya adalah karena data dari NLP bergantung bahasa yang digunakan. Tidak dengan CV yang tidak bergantung dengan ras dan bahasa manusia. Misalnya untuk mendeteksi object ponsel di semua tempat mempunyai bentuk yang serupa. Seringkali pengembangan suatu model NLP dimulai dari pengembangan menggunakan bahasa Inggris. Untuk digunakan ke dalam bahasa lainnya seringkali terkendala ketersedian dataset. Salah satu cara terbaik untuk membuat data training yaitu membuat data training dari dasar. Mulai dari pemilihan kata (dalam hal ini paragraf dan pertanyaan) dan label (jawaban).

Kami membuat dataset berupa paragraf, pertanyaan dan jawaban secara manual dari berbagai artikel. Pertanyaan yang dibuat terdiri dari 5w+1H, kami membuat data seseimbang mungkin antara pertanyaan yang berhubungan. Selain keseimbangan jenis pertanyaan yang dijaga, tipe artikel yang diambil juga dari berbagai jenis artikel. Seperti sejarah, biografi, berita, sains-fiksi, olahraga, dan lain sebagainya. Harapannya machine dapat memahami konteks yang lebih umum, tidak spesifik untuk keperluan tertentu saja.

Dataset yang kami buat dibuat secara bertahap mulai dari manual labeling. Kemudian memanfaatkan model yang sudah cukup bagus akurasinya sekitar lebih dari 80%. Untuk membuat data semi automatis dengan batasan-batasan nilai confidence tertentu. Sampai dengan tahap paling terakhir saat ini, kami mempunyai lebih dari 17 ribu dataset question-answer dalam bahasa Indonesia.

Proses Pelatihan (Training)

helper desk

Setelah mempunyai ribuan dataset yang dilabeli secara manual dan juga riset model mana yang akan digunakan sebagai model dasarnya. Selanjutnya kami memulai training dengan data awal dan arsitektur model paling awal. Menggunakan arsitektur (algoritma) yang pertama, kami training menggunakan GPU selama kurang lebih dari 8jam, dengan hasil skor F1 sekitar 63%. Kemudian menggunakan model yang lebih mendekati state of the art (SOTA) di beberapa task NLP. Kami menghasilkan model yang jauh lebih baik meskipun dengan dataset yang sama persis (training dan testing split sama). Hasil dari validasi test didapatkan skor F1 lebih dari 80%. Model terbaru tersebut kami gunakan untuk mengautomatsi pelabelan data dengan pemberian nilai threshold sangat tinggi.

Model terakhir kemudian kami training kembali menggunakan dataset terakhir yang terdiri dari lebih dari 17 ribu pasang pertanyaan-jawaban. Menggunakan jenis processor yang lebih mumpuni, yaitu menggunakan TPU (tensor processing unit). Proses training di TPU memakan waktu yang sangat singkat. Tidak lebih dari 1 jam, kami mempunyai perkiraan jika menggunakan GPU yang sama seperti sebelumnya. Proses training bisa selesai dalam waktu lebih dari satu hari. Akhirnya kami mempunyai sebuah model yang mempunyai SOTA dalam berbagai task NLP, serta dataset yang cukup besar. Akurasinya meningkat beberapa persen dari nilai terakhir, sekitar 84% skor F1.

Kesimpulan

Serangkaian pengumpulan data, pembersihan, training dan validasi sudah dilakukan secara berulang. Sehingga dihasilkan model yang punya akurasi tinggi dan mampu menjawab pertanyaan-pertanyaan yang tidak pernah dilatih sebelumnya. Machine reading yang kami buat dapat memberi solusi salah satu masalah di chatbot. Dimana chatbot tanpa machine reading hanya menjawab pertanyaan yang pernah dilatih saja. Selain itu dengan minimal input data, machine reading mampu menjawab pertanyaan pada domain terbuka. Apapun jenis pertanyaan kemungkinan bisa terjawab oleh bot menggunakan machine reading.

Model yang sudah kami buat, bisa dapat dicoba langsung oleh umum pada web halaman kami di Lenna.ai. Setiap bot yang dibuat juga bisa dihubungi melalui berbagai channel; whatsapp, line, telegram, facebook messenger dan juga bot integration. Di bawah hasil prediksi machine reading kami yang sudah kami deploy di platform

Hasil Chatbot Machine Reading

Chatbot Lenna, selain mampu untuk transakasi dan menggunakan berbagai jenis bahasa. Bot mampu menjawab pertanyaan yang bisa jadi pengguna belum mengetahui jawabannya. Cerdas bukan? Ingin memilikin bot cerdas untuk mendukung usaha kamu? kunjungi lenna.ai sekarang!