Sesli asistan yazmak için gereken şeyleri birkaç alt dala ayırabiliriz.
Ses Verisini Yazıya Dönüştürme
Öncelikle kullanıcının gönderdiği ve uygulamadan yapmasını istediği şeyleri anlatan ses verisini yazıya dönüştürmen lazım. Bu iş için Google Speech-to-Text, Microsoft Azure Speech Service ve Amazon Transcribe gibi servisleri kullanabilirsin.
Doğal Dil İşleme(NLP)
Kullanıcının sesli olarak göndereceği talimatları doğru bir şekilde anlamak ve cevap vermek için bir NLP(Natural Language Processing - Doğal Dil İşleme) algoritmasına ihtiyacın var. Bu tarz bir algoritma yazmak hiç kolay bir iş değil. Koca koca şirketler bu algoritmalara yıllarını harcıyorlar. O yüzden bana göre şimdilik en doğru olanı Google Cloud Natural Language Processing, ChatGPT veya spaCy gibi hazır algoritmalardan birini kullanmak olacaktır
Cevabı Sese Dönüştürmek
Şimdi sıra geldi NLP ile aldığımız cevabı sese dönüştürmeye. Burada da Google Text-to-Speech, Microsoft Azure Text to Speech ve Amazon Polly gibi servisleri kullanabilirsin.
Dış Arayüz
Aynı zamanda kullanıcının etkileşime geçeceği bir dış arayüz geliştirmen lazım. Kullanıcı bu dış arayüz üzerinden ses verisini gönderecek, bu ses verisine NLP tarafından verilen cevap bu arayüzde görüntülenecek. Burada sesli asistanını yayınlamak istediğin platforma göre farklı programlama dilleri(örneğin Android işletim sistemi için Kotlin, IOS işletim sistemi için Swift, Windows için C#) öğrenip bu dilleri kullanarak dış arayüzünü yazabilirsin.
Fark ettiysen çoğu yerde hazır yazılımlar kullanmanı önerdim. Bunun sebebi burada anlattığım şeyleri kendi başına yapmanın çok zor olması. Yukarıda bahsettiğim algoritmalara şirketler büyük ekiplerle yıllarını harcıyorlar. Bu algoritmaları sıfırdan kendi başına yazman çok zor ve aynı zamanda çok uzun bir süreç olacaktır. Dolayısıyla işin algoritma tarafını hazır algoritmalar ile çözmek en doğrusu olacaktır.