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:

İ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:

ÖNCEKİ KOMUT:%sin:contains doğru

 

 




0

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.