Lewati ke konten utama

Membangun Chatbot menggunakan Chatterbot di Python

Dalam tutorial ini, Anda akan belajar cara membangun chatbot menggunakan chatterbot di Python.
Diperbarui 28 Sep 2026  · 12 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Apakah Anda lelah menunggu lama agar panggilan Anda terhubung ke petugas layanan pelanggan? Membaca FAQ membuat Anda merasa lesu? Kalau begitu, Anda berada di halaman yang tepat. Masih ingat kapan terakhir kali Anda menghubungi agen layanan pelanggan melalui chat karena barang yang dikirim salah? Kemungkinan besar Anda sebenarnya berkomunikasi dengan bot, bukan perwakilan layanan pelanggan. Jadi, sebenarnya apa itu bot? Bagaimana cara membangunnya? Sumber kode apa yang dibutuhkan? Beberapa pertanyaan ini akan dijawab dalam artikel blog ini!

Kecerdasan buatan, yang memanfaatkan machine learning dan Pemrosesan Bahasa Alami (NLP) untuk membangun bot atau chatbot, dirancang khusus untuk membuka jalan interaksi yang mulus antara manusia dan komputer. Chatbot ada di mana-mana, baik di situs bank, toko pizza, hingga toko e-commerce; Anda akan menemukan chatbot di mana-mana. Chatbot menyediakan bantuan layanan pelanggan secara waktu nyata untuk berbagai pertanyaan yang telah ditentukan terkait domain tempat chatbot tersebut dibangun. Chatbot mengadaptasi bahasa manusia alami dan bercakap-cakap dengan manusia secara mirip manusia.

Untuk menyederhanakan definisi chatbot, dapat dikatakan bahwa chatbot adalah evolusi dari sistem Tanya Jawab yang menggunakan pemrosesan bahasa alami. Menurut berbagai sumber, pada tahun 2024 ukuran pasar percakapan global akan tumbuh menjadi $15,7 miliar, dengan tingkat pertumbuhan tahunan 30,2%. Misalnya, di tengah Pandemi CoronaVirus, kita menyaksikan ribuan hoaks beredar di WhatsApp, seperti apa yang bisa digunakan untuk mengobati COVID, apa yang bermanfaat untuk meningkatkan imun, atau apakah virus tersebut dikembangkan di laboratorium. Untuk menghentikan hoaks semacam itu, Facebook meluncurkan chatbot yang berfungsi sebagai pemeriksa fakta.

Tertarik membangun chatbot dengan alat seperti OpenAI dan Pinecone? Lihat sesi code-along kami di bawah ini: 

Apa itu Chatbot?

Istilah “chatterbot” muncul pada tahun 1994 ketika Michael Mauldin membuat chatbot pertamanya bernama “Julia”. Menurut Oxford Dictionary, chatbot didefinisikan sebagai “Program komputer yang dirancang untuk mensimulasikan percakapan dengan pengguna manusia, terutama melalui internet.” Ini dapat dipandang sebagai asisten virtual yang berkomunikasi dengan pengguna melalui pesan teks dan membantu bisnis lebih dekat dengan pelanggan mereka. Ini adalah program yang dirancang untuk meniru cara manusia berkomunikasi satu sama lain. Hal ini dapat dilakukan melalui antarmuka chat atau panggilan suara. Pengembang biasanya merancang chatbot agar sulit bagi pengguna untuk membedakan apakah mereka berkomunikasi dengan manusia atau robot.

Chatbot membantu bisnis/organisasi mencapai tujuan berikut:

  • Meningkatkan efisiensi operasional.
  • Otomatisasi pemenuhan permintaan pelanggan.
  • Menangani pertanyaan dasar, sehingga karyawan dapat fokus pada pertanyaan yang lebih kompleks & bernilai lebih tinggi.
  • Menawarkan dukungan multibahasa.
  • Menghemat waktu & upaya dengan mengotomatiskan dukungan pelanggan.
  • Meningkatkan kecepatan respons sekaligus keterlibatan pelanggan.
  • Personalisasi komunikasi
grafik bot penerbangan
Sumber

Bagaimana Cara Kerja Chatbot?

Chatbot tidak lain adalah aplikasi perangkat lunak yang memiliki lapisan aplikasi, basis data, dan API. Untuk menyederhanakan cara kerja chatbot, bisa dikatakan chatbot bekerja dengan pencocokan pola untuk mengklasifikasikan teks dan menghasilkan respons yang sesuai untuk pertanyaan/permintaan yang disampaikan pengguna. Chatbot merespons pengguna sesuai dengan program yang ditanamkan di dalamnya. Ada berbagai jenis chatbot, bergantung pada cara penggunaannya. Secara umum ada tiga jenis chatbot, sebagai berikut:

  • Chatbot Berbasis Aturan: Ini adalah chatbot dasar; pengguna berinteraksi dengan bot jenis ini menggunakan opsi yang telah ditentukan. Untuk mendapatkan jawaban dari bot ini, pengguna perlu mengeklik opsi tertentu. Bot semacam ini mengumpulkan permintaan pengguna, menganalisisnya, lalu menawarkan hasil dalam bentuk tombol. Bot ini umum digunakan untuk menggantikan pertanyaan yang sering ditanyakan; namun untuk kueri yang kompleks, bot ini tidak selalu menjadi solusi terbaik.

  • Chatbot Mandiri (Kata Kunci): Ini adalah bot machine learning; berbeda dengan chatbot berbasis aturan, bot ini menganalisis apa yang diinginkan pengguna dan merespons dengan tepat. Chatbot ini menggunakan kata kunci yang dapat disesuaikan dan machine learning untuk menentukan cara merespons permintaan pengguna secara efektif dan efisien.

  • Chatbot NLP (Kontekstual): Ini sejauh ini merupakan chatbot yang paling canggih. Mereka merupakan gabungan keunggulan dari chatbot berbasis aturan dan kata kunci. Chatbot ini menggunakan NLP untuk memahami konteks dan intent dalam permintaan pengguna dan bertindak sesuai. Chatbot ini dapat menangani banyak permintaan dari pengguna yang sama dengan mudah.

Perbandingan Platform Chatbot

Banyak platform menawarkan chatbot yang dikustomisasi dengan otomatisasi yang menjadikan layanan dukungan kelas terbaik, selalu tepat waktu, dan tanpa hambatan tersedia bagi pelanggan kapan pun mereka membutuhkannya, tanpa perlu kemampuan percakapan bawaan. Pelanggan juga cenderung membeli dari bisnis yang dapat mereka hubungi dengan mudah melalui pesan.

Berikut daftar platform pembuatan chatbot AI pada tahun 2020:

  • Azure Bot Service: Azure Bot Service menawarkan pembuatan chatbot dari nol, yakni Anda dapat membangun, menghubungkan, menguji, dan melakukan deployment. Ini memungkinkan pengembang menggunakan SDK dan alat open-source. Juga memungkinkan pengembang membuat bot tingkat lanjut seperti asisten virtual untuk menangani kueri kompleks.

  • Botsify: Keunikan alat ini adalah memungkinkan pengguna non-teknis membangun chatbot dengan antarmuka yang intuitif. Bot direpresentasikan sebagai cerita; Anda dapat membuat banyak cerita atau banyak chatbot dan melakukan deployment sesuai kebutuhan. Fitur hebat lainnya adalah kemampuan menyimpan respons pengguna ke formulir yang dapat dengan mudah diekspor ke CSV.

  • Amazon Lex: Amazon Lex memungkinkan pengembang membangun antarmuka percakapan menggunakan teks dan suara. Dilengkapi dengan fungsionalitas deep learning tingkat lanjut dan NLP untuk memahami konteks teks. Menyediakan konsol yang mudah digunakan untuk membangun chatbot dalam hitungan menit.

  • Mobile Monkey: Mobile Monkey menawarkan kepada pengembang untuk membangun chatbot khusus pemasaran. Memungkinkan pembuatan bot iklan Facebook, bot SMS, dan chatbot web native dalam satu platform. Mereka juga menawarkan templat chatbot siap pakai untuk berbagai jenis bisnis yang dapat disematkan langsung di situs web.

  • ChatterOn: Platform ini mengklaim dapat menangani berbagai jenis respons konten kaya dari Bot karena memungkinkan pengembang menghubungkan berbagai API pada setiap interaksi dengan pengguna. ChatterOn menawarkan lebih dari 20 bolt pra-bangun yang dapat digunakan dalam satu klik. Tidak memerlukan banyak pengkodean, sehingga memudahkan pengguna non-teknis membangun chatbot.

  • TARS: Platform ini menawarkan pembuatan landing page percakapan, yang memungkinkan Anda membuat chatbot otomatis untuk menyapa pelanggan, memberikan informasi relevan tentang pertanyaan terkait produk Anda, dan sekaligus meminta kontak mereka. Tars menawarkan banyak templat chatbot yang telah ditentukan, yang diklasifikasikan ke dalam dua bagian—berdasarkan industri dan berdasarkan use case.

Sampai di sini, Anda pasti penasaran untuk membangun chatbot sendiri. Dan apa yang lebih baik dari chatbot NLP yang dapat dikustomisasi? Mari mulai membangun chatbot kita sendiri di Python menggunakan pustaka chatterbot.

Chatterbot

chatterbot

Sesuai namanya, chatterbot adalah pustaka Python yang dirancang khusus untuk menghasilkan chatbot. Algoritma ini menggunakan pilihan algoritma machine learning untuk membentuk beragam respons kepada pengguna sesuai permintaan mereka.

Chatterbot memudahkan pengembangan chatbot yang dapat terlibat dalam percakapan. Prosesnya dimulai dengan membuat chatterbot tanpa pelatihan yang belum memiliki pengalaman atau pengetahuan tentang cara berkomunikasi. Saat pengguna memasukkan pernyataan, pustaka menyimpan permintaan yang dibuat oleh pengguna sekaligus menyimpan respons yang dikirim kembali ke pengguna. Seiring bertambahnya jumlah instance dalam chatterbot, akurasi respons yang dihasilkan chatterbot juga meningkat.

Chatterbot dilatih untuk mencari respons paling analog dengan menemukan permintaan pengguna yang paling mirip yang setara dengan permintaan baru. Kemudian ia memilih respons dari respons yang sudah ada. Keunggulan utama chatterbot adalah memungkinkan pengembang membuat dataset dan strukturnya sendiri dengan mudah.

Membangun Chatbot menggunakan Chatterbot

Mulailah dengan memasang pustaka chatterbot. Untuk membuat chatbot, kita juga perlu memasang chatterbot corpus. Corpus—secara harfiah berarti kumpulan kata. Ini berisi kumpulan data yang disertakan dalam modul chatterbot. Setiap korpus tidak lain adalah prototipe dari berbagai pernyataan masukan dan responsnya. Korpus ini digunakan oleh bot untuk melatih dirinya. Metode yang paling direkomendasikan untuk memasang chatterbot dan chatterbot_corpus adalah menggunakan pip.

Perintah pemasangan untuk terminal:

pip install chatterbot
pip install chatterbot_corpus

Perintah pemasangan untuk Jupyter Notebook:

!pip install chatterbot
!pip install chatterbot_corpus

Mari kita impor terlebih dahulu kelas Chatbot dari modul chatterbot.

# Importing chatterbot
from chatterbot import ChatBot

Buat Instance Chatbot

Sekarang saatnya bagian paling menarik, yaitu memberi nama chatbot Anda dengan membuat objek Chatbot. Anda dapat memilih nama apa pun. Satu baris kode ini membuat bot baru kita bernama Buddy. Kita perlu menentukan beberapa parameter lagi sebelum menjalankan program pertama kita.

# Create object of ChatBot class
bot = ChatBot('Buddy')
[nltk_data] Downloading package averaged_perceptron_tagger to
[nltk_data]     /root/nltk_data...
[nltk_data]   Unzipping taggers/averaged_perceptron_tagger.zip.
[nltk_data] Downloading package stopwords to /root/nltk_data...
[nltk_data]   Unzipping corpora/stopwords.zip.
[nltk_data] Downloading package wordnet to /root/nltk_data...
[nltk_data]   Unzipping corpora/wordnet.zip.

Anda dapat menempatkan storage adapter pada objek chatbot. Storage Adapter memungkinkan Anda terhubung ke unit penyimpanan atau jaringan tertentu. Untuk menggunakan storage adapter, kita perlu menentukannya. Kita akan menempatkan storage adapter dengan menetapkannya ke path impor penyimpanan yang ingin kita gunakan. Di sini kita menggunakan SQL Storage Adapter, yang memungkinkan chatbot terhubung ke basis data di SQL. Dengan menggunakan parameter database, kita akan membuat Database SQLite baru. Silakan ikuti kode di bawah ini untuk membuat basis data baru untuk chatbot.

# Create object of ChatBot class with Storage Adapter
bot = ChatBot(
    'Buddy',
    storage_adapter='chatterbot.storage.SQLStorageAdapter',
    database_uri='sqlite:///database.sqlite3'
)

Anda juga dapat menempatkan logical adapter pada objek chatbot. Sesuai namanya, Logical Adapter mengatur logika di balik chatterbot, yaitu memilih respons untuk setiap masukan yang diterimanya. Parameter ini berisi daftar operator logis. Chatterbot memungkinkan kita menggunakan sejumlah Logical Adapter. Saat lebih dari satu logical adapter digunakan, chatbot akan menghitung tingkat keyakinan (confidence), dan respons dengan nilai keyakinan tertinggi akan dikembalikan sebagai keluaran. Di sini kita menggunakan dua logical adapter: BestMatch dan TimeLogicAdapter.

# Create object of ChatBot class with Logic Adapter
bot = ChatBot(
    'Buddy',  
    logic_adapters=[
        'chatterbot.logic.BestMatch',
        'chatterbot.logic.TimeLogicAdapter'],
)

Melatih chatbot

Langkah terakhir dalam membuat chatbot adalah melatih chatbot menggunakan modul yang tersedia di chatterbot. Melatih chatbot menggunakan chatterbot sesederhana memberikan percakapan ke dalam basis data chatbot. Begitu chatbot diberi dataset, ia menghasilkan entri penting dalam knowledge graph chatbot untuk merepresentasikan input dan output dengan benar. Pertama, mari impor ListTrainer, buat objeknya dengan meneruskan objek Chatbot, dan panggil metode train() dengan meneruskan daftar kalimat.

# Inport ListTrainer
from chatterbot.trainers import ListTrainer

trainer = ListTrainer(bot)

trainer.train([
'Hi',
'Hello',
'I need your assistance regarding my order',
'Please, Provide me with your order id',
'I have a complaint.',
'Please elaborate, your concern',
'How long it will take to receive an order ?',
'An order takes 3-5 Business days to get delivered.',
'Okay Thanks',
'No Problem! Have a Good Day!'
])
List Trainer: [####################] 100%

Pengujian Chatbot

Langkah terakhir dari tutorial ini adalah menguji kemampuan percakapan chatterbot. Untuk menguji responsnya, kita akan memanggil metode get_responses() dari instance Chatbot.

# Get a response to the input text 'I would like to book a flight.'
response = bot.get_response('I have a complaint.')

print("Bot Response:", response)
Bot Response: Please elaborate, your concern

Kita akan membuat while loop untuk menjalankan chatbot kita. Saat pernyataan dimasukkan ke dalam loop, kita akan mendapatkan respons yang sesuai, karena kita sudah memasukkan data ke dalam basis data. Jika kita mendapat pernyataan "Bye" atau "bye" dari pengguna, kita bisa mengakhiri loop dan menghentikan program.

name=input("Enter Your Name: ")
print("Welcome to the Bot Service! Let me know how can I help you?")
while True:
    request=input(name+':')
    if request=='Bye' or request =='bye':
        print('Bot: Bye')
        break
    else:
        response=bot.get_response(request)
        print('Bot:',response)
Enter Your Name: Avinash
Welcome to the Bot Service! Let me know how can I help you?
Avinash:I need your assistance regarding my order
Bot: Please, Provide me with your order id
Avinash:12345
Bot: No Problem! Have a Good Day!
Avinash:Bye
Bot: Bye

Kesimpulan

Selamat, Anda telah sampai di akhir tutorial ini!

Artikel ini membahas cara membuat chatbot di Python menggunakan pustaka ChatterBot. Membangun chatbot dengan ChatterBot tidak hanya sederhana, tetapi juga menghasilkan keluaran yang akurat. Dengan kemajuan Kecerdasan Buatan dan Machine Learning, segala sesuatu menjadi mungkin dicapai, baik itu membuat bot dengan kemampuan percakapan seperti manusia maupun hal lainnya. Lihat tutorial DataCamp tentang Mendeploy Facebook Chatbot dengan Python.

jelajahi banner pustaka kursus python datacamp
Topik
Python
Data Science

Pelajari lebih lanjut tentang Python

Kursus

Pengantar Python

4 jam
7.1M
Kuasai dasar-dasar analisis data dengan Python dalam 4 jam. Kursus online ini memperkenalkan antarmuka Python dan pustaka populer.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

Lihat SelengkapnyaLihat Selengkapnya