Geliştirmekte olduğum, LANGANAt Türkçe dil ayrıştırıcısı(parser)
4. beta versiyonunun çıktısı aşağıda.
Bu örnekler 2094 tane cümleden oluşan Steinbeck'in İhtiyar Adam
ve Deniz adlı kitabının Türkçe tercümesinin tümünü, bu kitabın tümünü
içermektedir.
Niyetim, en kısa zamanda Türkçe Parser'ını bitirmek fakat işin doğası
gereği gecikmeler oluyor.
4. beta sürümünde şunları yaptım.
1- Konuşma dilinde geçen Sıfat fiiller.
'Bu kapı ne güzel!'
2- Her nesne ve öznenin ilgili fiil/fiilimsilerinin tesbiti.
3- Konuşma dilinde geçen Emir, Şart fiillerinin fiilden türetilen
isimlerden ayırt edilmesi
4- işlevsel ve gruplayıcı virgül, ve, diğer bağlaçların ayrımı.
İhtiyar Adam ve Deniz yaklaşık 22 bin kelime ve 2100 cümleden oluşuyor.
Hedefim 100 kelime, 80-90 cümle hatasını yakalamak. Yani kelime olarak binde 5,
cümle olarak yüzde 4. Bu sürüme ilişkin çıktıyı Source Forge sayfamdan erişebilirsiniz.
Bu arada, Türkçe parser'ı kullanarak oluşturulabilecek ürünler de belirmeye başladı.
Örneğin hukuk dava dosyalarında 1000'lerce sayfa içinden tutarsızlıkların bulunması.
Devlet müttesebatında değişikliklerin takibi için iki yazının içerik olarak karşılaştırılması.
Parser aşaması bittikten sonra şunların yapılması gerekecek:
1. Türkçe deyim listesi ve sözlüğü
2. Türkçe corpus
3. Türkçe semantic ağaç
Aşağıda bazı örnekleri ve Source Forge'ta bütün çıktıyı bulabilirsiniz.
(Not: Sourceforge virus saldırısına uğramış. Düzelir düzelmez 4. beta çıktısının
tümünü yayınlayacağım. Aşağıda üç tane çarpıcı devrik cümle örneği var.)
sentence= 14<<****************************dumpSentenceAsText
Balık tutmasını yaşlı adam öğretmişti çocuğa, çok severdi çocuk onu.
sentence= 14<<----------------------------higher analysis="" p="" parse="" struct="">0 1 Balık İsim (f_önü tutmasını *? ref ) \Nesne\ \possible Özne\
1 2 tutmasını İsim->Nesne -fiilimsi -sını (f_önü öğretmişti %tr.intr. *o ref ) \Nesne\
2 4 yaşlı adam Sıfat Tamlaması (f_önü öğretmişti %tr.intr. *o ref ) \Nesne\ \possible Özne\
4 5 öğretmişti Fiil %tr.intr. *o
5 6 çocuğa İsim->Dolaylı Tümleç -ğa
5 6 , postPunctuation <<< comma#=1 verb#=1 verbal#=1 noun#=2
6 7 çok Zarf
7 8 severdi Fiil %tr.intr. *o
8 9 çocuk İsim ( severdi %tr.intr. *o ref ) \possible Nesne\ \possible Özne\
9 10 onu Zamir->Nesne -u ( severdi %tr.intr. *o ref ) \morpho Nesne\
9 10 .crlf postPunctuation <<< dot#=1 verb#=1 verbal#=1 noun#=1
sentence= 14<<----------------------------morphologic analysis="" p="">177 14 0 Balık
Balık-->balık
R is. ===>Balık balık
178 14 1 tutmasını
N is. ===>tutmasını =tutma -sını ^Noun->Noun
179 14 2 yaşlı
R sf. ===>yaşlı
180 14 3 adam
R is. ===>adam
181 14 4 öğretmişti
V f. ===>öğretmişti =öğret -mişti ^DiliMişliGeçmiş %tr.intr.
182 14 5 çocuğa,
N is. ===>çocuğa =çocuk -ğa ^Noun->Noun
183 14 6 çok
R zf. sf. ===>çok
184 14 7 severdi
V f. ===>severdi =sev -erdi ^GenişDiliGeçmiş %tr.intr.
185 14 8 çocuk
R is. ===>çocuk
186 14 9 onu.
R zm. ===>onu o [n] -u
******************************************************
sentence= 1561<<****************************dumpSentenceAsText
Parmakları açılmış bir elden daha genişti bu çizgiler ve bir periskoptaki aynalar gibi ayrılmış görünüyordu gözleri ya da bir dinsel alayın içindeki aziz.
sentence= 1561<<----------------------------higher analysis="" p="" parse="" struct="">0 1 Parmakları İsim->Nesne -ı -lar (f_önü açılmış %tr.intr. *o refverbalPOS=0 ) \Nesne\
1 2 açılmış Fiil->Edilgen %tr.intr. *o
2 4 bir elden Zarf Tümleci
4 5 daha Zarf
5 6 genişti Fiil İsim/Sıfat Türevi %intr. *o
6 8 bu çizgiler Sıfat Tamlaması -ler ( genişti %intr. *o ref ) \possible Özne\
8 9 ve Bağlaç
9 11 bir periskoptaki Sıfat Tamlaması->İsim -daki/deki
11 12 aynalar İsim -lar (f_önü ayrılmış %dat.intr. *o refverbalPOS=0 ) \Nesne\ \possible Özne\
12 13 gibi Zarf
13 14 ayrılmış Fiil %dat.intr.
14 15 görünüyordu Fiil %intr. *o
15 16 gözleri İsim -leri ( görünüyordu %intr. *o ref ) \possible Nesne\ \possible Özne\
16 17 ya Bağlaç
17 18 da Bağlaç
18 21 bir dinsel alayın Sıfat Tamlaması->İsim -fiilimsi verbalPOS=1-ın/in/un/ün %intr.
21 23 içindeki aziz Sıfat Tamlaması ( ref ) \possible Nesne\ \possible Özne\
22 23 . postPunctuation <<< dot#=1 verb#=4 verbal#=1 noun#=4
sentence= 1738<<****************************dumpSentenceAsText
Geniş, yassı, kürek biçimi kafalarını ve beyaz çizgili geniş yüzgeçlerini görebiliyordu şimdi, iğrenç, pis kokulu, leş kargası katillerdi bu köpek balıkları, aç kaldıkları zaman sandalın dümenini, küreğini ısırırlardı.
sentence= 1738<<----------------------------higher analysis="" p="" parse="" struct="">0 1 Geniş Sıfat
0 1 , postPunctuation <<< comma#=1 verb#=0 verbal#=0 noun#=0<<< comma#=1 verb#=0 verbal#=0
1 2 yassı Sıfat
1 2 , postPunctuation <<< comma#=1 verb#=0 verbal#=0 noun#=0<<< comma#=2 verb#=0 verbal#=0
2 5 kürek biçimi kafalarını İsim Tamlaması->Nesne -ini/ını/ğını/ğini/sını/sini ( görebiliyordu %tr.intr. *o ref ) \morpho Nesne\
5 6 ve Bağlaç
6 8 beyaz çizgili Sıfat Tamlaması->Edat Tümleci -lı/li/lu/lü
8 10 geniş yüzgeçlerini Sıfat Tamlaması->Nesne -ini/ını/ğını/ğini/sini/sını (f_önü görebiliyordu %tr.intr. *o ref ) \Nesne\
10 11 görebiliyordu Fiil %tr.intr. *o
11 12 şimdi Zarf-Zaman Zarf
11 12 , postPunctuation <<< comma#=1 verb#=1 verbal#=0 noun#=0<<< comma#=3 verb#=1 verbal#=0
12 13 iğrenç Sıfat
12 13 , postPunctuation <<< comma#=1 verb#=0 verbal#=0 noun#=0<<< comma#=4 verb#=0 verbal#=0
13 15 pis kokulu Sıfat Tamlaması->Edat Tümleci -lı/li/lu/lü
14 15 , postPunctuation <<< comma#=1 verb#=0 verbal#=0 noun#=0<<< comma#=5 verb#=0 verbal#=0
15 17 leş kargası İsim Tamlaması -sı/si/su/sü \possible Özne\ ( katillerdi %intr. *o ref )
17 18 katillerdi Fiil İsim/Sıfat Türevi %intr. *onlar
18 21 bu köpek balıkları Sıfat Tamlaması->Nesne -ları ( katillerdi %intr. *o ref ) \possible Özne\
20 21 , postPunctuation <<< comma#=1 verb#=1 verbal#=0 noun#=1<<< comma#=6 verb#=1 verbal#=0
21 22 aç Zarf
22 24 kaldıkları zaman Zarf-Zaman Zarf Tümleci
24 25 sandalın İsim->Tamlayan -ın
25 26 dümenini İsim->Nesne -ini ( ısırırlardı %tr. *o ref ) \morpho Nesne\
25 26 , postPunctuation <<< comma#=1 verb#=0 verbal#=0 noun#=0<<< comma#=7 verb#=0 verbal#=0
26 27 küreğini İsim->Nesne -ğini (f_önü ısırırlardı %tr. *o ref ) \Nesne\
27 28 ısırırlardı Fiil %tr. *o
27 28 . postPunctuation <<< dot#=1 verb#=1 verbal#=0 noun#=0<<< dot#=1 verb#=1 verbal#=0
----------------------------higher>----------------------------higher>----------------------------morphologic>----------------------------higher>