Yazan : Şadi Evren ŞEKER
Doğal dil işleme çalışmaları sırasında bir metinden (derlem (corpus) , paragraf , cümle veya kelimeden) çıkarılan anlamın bilgisayar tarafından bir şekilde modellenmesi gerekmektedir.
Bu modelleme sırasında kullanılan gösterim çeşitlerine anlambilimsel tertip ismi verilir. Anlambilimsel dilbilgisi (semantic grammer) kadar kesin kuralları olmayan bu gösterim şekillerinde çoğu zaman doğru veya yanlış kaygısı güdülmeden sadece bir bilginin gösterimi hedeflenir.
Anlambilimsel tertipleri cümle gösterimlerinin (Syntactic representation) ötesinde fonksiyonel ve çalışabilir tertipler olarak görmekte yarar vardır.
Örneğin en çok kullanılan ve en etkili gösterimlerden birisi birinci derece haber mantığıdır (first order predicate logic). Bu mantığa göre örneğin aşağıdaki şekilde bir gösterim yapılabilir.
“Ali uyudu” şeklindeki bir cümleyi ele alalım. Bu cümleden aşağıdaki şekilde birinci derece haber mantığı gösterimi elde edilebilir:
uyudu(Ali).
Basitçe uyudu isminde bir fonksiyonumuz varsa bu fonksiyonun parametresi de Ali olmaktadır. Bu durum özellikle birinci derece haber mantığını kullanan diller için çok önemlidir. Örneğin PROLOG yukarıdaki bu satırı doğrudan kod olarak kabul edip çalıştırabilir.
Farklı bir örnek olarak lambda matematiğinde (lambda calculus) modelleme yapmaya çalışalım.
“Ali peynir yedi” şeklindeki bir cümleyi lambda matematiği ile modellersek:
(λa) (λb) yedi (a,b)
şeklinde gösterebiliriz. Yukarıdaki bu gösterimde modelimizde bulunan değişkenler (variables) birer lambda değişkeni olarak tanımlanmıştır. Yani yukarıdaki gösterime göre a ve b isminde iki değişken yedi fonksiyonunun parametresidir. Benzer bir durum için:
(λa) yedi (a,peynir) (λb) yedi (ali,b)
şeklinde bir gösterim de yapılabilir. Yukarıdaki ilk satırda “peynir yemek” eylemi modellenirken ikinci satırda Ali tarafından yenilen şeyler modellenmiştir.
Lamda matematiğindeki bu gösterim de LISP (veya Scheme) gibi bu gösterimi doğrudan kullanan diller için oldukça önemlidir.
Yukarıdaki örneklere ilave olarak modelin daha detaylı hale getirilmesi de mümkündür. Örneğin yukarıdaki cümlelerde fiil zaman, şahıs, kip gibi bilgilerinden arındırılmadan olduğu gibi fonksiyon haline çevrilmiştir. Oysaki bu bilgilerin de modelde birer gösterimi bulunabilir.
uyumak (Ali, geçmiş).
Yukarıdaki birinci derece haber mantığında gösterilen satıra göre Ali uyuma eylemini geçmişte yapmıştır. Elbette bu gösterim daha önceki gösterime göre daha detaylıdır ve doğal dil işlemesi yapacak bilgisayar için daha kıymetlidir çünkü ilk gösterimde bilgisayarın olay zamanı hakkında fikri yokken artık olayın zamanını parametre olarak almaktadır.
Ancak burada bir problem olayın modellenmesi sırasnda kullanılan yöntemin ne kadar bilgi içerebileceğidir. Örneğin yukarıdaki gösterime göre uyuma eyleminin geçmişte olduğunu tutuyoruz ancak bilindiği üzere “uyudu” fiili aslında söyleyen kişinin uyuma eylemi yapılırken orada olduğunu göstermektedir (örneğin uyumuş fiili de geçmiş zamanlıdır). Dolayısıyla bu ilave bilginin de tutulması gerekir.
Yukarıdaki basit örnekten anlaşılacağı üzere bir anlambilimsel model geliştirildiğinde ve kullanılırken doğal dilde çok basit ve kısa ifadelerle anlatılabilen bilgilerin analiz edilip çeşitli alternatifler ile bir ortamda tutulması gerekir.