Ana içeriğe atla

Python’da Chatterbot Kullanarak Bir Chatbot Oluşturma

Bu eğitimde, Python’da chatterbot kullanarak nasıl chatbot oluşturacağınızı öğreneceksiniz.
Güncel 3 Eki 2026  · 12 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Müşteri hizmetlerine bağlanmak için uzun kuyruklarda beklemekten bıktınız mı? SSS okumak sizi uyuşturuyor mu? O zaman doğru yerdesiniz. Yanlış ürün teslim edildiğinde, en son ne zaman bir müşteri temsilcisiyle sohbetten iletişim kurduğunuzu hatırlıyor musunuz? Büyük olasılıkla bir müşteri temsilcisi yerine bir bot ile konuşuyordunuz. Peki botlar tam olarak nedir? Nasıl bir bot oluştururuz? Hangi tür kodlara ihtiyaç duyar? Bu yazıda bu soruların bazılarına yanıt bulacaksınız!

Yapay zeka, bot veya chatbot oluşturmak için makine öğrenimi ve Doğal Dil İşleme (NLP) kullanan ve insanlarla bilgisayarlar arasındaki etkileşimi sorunsuz hâle getirmeye özel olarak tasarlanmış bir alandır. Chatbot’lar her yerde: bankacılık siteleri, pizza restoranları, e-ticaret mağazaları... Nereye baksanız chatbot var. Chatbot’lar, oluşturuldukları alanla ilgili önceden tanımlanmış bir dizi soru için gerçek zamanlı müşteri hizmetleri desteği sunar. Doğal insan dilini benimser ve insanlarla insanî bir biçimde sohbet eder.

Chatbot tanımını basitleştirecek olursak, doğal dil işleme kullanan Soru-Cevap sistemlerinin evrimi olduklarını söyleyebiliriz. Kaynaklara göre 2024 yılına gelindiğinde küresel konuşma pazarı 15,7 milyar dolara ulaşacak ve yıllık büyüme oranı %30,2 olacaktır. Örneğin, Koronavirüs pandemisi sırasında WhatsApp’ta COVID’in nasıl tedavi edileceği, bağışıklığın nasıl artırılacağı veya virüsün bir laboratuvarda geliştirilip geliştirilmediği gibi binlerce asılsız iddianın dolaştığına tanık olduk. Bu tür asılsız iddialara son vermek için Facebook, gerçek denetleyici olarak çalışan bir chatbot başlattı.

OpenAI ve Pinecone gibi araçlarla bir chatbot oluşturmakla ilgileniyor musunuz? Aşağıdaki birlikte kodlama videomuza göz atın: 

Chatbot Nedir?

“Chatterbot” terimi, Michael Mauldin’in “Julia” adlı ilk chatbot’unu oluşturduğu 1994 yılında ortaya çıktı. Oxford Sözlüğü’ne göre chatbot, “Özellikle internet üzerinden, insan kullanıcılarla sohbeti taklit etmek üzere tasarlanmış bir bilgisayar programı” olarak tanımlanır. Kullanıcılarla metin mesajları aracılığıyla iletişim kuran ve işletmelerin müşterilerine daha fazla yaklaşmasına yardımcı olan bir sanal asistan olarak görülebilir. İnsanların birbirleriyle iletişim kurma biçimini taklit edecek şekilde tasarlanmış bir programdır. Bu, bir sohbet arayüzü üzerinden veya sesli arama ile yapılabilir. Geliştiriciler genellikle chatbot’ları, kullanıcıların bir kişiyle mi yoksa bir robotla mı konuştuklarını anlamalarını zorlaştıracak şekilde tasarlar.

Chatbot’lar, herhangi bir işletme/kuruluşun aşağıdaki hedeflere ulaşmasına yardımcı olur:

  • Operasyonel verimliliği artırır.
  • Müşteri isteklerinin karşılanmasını otomatikleştirir.
  • Temel sorguları ele alarak çalışanların daha karmaşık ve yüksek değerli taleplere odaklanmasını sağlar.
  • Çok dilli destek sunar.
  • Müşteri desteğini otomatikleştirerek zaman ve emekten tasarruf sağlar.
  • Yanıt oranını ve müşteri etkileşimini artırır.
  • İletişimi kişiselleştirir.
uçuş botu görseli
Kaynak

Bir Chatbot Nasıl Çalışır?

Chatbot’lar; bir uygulama katmanı, bir veritabanı ve API’lerden oluşan yazılım uygulamalarıdır. Çalışma mantığını basitleştirecek olursak, kullanıcı tarafından yöneltilen soru/sorguları sınıflandırmak ve uygun yanıtı üretmek için kalıp eşleştirme kullandıklarını söyleyebiliriz. Chatbot, içine yüklenen programa göre yanıt verir. Kullanım şekline bağlı olarak farklı türlerde chatbot’lar vardır. Başlıca üç tür chatbot bulunur:

  • Kural Tabanlı Chatbot: En temel chatbot türüdür; kullanıcı bu botla önceden tanımlanmış seçenekler aracılığıyla etkileşime girer. Bu botlardan yanıt almak için kullanıcıların belirli düğmelere tıklaması gerekir. Bu tür botlar kullanıcının isteğini toplar, analiz eder ve sonuçları butonlar şeklinde sunar. Sıkça sorulan soruları yanıtlamak için yaygın olarak kullanılırlar; ancak karmaşık sorgularda her zaman en iyi çözüm değildirler.

  • Bağımsız (Anahtar Kelime) Chatbot’lar: Bunlar kural tabanlı botlardan farklı olarak, kullanıcının ne istediğini analiz eden ve uygun şekilde yanıt veren makine öğrenimi botlarıdır. Bu chatbot’lar, kullanıcı isteklerine etkili ve verimli biçimde nasıl yanıt vereceklerini belirlemek için özelleştirilebilir anahtar kelimeler ve makine öğrenimini kullanırlar.

  • NLP (Bağlamsal) Chatbot’lar: Şu ana kadarki en gelişmiş chatbot’lardır. Kural tabanlı ve anahtar kelime botlarının en iyi yönlerini birleştirirler. Bu chatbot’lar, kullanıcıların isteklerindeki bağlamı ve niyeti anlamak için NLP kullanır ve buna göre hareket eder. Aynı kullanıcıdan gelen birden fazla isteği rahatlıkla ele alabilirler.

Chatbot Platformlarının Karşılaştırması

Birçok platform, otomasyonla özelleştirilmiş chatbot’lar sunarak müşterilerin ihtiyaç duydukları her an kutudan çıkar çıkmaz konuşma yeteneklerine gerek kalmadan kusursuz, her zaman zamanında ve sınıfının en iyisi destek hizmetlerinden yararlanmasını sağlar. Müşteriler ayrıca mesajlar üzerinden kolayca iletişim kurabildikleri işletmelerden satın alma eğilimindedir.

2020’de öne çıkan yapay zeka chatbot geliştirme platformları:

  • Azure Bot Service: Azure bot hizmeti, sıfırdan bir chatbot oluşturmanıza olanak tanır; yani oluşturabilir, bağlayabilir, test edebilir ve dağıtabilirsiniz. Geliştiricilerin açık kaynak SDK ve araçları kullanmasına izin verir. Ayrıca geliştiricilerin karmaşık sorguları ele alabilecek sanal asistanlar gibi gelişmiş botlar oluşturmasını sağlar.

  • Botsify: Bu aracın benzersizliği, sezgisel arayüzü sayesinde teknik olmayan kullanıcıların da chatbot oluşturabilmesini sağlamasıdır. Botlar burada “hikâyeler” olarak temsil edilir; yani gereksinime göre birden fazla hikâye veya birden fazla chatbot oluşturup dağıtabilirsiniz. Bir diğer harika özellik de, kullanıcı yanıtlarını kolayca CSV’ye aktarılabilecek bir formda kaydedebilmesidir.

  • Amazon Lex: Amazon Lex, geliştiricilerin metin ve ses kullanarak konuşma arayüzleri oluşturmalarını sağlar. Metnin bağlamını anlamak için gelişmiş derin öğrenme işlevleri ve NLP ile birlikte gelir. Dakikalar içinde chatbot oluşturmak için kullanımı kolay bir konsol sunar.

  • Mobile Monkey: Mobile Monkey, özellikle pazarlama amaçlı chatbot’lar oluşturmak için bir platform sunar. Geliştiricilerin tek bir platformda Facebook reklam botları, SMS botları ve yerel web chatbot’ları yapmasına olanak tanır. Ayrıca doğrudan bir web sitesine gömülebilen, her işletmeye uygun hazır chatbot şablonları da sunarlar.

  • ChatterOn: Geliştiricilerin kullanıcıyla her etkileşimde farklı API’leri bağlamasına izin verdiği için bottan gelen farklı türde zengin içerik yanıtlarını işleyebildiğini iddia eder. ChatterOn, tek tıklamayla kullanılabilecek 20’den fazla önceden oluşturulmuş “bolt” sunar. Çok fazla kodlama gerektirmez; bu da teknik olmayan kullanıcıların chatbot oluşturmasını kolaylaştırır.

  • TARS: Karşılama, müşterilere ürünlerinizle ilgili sorgularına dair ilgili bilgileri verme ve eşzamanlı olarak iletişim bilgilerini isteme gibi işlemleri otomatikleştiren konuşma odaklı bir açılış sayfası oluşturmanıza olanak tanır. Tars; sektöre ve kullanım senaryosuna göre sınıflandırılmış çok sayıda ön tanımlı chatbot şablonu sunar.

Artık muhtemelen kendi chatbot’unuzu geliştirmeyi merak ediyorsunuz. Özelleştirilebilir bir NLP chatbot’undan daha iyisi ne olabilir? Python’da chatterbot kütüphanesini kullanarak kendi chatbot’umuzu oluşturmaya başlayalım.

Chatterbot

chatterbot

Adından da anlaşılacağı üzere, chatterbot özellikle chatbot üretmek için tasarlanmış bir Python kütüphanesidir. Bu algoritma, kullanıcıların taleplerine göre değişen yanıtlar üretmek için bir seçki makine öğrenimi algoritmasından yararlanır.

Chatterbot, sohbet edebilen chatbot’lar geliştirmeyi kolaylaştırır. Önceden bir deneyimi veya iletişim bilgisi olmayan, eğitilmemiş bir chatterbot oluşturarak başlar. Kullanıcılar ifadeler girdikçe, kütüphane kullanıcının isteğini ve kullanıcıya gönderilen yanıtları kaydeder. Chatterbot’daki örnek sayısı arttıkça, chatterbot’un verdiği yanıtların doğruluğu da artar.

Chatterbot, kullanıcılar tarafından yapılan yeni isteğe eşdeğer en yakın benzer isteği bularak en yakın benzer yanıtı arayacak şekilde eğitilir. Ardından mevcut yanıtlar arasından bir yanıt seçer. Chatterbot’un en büyük avantajı, geliştiricilerin kendi veri kümelerini ve yapılarını kolayca oluşturabilmelerini sağlamasıdır.

Chatterbot Kullanarak Chatbot Oluşturma

Öncelikle chatterbot kütüphanesini kuralım. Chatbot oluşturmak için chatterbot corpus’unu da kurmamız gerekir. Corpus—kelime anlamıyla bir sözcükler derlemi—chatterbot modülüne dahil edilen veri derlemlerini içerir. Her corpus, farklı girdi ifadeleri ve bunların yanıtları için bir prototiptir. Botlar bu derlemleri kendilerini eğitmek için kullanır. Chatterbot ve chatterbot_corpus’u kurmanın en çok önerilen yöntemi pip kullanmaktır.

Terminal için kurulum komutları:

pip install chatterbot
pip install chatterbot_corpus

Jupyter Notebook için kurulum komutları:

!pip install chatterbot
!pip install chatterbot_corpus

Önce chatterbot modülünün Chatbot sınıfını içe aktaralım.

# Importing chatterbot
from chatterbot import ChatBot

Chatbot Örneği Oluşturma

Şimdi en ilginç kısma, yani bir Chatbot nesnesi oluşturarak botunuza isim verme aşamasına geldik. Dilediğiniz adı seçebilirsiniz. Bu tek satır kod, Buddy adında yepyeni botumuzu oluşturur. İlk programımızı çalıştırmadan önce birkaç parametre daha belirtmemiz gerekecek.

# 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.

Chatbot nesnesiyle depolama adaptörünü de konumlandırabilirsiniz. Depolama Adaptörleri belirli bir depolama birimine veya ağa bağlanmanıza olanak tanır. Bir depolama adaptörü kullanmak için bunu belirtmemiz gerekir. Kullanmak istediğimiz depolamanın içe aktarma yolunu atayarak depolama adaptörünü konumlandıracağız. Burada, chatbot’un SQL veritabanlarına bağlanmasına izin veren SQL Depolama Adaptörünü kullanıyoruz. database parametresiyle yeni bir SQLite veritabanı oluşturacağız. Chatbot için yeni bir veritabanı oluşturmak üzere lütfen aşağıdaki kodu izleyin.

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

Chatbot nesnesiyle mantıksal adaptörü de konumlandırabilirsiniz. Adından da anlaşılacağı gibi, Mantıksal Adaptör chatterbot’un arkasındaki mantığı düzenler; yani kendisine sağlanan her girdi için yanıtları seçer. Bu parametre, mantıksal operatörlerden oluşan bir liste içerir. Chatterbot bir dizi mantıksal adaptör kullanmamıza izin verir. Birden fazla mantıksal adaptör kullanıldığında, chatbot güven düzeyini hesaplar ve en yüksek güvene sahip yanıt çıktıda döndürülür. Burada iki mantıksal adaptör kullandık: BestMatch ve TimeLogicAdapter.

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

Chatbot’u Eğitme

Artık bir chatbot yapmanın son adımı, chatterbot’da bulunan modülleri kullanarak botu eğitmektir. Chatterbot kullanarak bir chatbot eğitmek, sohbeti chatbot veritabanına sağlamak kadar basittir. Chatbot bir veri kümesi alır almaz, girdiyi ve çıktıyı doğru şekilde temsil etmek için chatbot’un bilgi grafiğinde gerekli girişleri üretir. Önce ListTrainer’ı içe aktaralım, Chatbot nesnesini geçirerek bir nesne oluşturalım ve bir cümle listesini geçirerek train() metodunu çağıralım.

# 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%

Chatbot Testi

Bu eğitimin son adımı, chatterbot’un sohbet becerilerini test etmektir. Yanıtlarını test etmek için Chatbot örneğinin get_responses() metodunu çağıracağız.

# 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

Chatbot’umuzun çalışması için bir while döngüsü oluşturacağız. Döngüye ifadeler gönderildiğinde, veritabanımıza zaten veri girdiğimiz için buna uygun bir yanıt alacağız. Kullanıcıdan "Bye" veya "bye" ifadesini alırsak, döngüyü sonlandırıp programı durdurabiliriz.

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

Sonuç

Tebrikler, bu eğitimin sonuna ulaştınız!

Bu makale, ChatterBot kütüphanesini kullanarak Python’da nasıl chatbot yapılacağını öğrenmeye dayanıyordu. ChatterBot ile chatbot oluşturmak sadece basit değil, aynı zamanda sonuçlar da isabetliydi. Yapay Zeka ve Makine Öğreniminin gelişimiyle, ister insanlar gibi konuşma becerilerine sahip botlar oluşturmak olsun, ister başka bir şey; her şey mümkün. DataCamp’in Python ile Facebook Chatbot’larını Dağıtma hakkındaki eğitimine göz atın.

datacamp’in python kurs kitaplığını keşfetme banner’ı
Konular
Python
Veri Bilimi

Python hakkında daha fazla bilgi edinin

Kurs

Python’a Giriş

4 sa
7.1M
Python ile veri analizi temellerini sadece dört saatte öğrenin. Bu çevrimiçi kurs, Python arayüzünü tanıtacak ve popüler paketleri keşfedecektir.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör