Bu proje, müşteri hizmetleri süreçlerini dijitalleştirmek amacıyla geliştirilmiş, Türkçe dilini anlayabilen bir sohbet robotudur (chatbot). Derin öğrenme temelli BERT ve LSTM modelleri kullanılarak oluşturulan hibrit mimari sayesinde kullanıcı girdilerini yüksek doğrulukla sınıflandırır ve uygun yanıtlar üretir.
Bera Şirketi'nin müşteri taleplerini karşılayabilecek, kariyer başvurularını yönlendirebilecek ve genel bilgi sağlayabilecek bir dijital asistan geliştirilmiştir. Proje, zamandan tasarruf sağlamak, müşteri memnuniyetini artırmak ve operasyonel yükü azaltmak üzere tasarlandı.
Veri seti, şirketin sıkça sorulan müşteri sorularından oluşturulmuştur. Türkçe dilinde hazırlanmış toplam 1166 örnek içerir ve 68 farklı intent (niyet) sınıfı barındırır.
Veri ön işleme adımları:
- BERT Tokenizer ile ön işleme
- Label encoding (etiketleme)
- Stratified veri bölme (%80 eğitim, %20 doğrulama)
RandomOverSampler
ile dengesiz sınıf dağılımı giderimi
- 🧠 NLP Modelleri: BERT (dbmdz/bert-base-turkish-cased) & LSTM (2 katmanlı bidirectional)
- 🔧 Framework: PyTorch, HuggingFace Transformers, Scikit-learn
- 🧪 Veri: Türkçe, sıkça sorulan sorulardan oluşturulmuş özel veri seti
- 🧼 Veri Ön İşleme: Tokenization, padding, label encoding, oversampling
- 💬 Chat Arayüzü: Flask tabanlı web uygulaması (HTML/CSS destekli)
- Tokenizer: Türkçeye özel BERT tokenizer
- BERT: Bağlamsal temsillerin çıkarılması
- LSTM: Zaman bağımlılıklarını modelleme (Bidirectional, Dropout)
- ReLU: Aktivasyon fonksiyonu
- Softmax: Çok sınıflı sınıflandırma
- Loss Function: Class-weighted CrossEntropyLoss
Model | Doğruluk (Val Accuracy) | F1 Skoru | ROC-AUC |
---|---|---|---|
BERT | 0.8590 | 0.8530 | 0.9878 |
LSTM | 0.5427 | 0.5316 | 0.9185 |
BERT + LSTM (Hibrit) | 0.8590 | 0.8545 | 0.9923 ✅ |
Hibrit model, doğruluk ve içerik uyumluluğu açısından en iyi sonucu vermiştir.
GitHub boyut limitleri nedeniyle aşağıdaki büyük model dosyaları harici olarak paylaşılmıştır:
İndirdikten sonra dosyaları proje kök dizinine yerleştirmeniz yeterlidir.
python -m venv venv
source venv/bin/activate # Windows için: venv\Scripts\activate
pip install -r requirements.txt
bert_model/
klasörünü vehybrid_intent_model.pt
dosyasını proje ana dizinine koyun.
python app.py
Flask tabanlı web arayüzü sayesinde kullanıcılar Türkçe metin girişi yapabilir. Sistem, girdinin ait olduğu intent’i tahmin eder ve uygun yanıtı döner.
Epoch 6:
Val Accuracy: 0.8590
Val F1: 0.8545
ROC-AUC: 0.9923
Model, yüksek F1 ve AUC skorlarıyla overfitting yapmadan başarılı bir genel performans göstermiştir.
- Sesli yanıt desteği (Text-to-Speech)
- Sürekli öğrenme (online training)
- Yeni veri ile genişletilmiş etiket seti
- Gelişmiş kontekst yönetimi ve çok adımlı diyaloglar
Proje ile ilgili literatür ve teknik detaylar için:
📄 Chatbot dosyasına bakabilirsiniz.
Bu proje, Zeynep Açıkgöz tarafından geliştirilmiştir.
📧 İletişim: zzeynepacikgozz@gmail.com