Soru Şablonu Yapısı
CEYD-A nın ilgi çeken komut şablonu yapısı detaylı imkanlar sağladığı için okunması ve yazılması zor ifadeler içeriyordu. Şablonun faydası söylediğiniz cümlenin içinde istediğiniz bir kelime veya ifadenin rahatlıkla tespit edilebilmesidir. Bu yapı Regular Expression (Düzenli İfadeler) ile birebir örtüşen bir yapıdır. Yazımı kolaylaştırmak için bu yazı düzenlendiğinde CEYD-A komut şablonunda bazı kolaylaştırmalar eklenmiştir.
Bunlar:
{BAŞ} veya {HER} .*? regex ifadesine karşılık gelir. Yani, herhangi bir ifade olabilir veya olmayabilir anlamındadır. Eğer parametre olarak kullanılacak ise {HER1} {HER2} gibi adlandırılabilir.
{SON} HER gibi işlem görür ancak cümle sonunda, ana kelimelerden sonra kullanılacak HER yerine bu ifadenin kullanılması doğru olacaktır.
Örnek:
{BAŞ}({KELİME1}){NİN EKİ} maçı{SON}
şablonu CEYD-A, FENERBAHÇENİN MAÇI NE ZAMAN? cümlesi ile boyalı kısımlarla örtüşmektedir.
{KELİME} herhangi bir kelimeyi ifade eder. Eğer bir parametre olarak kullanılacak ise kaçıncı parametre ise, {KELİME1} {KELİME2} gibi adlandırılabilir.
{SAYI} herhangi bir sayıyı ifade eder. Eğer bir parametre olarak kullanılacak ise kaçıncı parametre ise, {SAYI1} {SAYI2} gibi adlandırılabilir.
{E EKİ} kelimenin sonuna eklenirse -e,-a,-ne,-na,-ye,-ya ekleri görevi görür. Örneğin: İSTANBULA, ANKARAYA gibi. {KELİME}{E EKİ} gidiyorum olarak kullanılabilir.
{İ EKİ} kelimenin sonuna eklenirse -i, -ı, -yı, -yi, -nı, -ni ekleri görevini görür.
{DE EKİ} kelimenin sonuna eklenirse -de, -da, -nda, -nde ekleri görevini görür.
{DEN EKİ} kelimenin sonuna eklenirse -den, -dan -ndan -nden ekleri görevini görür.
{NİN EKİ} kelimenin sonuna eklenirse -nin, -nın -ın -in ekleri görevini görür.
{KİP} fiil çekim eklerini belirtir. -di -yor -meli -r – ecek ve türevleri gibi.
{TÜMKİPLER} soru ifadeleri dahil tüm fiil çekim eklerini belirtir. -di -yor -meli -r – ecek ve türevleri gibi.
{BEN} fiil çekim eki {KİP} ten hemen sonra şahıs eki için kullanılır. -m,ım,um,üm, im gibi.
{SEN} fiil çekim eki {KİP} ten hemen sonra şahıs eki için kullanılır. -n,sin gibi
{BİZ} fiil çekim eki {KİP} ten hemen sonra şahıs eki için kullanılır. -iz -k gibi
Aşağıdaki örnekte içinde iç fiil kökü geçen bir komutta CEYD-A nın vereceği cevabı tanımlayabiliriz. Cümlemizin formatı herhangi ifade + iç(er) misin + herhangi ifade olacağından soru şablonu aşağıdaki gibi tanımlanabilir.
Şimdi bir örnekle komut şablonumuzu oluşturalım ve anlamaya çalışalım. Diyelim Ceyda bugün İstanbul için hava nasıl olacak biliyor musun? dediğimizde bize sadece İstanbul kelimesi gerekli olsun ve bunu parametre olarak almak isteyelim.
Yazacağımız şablon şu şekilde olmalı:
{BAŞ}({KELİME1}) için hava nasıl{SON}
için hava nasıl ifadesinden önce parantez içinde {KELİME1} vardır cümlemizde {KELİME1}, İstanbul dur. Bunun öncesinde {HER} vardır ve İstanbul dan önce gelen tüm cümlenin ilk kısmını içerir.
{KELİME1} düz parantezler ( ) içinde olduğu için parametre olarak tanımlıdır ve CEYD-A komut cevabında {KELİME1} olarak kullanıldığında, İstanbul değeri dönmektedir.
Örnek cevap;
{KELİME1} diyorsun değil mi ?
dediğimizde
bize İstanbul diyorsun değil mi ? cevabı dönecektir.
Cevap bölümünde soru şablonunda kullandığımız bu parametreleri aynen kullanabiliyoruz.
Ayrıca, eğer soru şablonunda {KELİME1} {HERHANGİ1} {SAYI1} gibi parametre kullanmıyorsak {PARAM1} de kullanılabilir.
Örnek:
SORU ŞABLONU: (dolar|euro) kaç lira{HERSON}
CEVAP: {PARAM1} kaç lira diye soruyorsun
dediğimizde parametremiz ( ) içinde isimlendirilmediği için {PARAM1} de kullanılabilir.
Benzer bir örnek te
SORU ŞABLONU: ({KELİME1}) kaç lira{HERSON}
CEVAP: {PARAM1} kaç lira diye soruyorsun
veya
SORU ŞABLONU: ({KELİME1}) kaç lira{HERSON}
CEVAP: {KELİME1} kaç lira diye soruyorsun
aynı anlamlara gelebilir.
Aşağıdaki başka bir örnek ise nasıl bir yer komutunu tanımlıyor. İçinde nasıl bir yer ifadesi muhakkak kullanılacağı için önce soru kelimelerine nasıl bir yer yazıyoruz yanına da virgülden sonra 10 gibi bir yüksek bir katsayı yazıyoruz. Bu sayı daha da artarsa başka benzer komutlarla çakışma olasılığı azalır. 10 burada normal bir katsayıdır.
ADIM 2: SORU ŞABLONU
Soru şablonu bölümüne aşağıdaki gibi cümlenin formatını yazalım. Cümle başında herhangi bir ifade olabilir sonrasında kullanacağımız kelime olacaktır. {KELİME1} ( ) işaretleri arasında olduğu için parametredir, sonrasında bir boşluk ve nasıl bir yer vardır. Sonrasında herhangi bir ifade gelebilir. Örneğin Ankara nasıl bir yer sence, sence Muğla nasıl bir yer olabilir söylermisin gibi
ADIM 3: CEVAP
Cevap olarak {KELİME1} olarak kullandığımız parametreyi kullanıyoruz aşağıda {KELİME1} Ankara değerini aldığını varsayarsak {!RET Ankara nedir!} komutuna dönüşecektir ve bize sanki Ankara nedir işlemini yaptığı gibi cevap dönecektir.
SONUÇ: