Türkçe İçin Doğal Dil İşleme  Çalışmaları – 2

(Anlamsal Analize Temel Oluşturan Morfolojik Analiz Modeli)

 

Yapay zeka çalışmalarının yıllardan beri amaçlarından biri, doğal dilde söylenenlerin ne anlatmak istediğini anlamaktır.

 

Doğal dili bilgisayarların anlaması problemi bir takım belirsizlikler içerdiğinden  ve doğal dilin kendisine has özelliklerinden dolayı anlayan bir program yazmak kolay değildir.  Örneğin; “Patron işçileri sürdü.” Cümlesindeki “sürmek” fiili “kovmak” ,“Bir yere yapıştırma amaçlı veya diğer amaçlarla yaymak” gibi anlamlara gelebilmektedir. Bu cümleden de görüldüğü gibi Türkçe’de bir cümleden birbiriyle anlamsal yakınlığı olmayan bir çok anlam çıkarmak mümkündür. Bu durum  Türkçe cümlelerden doğru anlamı çıkartmayı bilgisayara öğretme işinin ne kadar zor olduğunu ortaya koyar.

 

Doğal dilden bilgisayar tarafından anlam çıkarılırken kullanılacak olan kriterlerden biri, Schank’ın Turing’in Taklit Oyunu (Turing’s Imitation Game (Explanation Game)) ışığı altında oluşturduğu testtir.[1] Bu test, bulunulan durumu içeren bilgiye sahip programın sorulara doğru cevabı vermesi ve verilen cevabın sebebini sahip olduğu bilgiler çerçevesinde belirtmesidir. Bu türde bir açıklama yapabilme yeteneği, yetenekli uzman sistemler ile az yeteneklileri birbirinden ayıran önemli özelliklerden biridir. Bu test bilgisayara sağlanan bilgiyi başka sözcüklerle açıklama yeteneğidir. Bir gazetedeki bölümü, içerdiği herhangi bir bilgiyi kaybetmeden başka şekilde ifade edebilen  programın makaleyi anladığı söylenebilir.

 

Çalışmamda bu test ışığında Türkçe için bir bilgisayar anlaması modeli oluşturulmaya çalışılmış ve ilköğretim 1,2,3.sınıf düzeyindeki  matematik problemlerin bilgisayar programı tarafından anlaşılıp çözülmesi hedeflenmiştir. Bu problemlere  örnekler aşağıda görülmektedir: 

“Ahmet’in 15 kalemi vardır. Ahmet kaç kalem daha alırsa 20 kalemi olur?

“Gamze 5 elmayı yerse Ahmet’in 10 elması kalıyor. Gamze’nin kaç elması vardır ?

 “Ahmet’in 15 balonu vardır. Mehmet’in  5 balonu vardır. Ahmet , Mehmet’e kaç balon verirse Mehmet’in 18  balonu olur?”

“Hasan dört kişiden beşer kalem aldı. Kaç kalemi oldu?”

“Ali’nin 15 kalemini 3 arkadaşına paylaştırdı. Arkadaşlarının kaçar kalemi oldu?”

Bu hedef doğrultusunda yazılan programın doğru çözüme ulaşması için sırasıyla; problemi anlaması, bunun için cümlelerin morfolojik analizi gerçekleştirmesi ve bu analizden elde ettiği bilgilerle bir bilgi tabanı oluşturabilmesi,  bilgi tabanı yardımıyla anladıklarını matematiksel formüllerle ifade etmesi, formülleri çözerek sonuca ulaşması  modüllerinden oluşturulmuştur. Sistem aşağıdaki modüllerden oluşmaktadır:

 

Şekil 1. Türkçe için bilgisayar anlaması sistemi yapısı

 

Burada daha çok morfolojik analiz modülü tanıtılacak anlamaya ilişkin kısımlar takip eden yazılarda tanıtılacaktır. Morfolojik Analiz modülü  aşağıdaki modüllerden oluşmaktadır:

 

Şekil 2. Sistemin morfolojik analiz modülü

Morfolojik Analizi oluşturan modüllerin görevleri ve  bir uygulamadaki görünümü aşağıdaki gibidir:

Giriş modülü: Bu modülde analiz edilecek olan metin giriş olarak alınır.

 

 Şekil 3. Morfolojik analizde giriş metninin alınışı

Dilsel analiz modülü: Bu modülde öncelikle anlamsal analizde kullanılmak üzere cümlelerdeki sayısal ifadeler tespit edilir ve rakamsal olarak yazılmamış olan sayısal ifadeler rakamsal hale çevrilerek metin yeniden belirlenir. Bu işlem için metindeki cümleler bulunur. Cümlelerdeki sayısal ifadeler eğer rakamsal biçimde yazılmışlarsa sayısal ifade olarak belirlenirler. Rakamsal olmayan sayısal ifadeleri  (ör:“yirmi sekiz”) tespit etmek için rakamsal olan ilk ifadeden başlanıp rakamsal olmayan ilk ifadeye kadar olan kelimeler bulunup birleştirilir. Böylece rakamsal olmayan sayısal ifadeler de elde edilmiş olur. Daha sonra bunlar rakamsal ifadeye çevrilir. Sonra, metindeki kelimeler (iki boşluk karakteri arasındaki ifadeler) bulunup ve veritabanıyla karşılaştırılır. Bu işlem için yazılan metindeki kelimelerin her biri “kelimeler” veritabanındaki  kelimeler ile karşılaştırılır. Kelimelerin veri tabanında olması halinde kelimenin kök kısmı bulunmuş olur ve veri tabanından kökün türü elde edilir. Eklerin tespit edilmesi için yazılan metindeki kelimelerin kök kısmından sonraki bölümler ele alınıp ekler grubu şeklinde düşünülür. Bunun sebebi Türkçe’nin sondan eklemeli diller grubuna girmesidir. Türkçe’deki bazı eklerin diğer ekler içerisine gömülü olarak yer alması az harften oluşan ekleri, çok harften oluşan eklerden ayırmayı çok zorlaştırmaktadır. Örneğin “yaptırmak” fiilindeki “tır” eki “ettirgenlik” ekidir. Ancak sistem tarafından bu ekin bünyesinde “tı” “zaman eki” de varmış gibi algılanabilir. Dolayısıyla ekler grubundaki ekleri ayırabilmek için “ekler” veritabanındaki eklerden en çok harfe sahip olan eklerden başlanır ve ekler grubundaki ekler sırayla bu eklerle karşılaştırılır. Türkçe’deki en çok harfe sahip olan ekler  dört harflidir (“(ı)mız”, “(i)miz”, vb.). Karşılaştırma sonuncunun olumsuz olması karşılaştırılacak olan ekin harf sayısını bir azalmasına sebep olur. Böylelikle ekler grubundaki ifade veri tabanında sırasıyla 4, 3, 2, 1 harfli eklerle karşılaştırılır. Kelimeler  veritabanında olmayan kelime ve ekler veritabanında olmayan ekler için yorumlama modülü çağrılır. Dilsel analiz, veritabanında olmayan kelime ve ek  kalmayıncaya kadar devam eder.

 

Yorumlama modülü: Bu modülde, dilsel analiz sonucunda veri tabanında olmayan kelimeler ve ekler tespit edilir.

 

Veri tabanı güncelleme modülü: Bu modül iki kısımdan oluşmaktadır:

 

1. Veri tabanında olmayan kelimeler alt modülü: “Kelimeler” veri tabanında olmayan kelimeler bu modül tarafından görüntülenir ve kullanıcıdan kelimenin türünün belirlenmesi beklenir. Türü belirlenen kelime “Kelimeler”  veri tabanına eklenir ve veri tabanında olmayan ekler alt modülüne geçilir.

 

Şekil 4. Veri tabanında olmayan kelimeler alt modülü

2. Veri tabanında olmayan ekler alt modülü: “Ekler” veri tabanında olmayan ekler bu modül tarafından görüntülenir ve kullanıcıdan ekin türünün belirlenmesi beklenir. Türü belirlenen ek “ekler”  veritabanına eklenir. Bu modülden sonra metin güncellenmiş veri tabanındaki kelime ve ekleri kullanarak dilsel analiz yapmak üzere geri besleme yaptırılır.

 

Şekil 5. Veri tabanında olmayan ekler alt modülü

Sonuç modülü: Dilsel analizin sonucunda tüm kelime ve eklerin bulunmasından sonra  sonuç modülü çağrılır ve bu modül metnin tüm kelimelerinin ve eklerinin morfolojik analiz sonuçlarını görüntüler.

Şekil 6. Morfolojik analiz sonuç modülü

Sonuç modülü ile cümlenin morfolojik analizi tamamlanmış, anlamsal analizi için gereken veriler elde edilmiştir. Bu verilerin mümkün olduğu kadar detaylandırılması (Aliàisimàözel isim gibi)  oluşturulacak olan bilgi tabanının sağlam temele oturmasını sağlayacak ve programın cümleye doğru anlam vermesine yardımcı olacaktır.

Sonuç olarak, gerek morfolojik analiz, gerekse anlamsal analiz alanında yapılacak çalışmalar Türkçe’yi bilgisayar tarafından anlaşılabilir bir dil haline getirecek ve bilişim sektöründe Türkçe’nin kullanılırlığını arttıracaktır.

Kaynakça:

1. Quillian, R. The Teachable Language Comprehender, Communicationsof the ACM,12, 459-475.

Ünal Çakıroğlu

Bu yazıyla ilgili görüş ve yorumlarınızı yorum@teknoTurk.org ve unalts@hotmail.com adreslerine yollayabilirsiniz.