|
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. Bu
yazıyla ilgili görüş ve yorumlarınızı yorum@teknoTurk.org
ve
unalts@hotmail.com
adreslerine
yollayabilirsiniz.
|