Yazan : Şadi Evren ŞEKER
Kısaca DCG olarak da adlandırılan bu yapılar, doğal dil işleme konusunda şablon (template) yapılarından daha farklı ve daha insana yakın bir yapıya sahiptir. DCG’ye göre cümlede bulunan yazıların birer dizgi (String) veya harf olarak görülmesinden öte bu yazıların anlamsal olarak gruplanması beklenir.
Örneğin
“Ali okula doğru emin adımlarla yürüyordu”
Cümlesindeki öğeleri inceleyecek olursak:
Ali : Özne
Okula doğru : Yer yön zarfı (tümleç)
Emin adımlarla : Hal durum zarfı (tümleç)
Yürüyordu : Yüklem
Şeklinde sıralayabiliriz. Bu sıralamada dikkat edilirse kelimeler veya kelime grupları farklı gruplara bölünerek anlamsal bir sınıflandırmaya gidilmiştir.
Yukarıdaki sınıflandırmaya aykırı kelime grupları da bulunur. Örneğin
“doğru emin” kelimeleri cümlenin bir parçasıdır ancak insan olarak bu kelimelerin anlamsız bir grup olduğunu söyleyebiliriz.
Ayrıca yukarıdaki kelime gruplarını
Ali: İsim grubu
Okula doğru : isim grubu
Emin adımlarla: isim grubu
Yürüyordu : fiil grubu
Olarak da sınıflandırmak mümkündür. Burada da anlamsal olarak tamlamalar ve belirteçlerden yararlanarak kelimeler gruplanmış ancak bu defa anlamlarına göre (lexical analysis) değil yapılarına göre (grammatical anlaysis) sınıflandırılmıştır.
Yukarıdaki iki sınıflandırmada da aslında kullanılan belirli bir dilbilim söz konusudur. DCG yaklaşımında bu dilbilim dili oluşturan grupların nasıl dizileceğini belirleyen içerik bağımsız dilbilgisidir (Context Free Grammer). Yukarıdaki cümleyi içeren bir CFG aşağıdaki şekilde yazılabilir:
C à İG FG
İG à İG İG | İG
İG à B İ | İ B | İ
FG à F
B à “doğru” | “emin”
İ à “okul” | “Adım” | “Ali”
Fà “yürümek”
Yukarıda verilen CFG ve dolayısıyla DCG için C, cümle; İG, isim grubu ; B, belirteç ; İ, isim; FG, fiil grubu ; F , fiil şeklinde kısaltılmıştır.
Buna göre örneğin
“Okula doğru” tamlaması için:
Yukarıdaki şekilde isim ve belirteç ve daha sonra da isim grubu denilebilir.
Benzer şekilde ilk örneğimiz olan “Ali okula doğru emin adımlarla yürüyordu” cümlesini aşağıdaki şekilde parçalama (parse) mümkündür.
Yukarıda görülen parçalama ağacı (parse tree), ilgili CFG’nin örnek için uyarlanmış halidir.