CEYD-A’ya Nitelik Ekleyelim- Komutlar Arası İlişki Kurmak
CEYD-A’ya, çok cömertsin veya daha iyi anlıyorsun gibi sonu sin,sun ile biten fiil veya sıfat içeren cümleler kurduğumuzu düşünelim. CEYD-A size doğru mu diye sorsun, siz de doğru dediğinde bunu algılasın ve sıfat ise kendi niteliği olarak kaydetsin. Sonrasında kendini tanıt dediğimizde de size kendi sıfatlarını sıralasın. Kulağa hoş geliyor değil mi ?
1.Komutta sonu sin ile biten kelime içeren cümlenin soru şablonu tanımlanıyor ve $1 (1.parametre) cömert, anl gibi kelimeler olarak atanıyor. eğer anlıyorsun derseniz amak eki eklenerek anlamak fiilmi diye araştırılıyor. Eğer fiil olmadığı tespit edilirse sifat değişkenine örneğin cömert atanıyor ve size doğru mu sorusu soruluyor.
Bu yazıda belki de en dikkat çekilmesi gereken 2 nokta şu:
1) 1.komutta tanımladığımız $sifat değişkeni, 2.komutta da kullanılabiliyor. Bu demek oluyor ki herhangi bir komutta kullandığımız değişkenler sonra başka komutlarda da kullanılabilir ve değişik ilişkili kurgular oluşturulabilir.
2) Sarı işaretlenen kelimelere dikkat edersek, 2.komuttaki ÖNCEKİ KOMUT alanına, önceki komutun ne olması gerektiği ve o komut söylendikten hemen sonra 2.komut söylenirse bu komutu işle mantığını getiriyoruz. Yani bu örnekte siz cömertsin diyorsunuz size cevap olarak doğru mu diyor, siz doğru dediğinizde işleme alıyor. Yani ÖNCEKİ KOMUT formatı şu: (BİR ÖNCEKİ KOMUT SORU KELİMESİ) contains (BİR ÖNCEKİ KOMUT CEVAP KELİMESİ)
1.KOMUT
SORU ŞABLONU:.*?([A-Za-zçışöüğÇİŞÖÜĞ]*?)(sin|sın|sün|sun|ıyorsun)\\b.*?
SORU KELİMELERİ:%sin,1.5|%sın,1.5|%sün,1.5|%sun,1.5|
CEVAP ŞABLONU:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
{!SET fiil1={!RET isverb $1mek!}!} {!SET fiil2={!RET isverb $1mak!}!} {!SET fiil3={!RET isverb $1emek!}!} {!SET fiil4={!RET isverb $1amak!}!} {!IF $fiil1==1?? $1meli sence,öyle mi? <small>{!RET $1mek sözlük anlamı!}</small> :: {!IF $fiil2==1?? $1malı sence öyle mi? <small>{!RET $1mak sözlük anlamı!}</small> :: {!IF $fiil3==1?? $1emeli sence,öyle mi? <small>{!RET $1emek sözlük anlamı!}</small> :: {!IF $fiil4==1?? $1amalı sence,öyle mi? <small>{!RET $1amak sözlük anlamı!}</small> :: {!SET sifat=$1!}Bana $1 diyorsun, doğru mu? <small>{!RET $1 sözlük anlamı!}</small> !}!}!}!}| |
İlk komutumuzda bize bana cömertsin diyorsun doğru mu? dediğini farzedelim. 2. komut olarak içinde doğru geçen bir komut oluşturalım. Bu komut siz %sin ile biten kelime geçen cümleden sonra doğru derseniz çalışmalı ve doğru dediğiniz için sifat değişkenini kendi özelliği olarak atamalıdır.
2.KOMUT
SORU ŞABLONU:.*
SORU KELİMELERİ:evet,1|doğru,1|
CEVAP ŞABLONU:
1 2 3 |
Özelliklerime {!RET addproperty {!GET sifat!}!} olmayı ekledim Bana kendini anlat diyebilirsin| |
ÖNCEKİ KOMUT:%sin:contains doğru