Komut içinde Komut Tanımlama

Gelecek sürümde bir çok yazılımcının rüyalarını süsleyen bir özelliğe adım atacak. Ona sesle söyleyeceğiniz düz cümle ile zincirleme chatbot komutları oluşturabilecek. Bu şekilde ileride CEYD-A ya ne yapacağını sözle anlatıp ona istediğiniz uygulamaları yazdırmanız mümkün olacak.

CEYD-A’ nın kendisine komut tanımlatmak istemez miydiniz? Bir başka deyişle CEYD-A geliştirici kimliğine bürünüp bizim komutlarımızla kendi komutlarını oluşturacak. Bu işi bir kez yapıp gerekli komutlar oluşacak ve artık istenilen formatta cümle söylediğimizde kendisi gerekli cevapları bu oluşan komutlarla verecek.
CEYD dilindeki cmdaddresponsewithpatterns komutu ile bunu oluşturmak mümkün.

Aşağıda (CÜMLE) dediğimde (SORU) diye sor sonra o yerin (CEVAP) söyle formatında bir cümle söylediğimizde bizim yerimize kendisi gerekli chatbot komutlarını oluşturacak.
Örneğin, hava kaç derece dediğimde hangi ilçe diye sor sonra o yerin hava derecesini söyle, yada havadisleri oku dediğimde hangi gazete diye sor sonra onun haberlerini oku gibi
Şimdi detayları inceleyelim:
cmdaddresponsewithpatterns komutu 3 parametre almakta. İlk parametre SORU KELİMESİ, sizin ona söyleyeceğiniz ilk tetikleyici cümle olacak . Örneğimizde Hava kaç derece buna karşılık geliyor.
İkinci parametrenin yani SORU ŞABLONUNUN içini .* olarak bırakalım. Anlamı bu yeni komut cümlesinin formatı her ifade olabilir demek bir başka deyişle cümlemize bir kısıtlama veya parametre koymadık demek.
Üçüncü parametre CEVAP ise çalıştırılacak cevap komutunu belirtmekte. cmdaskandfollow CEYD diline yeni katılan komutlardan ve amacı chatbot yapımı için zincirleme komutlar oluşturmak.
Adından da belli olduğu gibi önce o soruyor ask ve cevabımızı aldıktan sonra cevabı başka bir komuta yönlendirip takip ediyor follow. Bir nevi iki komutu zincirliyor. Bu komutun daha detaylı açıklamasını diğer yazımda sizlerle paylaşıyor olacağım. İsimlendirmeyi bu şekilde yapmamın sebebi amacına uyabilmesi

$1,$2 ve $3 şablondaki parantezler içinde gösterilen şablon gruplarını ifade etmekte ve cevap içinde direk kullanılabilmekte. $8 ise sadece cmdaskandfollow a özgü bir parametre ve önceki komutun bizim verdiğimiz cevabını ifade etmekte ve bunu yeni komuta taşımakta. cümledeki ‘o yerin’ ifadesini $8 ile değiştirmemizin amacı da bu aslında. cmdreplace ile değişiklik olduğunda o yerin kaç derece olduğunu söyle yerine $8 kaç derece olduğunu söyle olarak follow komutu oluşacak yani biz İzmir cevabı verdiysek önce $8 için İzmir atanacak, İzmir kaç derece olduğunu söyle komutu çalışacak ve sonucu ekrana yansıyacak.

Komutun son hali aşağıdaki gibi. Artık CEYD-A sizin için küçük chatbot komutları yazabilir.

 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.