Kelimenin Cümle İçindeki Durumuna Bakılarak Kök

4/10/2014
Kelimenin Cümle İçindeki Durumuna Bakılarak Kök ve Eklerine Ayrılması
Kelimenin Cümle İçindeki Durumuna Bakılarak Kök ve Eklerine Ayrılması
Yıldız Teknik Üniversitesi, Bilgisayar Bilimleri ve Mühendisliği Bölümü, Yıldız,80750, İstanbul, TÜRKİYE
Seyhan İŞLER, M. Fatih AMASYA, Emin İslam TATLI
{isler_seyhan, f_amasyali, [email protected]}
Özet. Bu çalışmada, cümle içindeki kelimelerin eklerine ayrılması için yeni bir yaklaşım sunulmuştur. Türkçe'nin
eklemeli bir dil olması sebebiyle kök sözcüklerinin sayısı, tüm kelimelere göre oldukça düşüktür. Ayırma
işleminde sadece kökleri içeren bir veri tabanı kullanıldığından işlem hızı yüksek olan bir uygulama
gerçekleştirilmiştir. Kelimenin eklere ayrılması sırasında işlemler soldan sağa yapılır. Yapılan ilk işlem kelimenin
mümkün olan her kökünün bulunmasıdır. Daha sonra, bulunan bu köklere eklenen yapım ekleri ve çekim ekleri
bulunur. En son adımda ise bulunan çözümler için, sentatik ve semantik analiz yapılarak gerçek çözüm belirlenir.
Sonuç olarak; bu çalışma, Türkçe doğal dil işleme projelerinde yardımcı bir modül olarak kullanılabilecektir.
A Word Parsing Algorithm Based On Its Function In A Sentence
Abstract. In this paper, a new approach for a word parsing algorithm based on the function of the word in a
sentence has been presented. Turkish is an agglutinative language with word structures formed by productive
affixations of derivational and inflectional suffixes to root words. In this study, the parsing operation is made from
left to rigth. Firstly, the possible roots of the word are found. Then, derivational and inflectional suffixes are also
found. After that, the syntatic and semantic analysis is made on the possible roots and stem solutions to define
the rigth solution. As a result, this project would be used as a help module for Turkish natural language
processing applications since the search time is very short on a small-sized database(including only roots).
ÖZGEÇMİŞLER
Seyhan İŞLER
Yıldız Teknik Üniversitesi Bilgisayar Mühendisliği 4. sınıf öğrencisidir. Ara proje olarak Darülaceze Bilgi Sistemini
yapmıştır.
M. Fatih AMASYA
Yıldız Teknik Üniversitesi Bilgisayar Mühendisliği 4. sınıf öğrencidir. Ara proje olarak “Yüz İfadelerini
Anlamlandırma” başlığı altında bir görüntü işleme projesi yapıp ISCIS XV ‘de bu projeyi bildiri olarak sunmuşlardır.
Emin İslam TATLI
Yıldız Teknik Üniversitesi Bilgisayar Mühendisliği 4. sınıf öğrencidir. Ara proje olarak “Yüz İfadelerini
Anlamlandırma” başlığı altında bir görüntü işleme projesi yapıp ISCIS XV ‘de bu projeyi bildiri olarak sunmuşlardır.
file:///C:/Users/mypc/Downloads/ek_kok.htm
1/10
4/10/2014
Kelimenin Cümle İçindeki Durumuna Bakılarak Kök ve Eklerine Ayrılması
1 Giriş
Kelimenin cümle içindeki durumuna bakılarak kök ve eklerine ayrılması; doğal dille yazılmış metinler üzerinde
çalışan bir sistemin önemli bir bileşenidir. Türkçe sondan eklemeli bir dil olduğundan dolayı; Türkçe üzerine doğal
dil işleme çalışmalarında sözcüklerden eklerin atılması denildiğinde, kastedilmek istenen hep son-eklerin atılması
olmuştur.
Gövdeleme algoritmalarında temel olarak iki yöntem izlenmektedir. İlk yöntemde, kelime soldan sağa doğru harf
harf eklenerek veri tabanında aranmaktadır. Diğer yöntem ise kelimenin sağdan sola doğru harf harf kırpılarak
incelenmesidir. Bu çalışmada, daha iyi sonuç veren ilk yöntem kullanılmıştır.
Sunulan yaklaşımda, ilk olarak kelimenin olası tüm kökleri bulunmaktadır. Örneğin; “ağacı” kelimesi için “ağ”,
“ağa” ve “ağaç” kelimeleri kök olarak bulunmaktadır. Türkçe’deki birçok kelime, kelime köküne yapım eki
eklenerek türetilir. Türkçe’nin bu özelliğinden dolayı, biz kök bulurken karşılaştırma için kullandığımız veri tabanını
sadece kelime köklerinden oluşturduk. Örneğin, veritabanında “odun” kelimesi yer alırken “oduncu” kelimesi yer
almamaktadır. Şayet türetilen tüm kelimeler de bu arama veritabanında tutulsaydı, veri tabanının şişmesi ve arama
zamanında artış problemleriyle karşılaşılırdı. Bizim yöntemimizin getirdiği avantajlardan biri de budur. Olası tüm
kökler için, kelimenin içerdiği yapım ekleri rekürsif bir algoritma kullanılarak elde edilir. Örnek; “üzgünüm” kelimesi
için “-gü” ve “-gün” yapım ekleri bulunur. Yapım ekleri bulunduktan sonra iki farklı durum söz konusudur. Eğer
yapım ekleriyle elde edilen kelime isim soylu ise kelimenin içerdiği isim çekim ekleri araştırılır. Şayet fiil soylu ise
çekim ekleri ve fiilimsi ekleri araştırılır. Rekürsif algoritmalar ve Türkçe’deki eklerin birbirini içermesinden dolayı
(örnek: li, lik gibi), bu işlemler sonucunda elimizde birden fazla çözüm bulunmaktadır. Bu çözümlerden bir kısmı,
kelimenin tamamını içermediğinden dolayı zaten elenir. Geriye kalan olası çözümler içerisinden doğru çözümü
bulurken ise kelimenin cümle içerisindeki durumuna bakılır. Örneğin, “evi” kelimesi için “ev” kök olarak ve ”–i” eki
ise ya hal eki yada iyelik eki olarak bulunur. Eğer cümlede “Ayşe’nin evi” benzeri bir tamlama varsa bunun iyelik
eki olduğu anlaşılır. “Şu evi beğendim” cümlesinde ise “–i” ekinin hal eki olduğu anlaşılır.
İkinci bölümde Türkçe’deki kök ve ek ilişkisinden, üçüncü bölümde ise projede izlenen genel adımlardan
bahsedilmiştir. Proje gerçeklendikten sonra yapılan deneysel çalışmalar hakkında bilgi dördüncü bölümde verilip
beşinci bölümde projede yapılanlar genel olarak bu bölümde özetlenmiştir.
2 Türkçe’de Kök ve Ek İlişkisi
Sözcük çekimleri; zamanlar ve basit köklerden yeni sözcüklerin türetilmesi, sözcük köklerinin sonuna ek ya da
eklerin bitiştirilmesiyle gerçekleşir. Kök-ek bitişmesinde, yabancı sözcüklerin de dilimize girmesiyle bazi istisnai
durumlar olmakla birlikte, sıra ve biçimi belirleyen kesin kurallar bulunmaktadır. Türkçe’deki bir kelime genel olarak
aşağıdaki yapıdan oluşmaktadır:
Sözcük kökü + yapım ek(ler)i + çekim ek(ler)i
Yapım ekleri, sözcük köklerine bitişerek sözcüğün hem anlamını hem de türünü değiştirirler. Çekim ekleri ise
sözcüğün anlamını değiştirmemekle birlikte, türünü değiştirebilmektedir. Fakat hiçbir çekim eki isim soylu
sözcüğe bitişerek fiil soylu sözcük, ya da fiil soylu sözcüğe bitişerek isim soylu sözcük türetemez; yalnızca bir
addan zamir türetmek gibi, isim soylu sözcüklerin alt grupları arasında tür geçişi yapabilir.
2.1 Yapım Eklerinin Köke Bitişmesi
Yapım ekleri başlıca dört ana gruba ayrılmıştır: isimden isim türeten, isimden fiil türeten, fiilden isim türeten ve
fiilden fiil türeten yapım ekleridir. Yapım eklerinin sözcük köklerine bitişmesini belirleyen kural ise sözcüğün isim
soylu mu yoksa fiil soylu mu olduğu, eklenecek yapım ekinin hangi türdeki sözcüklere bitişebileceği ve
sonucunda hangi türde sözcük türeteceği bilgisidir. Türetme kuralları zincirleme geçişlere de izin vermektedirler.
2.2 Çekim Eklerinin Kök yada Gövdeye Bitişmesi
Türkçe'de yer alan tüm sözcükler, isim soylu ya da fiil soylu sözcüklerdir. İsim soylu sözcüklere; isim çekimleri,
bileşik isimler, vs.. sayabiliriz. Fiil soylu sözcükler de kökü veya gövdesi fiil olan ve fiil çekim eklerinden herhangi
birisini alan sözcüklerdir.
2.2.1 Fiil Çekimleri
file:///C:/Users/mypc/Downloads/ek_kok.htm
2/10
4/10/2014
Kelimenin Cümle İçindeki Durumuna Bakılarak Kök ve Eklerine Ayrılması
Fiil çekim ekleri; kurallı bileşik fiil ekleri, zaman ekleri ve şahıs ekleri olmak üzere üç kısma ayrılabilir. Zaman
ekleri ise kurallı zaman ekleri ve kip ekleri olmak üzere iki ana gruba ayrılmaktadır. Aynı zamanda, bileşik fiillerin
bulunması ile ilgili kurallar da çalışmaya dahil edilmiştir.
2.3.1 İsim Çekimleri
Türkçe Gramerinde, genel olarak bir isim çekimi şu şekilde olmaktadır:
İsim + (ÇoğulEki | -) + İyelikEkleri + HalEkleri + (EkFiilEkleri | KiEki | -) +ŞahısEkleri
Yukarıdaki kuralda; “|” (ya da) ayıracı, içine alınan ekin seçmeli olduğunu göstermektedir. “ÇoğulEki” kelimenin
birden fazla olduğunu belirten ekleri, “İyelikEkleri” aitlik belirten ekleri, HalEkleri ismin hallerini belirten ekleri,
“EkFiilEkleri” ‘-idi, -imiş, -dir’ gibi ekleri, “KiEki” dolaylı anlatımda kullanılan ‘-ki’ ekini ve “ŞahısEkleri” ise şahıs
eklerini göstermektedir.
3 Proje Adımları
Projede izlenen adımlar Şekil 1'de gözükmektedir.
3.1 Olası Köklerin Bulunması
Bu adımda kelime metindeki durumundan bağımsız olarak tek başına incelenmektedir. Kök_bul modülünde;
soldan sağa doğru tek tek harfleri bitiştirerek oluşan kelime dizisinin, sadece kökleri içeren veri tabanında olup
olmadığı araştırılır. Örneğin; ağaç kelimesi için "ağ", "ağa" ve "ağaç" kökleri bulunmaktadır. Burada harf harf
ilerlerken dikkat edilmesi gereken nokta, "sessiz benzeşmesi" ve "sessiz yumuşaması" olaylarının gerçekleşme
ihtimalidir. Bu nedenle, her yeni harf eklendiğinde oluşan bu kelime dizisinde benzeşme ve yumuşama olma
ihtimaline bakılır. Örneğin; "ağacı" kelimesi için yumuşama olayını düşünmeden bulunabilecek kökler "ağ" ve
"ağa" dır. Oysa yumuşama ihtimalini de göz önüne katarak, gerçek bulunması gereken kök olan "ağaç" kökü de
bulunur. Diğer taraftan kelime kökünde yardımcı ses ve kaynaştırma harfinin olması mümkün olmadığından bu
durum incelenmemiştir.
3.2 Yapım Eklerinin Bulunması
Yapım_ekleri_bul modülü beş yerde çağrılmaktadır. Birincisi, kökbul modülünden çıkan tüm olası köklerin
yapım_ekleri_bul modülüne gönderildiği yer; ikincisi rekürsif algoritma kullanıldığından kendi içinde çağırıldığı
yerdir. Diğerleri ise kelimede sessiz benzeşmesi, kaynaştırma yada yardımcı ses olayları görülmesi ihtimaline
karşılık çağrıldığı yerlerdir. Örneğin; "okuyucu" kelimesinde "oku" kelime kökünden sonra "y" kaynaştırma harfi ve
file:///C:/Users/mypc/Downloads/ek_kok.htm
3/10
4/10/2014
Kelimenin Cümle İçindeki Durumuna Bakılarak Kök ve Eklerine Ayrılması
daha sonra "ucu" fiilden isim yapım eki gelmiştir. Ayrıca, yumuşama olma ihtimalinin kontrol edilmesine gerek
yoktur. Çünkü eğer yumuşama olayı gerçekleşmişse bu zaten kök_bul modülünde bulunarak yapım_ ekleri_ bul
modülüne gönderilmiştir.
Bu modülde de kök_bul modülünde olduğu gibi, ekler soldan sağa harf harf bitiştirilerek aranmaktadır. Örneğin,
"tuzluk" kelimesi için "tuz" kökü bulunduktan sonra sırasıyla “l, lu..” kelime dizilerinin ek olup olmadığı araştırılır.
Ekleri araştırmak üzere iki tane dosya kullanılmaktadır. Gelen kökün türüne göre ya isimden yeni kelime türeten
isim_yapım_ekleri dosyasında ya da fiil_yapım_ekleri dosyasında bu ek parçasının olup olmadığı araştırılır.
Yapım_ekleri_bul modülünde her kök için aşağıdaki adımlar tekrarlanır:
1.
Bu iki dosyadaki eklerden kelime içinde var mı diye bakılır.
2.
Eğer ek yoksa aranan kelime dizisine bir karakter daha eklenerek tekrar 1.adıma dönülür.
3.
Eğer ek varsa; bu türemiş kelime kaydedilir ve başka bir yapım eki olma ihtimalinden dolayı, tekrar
1.adıma gönderilir. Ayrıca ekin doğru bulunmamış olduğu kabul edilerek sanki ek bulunmamış gibi
2.adıma dönülür. Örnek olarak tuzluk kelimesinde ilk olarak “-lu” eki bulunur ve “-luk” ekinin de bulunması
için 2. adıma dönülür.
4.
Toplam kelime uzunluğuna erişinceye veya artık ek bulunmayana kadar işleme devam edilir.
Ayrıca adım aralarında sessiz benzeşmesi, yumuşaması, kaynaştırma harfi ve yardımcı ses olaylarının da
kontrolü yapılır.
3.3 Çekim Eklerinin Bulunması
Bu adımda, yapım_ekleri_bul modülü sonucu elde edilen kelimenin isim soylu mu yoksa fiil mi olduğuna göre ya
isim_cekim_bul yada sırasıyla kurallı_bileşik_fiil ve fiil_cekim_bul fonksiyonuna yollatılır.
3.3.1 İsim_çekim_bul modülü
Bu fonksiyon üç fonksiyondan oluşmaktadır:
a.
İlk fonksiyonda çekim eki olarak çoğul ekinin olup olmadığı araştırılır. Eğer çekim eki varsa ve kelime
sonu ise kelime tamamlanmıştır. Kelimenin sonuna gelinmemişse ikinci fonksiyona yollanır. Bu birinci
fonksiyonda dikkat edilmesi gereken nokta, “arabaları” örneğinde olduğu gibi “-ler” ekinin çoğul eki değil
de “-leri” 3. çoğul iyelik ekinin olduğu durumdur. Bu duruma çözüm bulmak için “-ler” çoğul eki bulunsa
bile sanki bulunmamış gibi, çoğul eksiz kelime direkt olarak ikinci fonksiyona yollatılır.
b.
İkinci fonksiyonda ise, iyelik çekim eklerinin olup olmadığı araştırılır. Eğer varsa ve kelimenin sonuna
gelinmişse o zaman cevaba ulaşılmıştır. Buradaki önemli nokta, eğer 3. tekil şahıs iyelik eki bulunmuşsa
ve kelimenin sonuna gelinmişse bunun aynı zamanda “-i” hal eki olabileceği durumudur. Programda bu da
göz önünde bulundurulmuştur. İyelik eki bulundu ise ama kelimenin sonu değilse o zaman üçüncü
fonksiyona yollatılır. Aynı zamanda “-m” , “-miz” iyelik eklerinde olduğu gibi bulunan iyelik eki seçiminin
doğru olmaması ihtimali sebebiyle; sanki iyelik eki bulunmamış gibi tekrar indis üzerinden ikinci
fonksiyona yollatılır. Ayrıca iyelik eki hiç bulunmadıysa da direkt üçüncü fonksiyona yollatılır.
c.
Üçüncü fonksiyonda ise ilk önce bu tüm kelime içerisinde “-ki” eki içeren bir yapı olup olmadığı araştırılır.
Türkçe’de bir “-ki” yapısı Tablo 1'deki gibi olabilmektedir:
I
II
III
IV
V
[ (- | ) | ( e + iken ) | ) + ki + ]
( de
ken
ile
iken
ler
-in
lerin
Tablo 1. -k i yapısı
file:///C:/Users/mypc/Downloads/ek_kok.htm
4/10
4/10/2014
Kelimenin Cümle İçindeki Durumuna Bakılarak Kök ve Eklerine Ayrılması
Bu tabloya uygun rekürsif algoritma geliştirilmiş ve eğer varsa kelime içerisindeki “-ki” ekini içeren yapılar
bulunmuştur. Daha sonraki işlem, hal eklerinin (“-e, -i, -de, -den, -le, -in”) bulunmasıdır. En son adım, bulunan hal
eklerine bağlı olarak son eklerin bulunmasıdır. Son eklerin bulunmasında ise aşağıdaki adımlar izlenir:
i.
Şahıs ekleri araştırılır. Eğer ek bulunamadıysa ii. adıma gidilir. Eğer ek bulunduysa zaten kelimenin
sonudur ve çıkılır.
ii.
Ek fiil zamanları (“-dir, -se, -miş, -di”) araştırılır. Ek bulunamadıysa iii. adıma gidilir. Eğer ek bulunduysa,
ek fiilden sonra şahıs eki gelme ihtimali olduğundan şahıs ekleri de araştırılır.
iii.
“-ken” çekim ekinin varlığı araştırılır. Eğer ek bulunamadıysa kelime gövdesinin yanlış seçildiği anlaşılır.
3.3.2 Kurallı_Bileşik_Fiil Modülü
Türkçe’de dört çeşit kurallı bileşik fiil bulunmaktadır. Bunlar; yeterlik fiili (örnek: okuyabilmek), tezlik fiili (örnek:
okuyuvermek), sürerlik fiili (örnek: okuyadurmak) ve yaklaşma (örnek: okuyayazmak) kurallı bileşik fiilleridir. Bu
fonksiyonda kelimenin kurallı bileşik fiil eklerinden bir tanesini alıp almadığına bakılır. Aynı zamanda kelimenin
olumsuzluk eki olan “–me, -ma” ekini alıp almadığı da bu modülde incelenmektedir.
3.3.3 Fiil_Çekim_Bul Modülü
Türkçe’de bir fiil gövdesine maksimum iki tane zaman eki ve bir tane şahıs eki yani toplam üç çeşit ek gelebilir.
Buna göre; bu zaman ekinin ve çekim ekinin geliş sırası, gövde+zaman+şahıs, gövde+zaman+zaman+şahıs yada
gövde+zaman+şahıs+zaman şeklinde olabilmektedir. Ayrıca fiil gövdesi hiçbir zaman sadece şahıs eki alamaz.
Fiil_çekim_bul modülünde izlenen yol; kelimenin sonuna gelinene kadar, kelimede yukarıda belirtilen üç çeşit ek
bulunana kadar yada ek bulunmayana kadar zaman ve şahıs eklerinin aranmasıdır. Ek bulundukça, ek eklenmiş
kelime kaydedilir. Ayrıca ara adımlarda sessiz benzeşmesi, yumuşaması, kaynaştırma harfi, koruyucu ünsüz ve
yardımcı ses olaylarının da kontrolü yapılır.
Buna ek olarak; türemiş bir fiil gövdesinin fiilimsi (isimfiil, sıfatfiil, zarffiil) olma ihtimali bulunduğundan dolayı bu
kelimede fiilimsi ekinin olup olmadığı da ayrı bir modül halinde incelenir.
4.
Analiz Modülü
Kelimenin kök ve eklerinin ayrıştırılması işlemi sonucunda çeşitli şekillerde ek ve köklerine ayrılmış kelime dizileri
elimizde bulunmaktadır. Bunlardan kimisi zaten kelime boyuna eşitlenmediği için ara işlemler sırasında elenmiştir.
İşte analiz kısmında, bunun dışında kalan kök ve eklerin çeşitli kombinasyonları sonucu birleşirken oluşturdukları
ama Türkçe dilbilgisi yapısına uygun olmayan kelime dizileri elenecektir. Eleme işlemi sırasındaki kriter, kelime
dizisindeki eklerin birleşme sırasındaki birbirlerine uyumluluklarıdır. İnceleme sırasında işlem soldan sağa doğru
yapılmaktadır.
Eğer elde edilen string, isim soylu ise analiz modülü sırasıyla yapım_ekleri_analizi, filimsi_eki_analizi ve
isim_çekim_ekleri_analizi parçalarından; eğer fiil soylu ise yapım_ekleri_analizi ve fiil_çekim_ekleri_analizi
kısmından oluşmaktadır.
1.
Yapım_ekleri_analizi Modülü
Bu fonksiyon, kelimenin içerisinde yapım eki olduğu sürece, kelimenin sonuna
gelinmediği sürece ve eklenen eklerin bitişmesinin kurallara uygun olduğu sürece
kelimeyi inceler. Bir ekin uygun olması demek; eklendiği kelime gövdesiyle ilişkili olması,
yeni bir anlam katacak şekilde birleşmiş olması ve kullanılan bir türemiş kelime üretmesi
gerekmektedir. Projenin başında da belirtildiği gibi bu çalışmanın en önemli özelliği,
klasik kök ve ek araması sırasında çok geniş bir veri tabanı üzerinde arama yapılmak
zorunda kalınmayışı ve sadece köklerden oluşan bir veritabanının kullanılmasıdır. Böyle
bir veri tabanı kullanımı sonucu “karın” örneğinde olduğu gibi “kar”, “karı”, “karın” gibi ara
kelimeler de yakalanmaktadır. Yalnız bu durumda ortaya şöyle bir durum da çıkmaktadır.
“Ok” ve “okul” kelimesinde olduğu gibi Türkçe’deki eklerin çeşitliliği sebebiyle bir kelime
değişik kök ve eklerle farklı şekillerde oluşturulabilmektedir. Örneğin “ok-u-l (isimyardımcı ses-isimden fiil yapım eki)” ve doğru olan “oku-l (isim-yapım eki)” kelimesinde
olduğu gibi her iki yapı da Türkçe dilbilgisine uygundur, ancak birinci yapı
file:///C:/Users/mypc/Downloads/ek_kok.htm
5/10
4/10/2014
Kelimenin Cümle İçindeki Durumuna Bakılarak Kök ve Eklerine Ayrılması
kullanılmamaktadır. Bu duruma çözüm bulmak için, Türkçe’deki tüm kelimelerin olduğu
bir veri tabanına başvurulması zorunludur. Ve ekin kelime gövdesine eklenmesi sonucu
oluşan yeni türemiş kelimenin “tüm_kelimeler” veri tabanında olup olmadığına
bakılmaktadır. Aynı zamanda burada dikkat edilmesi gereken nokta, kelime gövdesi ile
oluşturulan yeni türemiş kelimenin ikisinin de kökler veri tabanında olması durumunda bu
oluşturulan yeni türemiş kelimenin doğru türetilmediği bilgisidir. Analiz sırasında bu da
göz önünde tutulmuştur. Ayrıca ek sonunda üretilen yeni türemiş kelimenin türü ile
“tüm_kelimeler” veri tabanında bulunan kelimenin türleri de karşılaştırılmaktadır. Burada
dikkat çekilmesi gereken nokta; çok geniş kapsamlı tüm kelimeler veri tabanına sadece
tüm işlemlerin sonucunda analiz kısmında girilmesinin, işlem için gereken sürenin çok
kısalmasını sağladığıdır.
2.
Fiilimsi_eki_analizi Modülü
Bu fonksiyonda, bir fiilimsi ekinin doğru olarak kelimeye bitişmesi için gerçekleşmesi gereken kurallar çıkarılmıştır
ve bitişme olayının bu kurallara uyup uymadığı analiz edilmiştir. Bu kurallar aşağıdaki gibidir:
a.
“-r” sıfat fiil ve zarf fiil eki için, “-r” ekinden önceki kelime gövdesinin son harfi ya kaynaştırma harfi ve
koruyucu ünsüz dışındaki herhangi bir sessiz harf yada yardımcı ünsüz olmalıdır.
b.
“-r” eki dışında sessizle başlayan fiilimsi ekleri için; bu ekten bir önceki ek kaynaştırma harfi, koruyucu
ünsüz yada yardımcı ses olmamalıdır.
c.
Sesli ile başlayan fiilimsi ekleri için, bu ekten önceki kelime gövdesinin son harfi ya kaynaştırma harfi ve
koruyucu ünsüz dışındaki herhangi bir sessiz harf yada “y” kaynaştırma harfi olmalıdır.
1.
İsim_çekim_ekleri_analizi Modülü
Bu fonksiyonda, her isim çekim eki için bitişme kuralı çıkarılmıştır. Kelimenin sonuna kadar, teker teker bulunan
bu isim çekim ekleri alınarak, ilgili kurala uyup uymadığına bakılır ve uymuyorsa elenir. Bu kurallar aşağıdaki
gibidir:
a.
Çoğul eki için: Bu ekten önceki ek kaynaştırma harfi, yardımcı ses yada koruyucu ünsüz olmamalıdır.
b.
İyelik ekleri için:
·
3. tekil iyelik eki için, bu ekten önceki kelime gövdesinin son harfi ya kaynaştırma harfi ve koruyucu
ünsüz dışındaki herhangi bir sessiz harf yada “s” kaynaştırma harfi olmalıdır.
·
3. çoğul iyelik eki için bu ekten önce kaynaştırma harfi , koruyucu ünsüz yada yardımcı ses gelmemelidir.
·
Diğer iyelik ekleri için, bu ekten önceki kelime gövdesinin son harfi sesli olmalıdır.
a.
Hal ekleri için:
·
Yönelme (“-e”) ve belirtme (“-i”) hal eki için, bu ekten önceki kelime gövdesinin son harfi ya kaynaştırma
harfi ve koruyucu ünsüz dışındaki herhangi bir sessiz harf yada “y ve n” kaynaştırma harflerinden biri
olmalıdır.
·
Bulunma hali ve ayrılma hali için, daha önceden iyelik eki almış bir kelime ise ve bu ek iyelik eki üçüncü
şahıs eki ise, o zaman bu hal eklerinden önce “n” koruyucu ünsüzü gelmelidir. Diğer durumda yani iyelik
eki almamış durumda ise sadece bu eklerden önce kaynaştırma, yardımcı ses yada koruyucu ünsüz
gelmemelidir.
·
Tamlayan eki (“-in”) eki için, bu ekten önceki kelime gövdesinin son harfi ya kaynaştırma harfi ve koruyucu
ünsüz dışındaki herhangi bir sessiz harf yada “n” kaynaştırma harfi olmalıdır
·
Birliktelik eki (“ile, -le”) için ise y koruyucu ünsüzü yada “y” koruyucu ünsüzü dışındaki bir ünsüz
gelmelidir.
a.
Ki li yapıdaki her “-ki” bloğu için sırasıyla aşağıdaki analizler yapılır:
file:///C:/Users/mypc/Downloads/ek_kok.htm
6/10
4/10/2014
Kelimenin Cümle İçindeki Durumuna Bakılarak Kök ve Eklerine Ayrılması
·
Varsa yukarıda belirtildiği gibi hal ekleri analizi yapılır.
·
Varsa “-ken” eki analizi yapılır.
·
“-Ki” ekinden bir önceki ekin yardımcı ses, koruyucu ünsüz yada kaynaştırma harfi olmaması gerektiği
araştırılır.
·
Varsa çoğul eki analizi yapılır.
a.
Ek fiilin zamanı için:
·
Ek fiilin geniş zamanı için, bu ekten bir önce kaynaştırma, yardımcı ses yada koruyucu ünsüz
gelmemelidir
·
Diğer ek fiiil zamanları için ise bir önceki ek ya koruyucu ünsüz yada koruyucu ünsüz dışındaki diğer
sessiz harflerden bir tanesi ile biten bir ek olmalıdır.
a.
Ek fiilin şahıs eki için:
·
1. tekil ve çoğul şahıslar için, bir önceki ek ya “y” kaynaştırma harfi yada bu kaynaştırma harfi dışındaki
diğer sessiz harflerden bir tanesi ile biten bir ek olmalıdır.
·
Diğer şahıs ekleri için ise, bir önceki ek yardımcı ses, koruyucu ünsüz yada kaynaştırma harfi
olmamalıdır.
1.
Fiil_ çekim_ekleri_analizi Modülü
Bu fonksiyonda, şahıs eklerinin ve zaman eklerinin bitişme kuralları belirtilmiş ve ekin bu kurallara uyup
uymadığına bakılmıştır. Bir fiil çekim ekinin eklendiği zaman uyması gereken kurallar aşağıdaki gibidir:
a.
Eğer fiil çekim eki; gelecek zaman eki, istek kipi eki, ikinci şahıs emir kipi veya görülen geçmiş zaman
ekinin, öğrenilen geçmiş zaman ekinin ve dilek-şart kipinin bileşik fiilleri ise; bu ekten önceki kelime
gövdesinin son harfi ya kaynaştırma harfi ve koruyucu ünsüz dışındaki herhangi bir sessiz harf yada “y”
kaynaştırma harfi olmalıdır.
b.
Gereklilik kipi, üçüncü şahıs emir kipi veya görülen geçmiş zamanın, öğrenilen geçmiş zamanın ve dilekşart kipinin birinci zamanı ise bu eklerden bir önceki ek kaynaştırma harfi, koruyucu ünsüzü yada
yardımcı ses olmamalıdır.
c.
Şimdiki zaman veya geniş zaman eki ise bu ekten önceki kelime gövdesinin son harfi sesli olmalıdır.
4.
Kelimenin Cümle İçerisindeki Durumunun İncelenmesi
Bu modülde; analiz modülü sonucu elde edilen ve Türkçe dilbilgisi kurallarına uygun olan; ancak kelimenin cümle
içerisindeki durumuna göre birden fazla olabilen çözümlerden esas çözümün bulunması gerçekleştirilmektedir.
Analiz modülünden çıkan birden fazla çözüme örnek olarak, “Evi çok güzel” ile “Evi gördün mü?” cümlelerindeki
“evi” kelimesini verebiliriz. İlk cümlede “evi” kelimesindeki “–i” eki üçüncü tekil şahıs iyelik eki, ikinci cümledeki “–i”
eki ise hal ekidir. İşte bu nedenle, “evi” kelimesi için, analiz modülü sonucunda “isim-3.tekilİyelik” ile “isim-HalEki”
çözümleri elde edilir ve gerçek çözümün bulunması için “evi” kelimesinin cümledeki işlevini incelemek gerekir.
Örnek olarak , ikinci cümle olan “Evi gördün mü ?” cümlesindeki “evi” kelimesini inceleyelim. “gördün mü?” fiilinden
dolayı bu cümlenin öznesinin ikinci şahıs eki olduğu anlaşılır. Oysa “evi” kelimesindeki “–i” ekini iyelik eki olarak
düşünürsek, “evi” kelimesinin özne olması gerekirdi. Bu nedenle, “evi” kelimesinin doğru çözümlemesinin “isimHalEki” olduğu anlaşılır. Bu şekilde, bu modülde diğer modüllerden gelen varsa birden fazla çözümler tek çözüme
indirgenir.
4 Deneysel Çalışma
Gerçekleştirilen kök ve eklerine ayırma algoritmasının etkinliğinin belirlenebilmesi için bir deneysel çalışma
öngörülmüştür. Deneysel çalışmada algoritmalar 1000 sözcükten oluşan bir veri kümesi ile test edilmiştir. Yine
veri kümesinde yer alan sözcüklerin gövdeleri elle yapılan bir çalışmayla belirlenmiştir. Algoritmalar, deneysel veri
kümesi üzerinde tek tek çalıştırılarak, bulunan çözümler, ayrı birer kütüğe yazılmıştır. Daha sonra çıktı kütükleri,
file:///C:/Users/mypc/Downloads/ek_kok.htm
7/10
4/10/2014
Kelimenin Cümle İçindeki Durumuna Bakılarak Kök ve Eklerine Ayrılması
elle girilen gerçek çözümün olduğu kütükle karşılaştırılarak, algoritmanın yanlış bulduğu kelimeler de ayrı birer
hata kütüğünde toplanmıştır. Tablo 2`de bu açıklamalara örnek görülmektedir.
KELİME
KELİMENİN ÇÖZÜMLENMESİ
ÇÖZÜMLEMEDEKİ EK
TANIMLAMALARI
ağaçlaştıramadıklarımızdan
ağaç*laş*tır*a*ma*dık*lar*ı*mız*dan
isim*FYE*FYE*ytk*ol*SFE*ç*ys*ieç1*ayr
odunculuktan
odun*cu*luk*dan
isim*IYE*IYE*ayr
Kırılgan
kır*ı*l*gan
fiil*ys*FYE*IYE
evimizdekilerinkinden
ev*i*miz*de*ki*ler*in*ki*n*den
isim*ys*ieç1*bul*ki*ç*tm*ki*ku*ayr
Güzeldim
güzel*di*m
isim*ef_dgz*şet1
Yorucu
yor*ucu
fiil*IYE
Ağaca
ağaç*a
isim*yon
cesurdur
cesur*dur
isim*ef_gez
isteyebileceklerinden
iste*y*ebil*ecek*leri*n*den
fiil*kh*ytk*SFE*ieç3*ku*ayr
gitmiştiler
git*miş*di*ler
fiil*mgz*dgz*şeç3
gelemeyebilirim
gel*e*me*y*ebil*i*r*im
fiil*ytk*ol*kh*ytk*ys*gez*şet1
Gittiydim
git*di*y*di*m
fiil*dgz*ku*dgz*şet1
okuyormuşcasına
oku*yor*muş*casına
fiil*şz*mgz*casına
gidiyorken
git*i*yor*ken
fiil*ys*şz*ken
ağlayıncaya
ağla*y*ıncaya
fiil*kh*ZFE
Tablo 2
Birden fazla çözüm bulunup, kelimenin cümle içindeki durumuna göre çözümün teke indirildiği durumlara örnek
Tablo3`te verilmiştir.
KELİME
evi
konuşma
CÜMLE İÇERİSİNDEKİ
DURUMU
GERÇEK
ÇÖZÜMLEME
Şu evi gördün mü?
ev*i à isim*bli
Ali’nin evi güzel.
ev*i à isim*iet3
Bu kadar çok konuşma!
konuş*ma à fiil*ol
Onun bu çok konuşma
huyundan nefret
ediyorum.
konuş*ma à fiil*IFE
Tablo 3
Yukarıdaki tablolarda kullanılan kısaltmalar:
FYE: fiil yapım eki
gez: geniş zaman
IYE: isim yapım eki
dgz: görülen geçmiş
file:///C:/Users/mypc/Downloads/ek_kok.htm
8/10
4/10/2014
Kelimenin Cümle İçindeki Durumuna Bakılarak Kök ve Eklerine Ayrılması
ytk: yeterlilik kipi
zaman eki
ol: olumsuzluk eki
mgz: öğrenilen geçmiş
zaman eki
SFE: sıfat fiilimsi eki
şz: şimdiki zaman eki
ç: çoğul eki
ZFE: zarf fiilimsi eki
ys: yardımcı ses
şeç1: 1. çoğul şahıs eki
ieç1: iyelik eki 3. çoğul
şahıs
ayr: ayrılma hali (“-den”
hali)
bli: belirtme hal eki (“-i” hal
eki)
iet3: 3. tekil iyelik şahıs
eki
bul: bulunma hali (“-de”
hali)
IFE: isim fiilimsi eki
tm: tamlayan eki (“-in” eki)
şet1: 1. tekil şahıs eki
ku: koruyucu ünsüz
yon: yönelme hali (“-e”
hali)
ef_dgz: ek fiil görülen
geçmiş zaman eki
ef_gez: ek fiil geniş
zaman eki
kh: kaynaştırma harfi
5 Sonuç
Bu çalışmada, eklemeli diller üzerinde yapılan doğal dil işleme uygulamalarının zorunlu ön işlemlerinden olan
kelimenin ek ve köklerine ayrılmasında yeni bir yaklaşım sunuldu.
Bu yeni yaklaşımda önce kelimenin tüm olası kökleri bulunmakta ve daha sonra olası köklere yapım ve çekim
ekleri eklenerek kelimenin tamamı oluşturulmaya çalışılmaktadır. Daha sonra Türkçe’nin gramer yapısına uygun
olan ancak kullanılmayan kelime-ek bileşenleri elenerek çözüme ulaşılmaktadır. Ayrıca kelimenin cümle içindeki
fonksiyonu da göz önünde bulundurularak çözüm sayısı minimuma indirilmektedir.
Türkçe gibi eklemeli dillerdeki sözcük köklerinin, dildeki tüm kelimelere oranı çok küçük bir rakamdır. bizim
kullandığımız sözlük için tüm kelimeler ~35000 tane, köklerse ~15000 tanedir. işte yaklaşımımızda kelimeyi
parçalamada kullanılan veri tabanının (sadece kelime köklerini içeren) boyutunun küçük olması sebebiyle sabit
disk üzerindeki işlemler minimuma indirilmiştir ve bu yüzden algoritmanın hızı yaklaşık 2.33 oranında artmıştır.
Türkçe üzerinde yapılan az sayıdaki bu tür çalışmalardan olan yaklaşımımız gerek doğru sonuç oranının
yüksekliği gerekse yüksek hızı sebebiyle, Türkçe üzerine yapılacak olan dil işleme çalışmaları için kullanışlı bir
araç olarak (örneğin cümleyi öğelerine ayırmada) kullanılabilir. Ayrıca dilbilgisi derslerinde de öğrencilere yardımcı
olabilecek bir uygulama olarak kullanılabilir.
İleriki çalışmalarda ise sözcüklerin parçalanmasında; cümlenin tamamı, konuşmanın ve yazının konusu gibi
anlamda etkin diğer öğeler de göz önünde bulundurularak daha iyi sonuçlar üretecek algoritmalar gerçeklenebilir.
6 Referanslar
1.
Gayde Şeniz, Karslıgil M. Yahya, (1999), “A Natural Language Processing Tool for Analysis of Turkish
Texts and a Fuzzy-Based Statistical Approach for Author Recognition”, YTU, İstanbul
file:///C:/Users/mypc/Downloads/ek_kok.htm
9/10
4/10/2014
Kelimenin Cümle İçindeki Durumuna Bakılarak Kök ve Eklerine Ayrılması
2.
Diri, B., (1999), "Türkçe'nin Biçimbilim Yapısına Dayalı Bir Metin Sıkıştırma Sistemi", PhD. Thesis, YTU,
İstanbul
3.
Aksan, Doğan (1999), Anlambilim, Engin Yayınevi: pp.183-190
4.
M.E.B. Yayınları, Türk Dili ve Edebiyatı Lise-1
5.
Türk Dil Kurumu, (1992), Türkçe Sözlük, Milliyet Tesisleri, İstanbul
6.
Hatiboğlu, V., (1974), Türkçenin Ekleri, Ankara
file:///C:/Users/mypc/Downloads/ek_kok.htm
10/10