ChatBot uygulamaları yapay zekayı anlamak için çok uygun bir başlangıçtır. Türkçe NLP yazılımları hayli azdır, ancak IBM, Microsoft, Google gibi firmaların NLP yazılımları Türkçe’yi desteklemektedir.

Özellikle Google’ın Dialogflow hizmeti Türkçe dahil bir çok dil desteği sağlamaktadır.
Pardus üzerinde yapay zeka yazılımı geliştirecekseniz Pardus bilgisayarınıza aşağıdaki yazılımları yükleyebilirsiniz:
- Visual Studio Code
- .NET 5
- PostgreSQL
- NodeJS
- Angular
- Ionic
- Electron
- Android Studio
- Flutter
Aslına bakarsanız yapay zeka ve büyük veri projeleri için Python daha fazla tercih edilmektedir. Fakat .NET Core ile de ben bu projeyi geliştirebildim. Python’a henüz ihtiyaç duymadım. Eğer siz Python kullanırsanız Django kullanmanızı tavsiye ederim.
.NET Core’da katmanlı mimari geliştirdim ve Api katmanında üç adet Web Api controller yazdım:
- AuthController
- ChatController
- CrmController
Bu controller’larım Services, Infrastructure, Data ve Model katmanlarımla iletişime geçiyor. Services katmanında CQRS paterni ile Common Result Object kullandım.
UI katmanlarım ise şöyle:
- Chat.Web (Angular, Ionic, Electron)
- Crm.Web (Angular)
- Chat.Mobile (Flutter)
Projeyi geliştirirken mobil uygulamayı hibrit yapmak istedim fakat gördüm ki Ionic’le Safari’de bildirimler yapılamıyor, Hey Siri tarzı sürekli mikrofon dinleme yapılamıyor ve Hibrit uygulamalar arka planda çalışmadıkları, sesle ve kamera ile ilgili sıkıntıları olduğu ayrıca telefon geldiğinde sesin ahize yönlendirilmesi gibi bugları olduğu için daha kaliteli bir mobil uygulama için Flutter ve React Native gibi frameworklere ihtiyaç duydum.
Flutter’ı tercih etme sebebim Google teknolojisi olmasıdır.
Nasıl Yapılır?
- Backend katmanlı mimari ile hazırlayın
- Backend’te Dialogflow’a sorularınızı gönderip cevapları döndüren apiyi yazın
- Frontend’i tema kullanarak hazırlayın
- Chat sayfanızı Whatsapp’a benzer şekilde hazırlayın
- Gelen mesajı gönder butonuna basıldığında chat apinize gönderin, chat apiniz Dialogflow’a mesajı gönderecek ve cevap döndürecektir.
- Dönen cevabı uygulamada TTS ile seslendirin
İsterseniz TTS servisi olarak Google Bulut’un TTS servisini kullanabilirsiniz, Google TTS’i Türkçe destekliyor ve ses kalitesi çok iyidir. Bu durumda Dialogflow cevap metni ile birlikte ses dosyası da döndürecektir ve sizin yapmanız gereken cevap metnini gösterip sesi playletmektir.
Mutlu kodlamalar 🙂