Trabzon Akcaabat sahilindeki cafe'de elinde kocaman bir dondurma kulahi tutan musteri telefonu cikarip menuye dokunamiyor. "Bana 1 ayran ve 1 ekmek soyle" diyebilse her sey cozulurdu. Tam olarak bunu yapmak icin WebSpeechAPI'yi tarayici tabanli sesli siparise donusturduk; native app yok, indirme yok, sadece QR ve mikrofon izni.
Tarayicidan Turkce ASR Nasil Calisir
Chrome ve Safari'de yerlesik SpeechRecognition arayuzu Turkce ASR icin lang = "tr-TR" ile ekstra dosya gerektirmeden gelir. Mikrofon iznini bir kez aldiktan sonra musteri "Bana 1 latte ve 2 kurabiye soyle" dediginde Web Speech API ham metni 1.2 saniye icinde teslim ediyor. Tarayici listening durumunda iken bir dalga animasyonu, hata durumunda ise "Tekrar dener misin" mesaji kullanici icin guven veriyor.
Ham metni almak yetmiyor; "1 latte" mu yoksa "bir latte" mi yoksa "iki latte" mi soylediyse intent + slot tespiti gerekli. Cloudflare AI Workers AI uzerinde calisan LLaMA 3.1 8B modeline JSON schema ile gonderdigimiz prompt sadece { items: [{ product, qty }] } doner. Latency 800 ms civari ve KV cache ile tekrar eden ifadeler 50 ms'ye iner.
Yanlis Anlama Edge Case'leri
"Ayran" ile "ayran corbasi" arasindaki ayrim klasik bir tuzak. NLU modulu cevirilebilirligi yuksek olmayan urun adlari icin disambiguation akisini tetikler: "Ayran corbasi mi yoksa icecek olan ayran mi?" diye sesli geri sorar. Musteri tek kelimeyle cevap verir, ekran net olarak iki secenegi kart olarak gosterir.
- Lehceler: "kahave" -> "kahve" gibi Karadeniz aksanlari icin fuzzy match esigi 0.85
- Allergen: "fistikli almayalim" cumlesi negatif slot olarak ayriklanir
- Sayilar: "yarim porsiyon" "0.5 porsiyon" olarak normalize
Erisilebilirlik ve Geriye Donus
Sesli siparisin asil kazananlari ellerini kullanmakta zorlanan veya gorme engelli musteriler. ARIA aria-live="polite" alaninda asistanin anladigi cumle hem yazili gorunur hem de TTS ile geri okunabilir. Bu sayede goren ya da gormeyen herkes "evet bu siparisi onayla" diyerek odeme adimina gecebilir.
Eger tarayici WebSpeechAPI desteklemiyorsa veya mikrofon erisimi reddedilirse menu otomatik olarak klasik dokunmali moda dusuyor; hicbir ozellik kapanmiyor, sadece input yontemi degisiyor. Boylece eski Android tabletlerde de cafe vitrini calismaya devam eder.
FAQ
Tarayicida sesli siparis maliyetli mi? WebSpeechAPI ucretsiz; NLU icin Cloudflare AI Workers AI fiyatlandirmasi 1000 istek basina yaklasik 0.01 USD seviyesinde.
Hangi planda gelir? Pro+ planlarda AI siparis dahil; Starter musteriler klasik QR menusunde kalir.
Gurultulu ortamda calisir mi? Browser ASR 65 dB ustu ortamda dogruluk dusuyor; o yuzden disambiguation karti ve dokunarak onay her zaman tek tikla erisilebilir kalir.
Faydalı buldunuz mu? Paylaşın.
İlgili makaleler
Müşteri Aboneliğini Düşürünce Eski Özellikler Ne Olur? — SaaS Sessiz Feature-Drift Problemi
Çoğu SaaS abonelik tier’ı düştüğünde tek satır kod çalıştırır ama eski özellikle…
JWT alg-confusion atağı — Supabase HS256'dan RS256/JWKS'e geçince eski verifier'lar neden yıkılır?
JWT header'ı decode etmeyen verifier'lar `alg=none` ve `alg-confusion` saldırıla…
Her bakiye değişikliğinin neden bir 'journal row'u olmalı? — SaaS finansal audit'in temel taşı
SaaS bakiyeleri tek satır UPDATE ile yönetince "drift var ama HANGİ mutasyon yan…