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, eminislam@hotmail.com} Ö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
© Copyright 2024 Paperzz