LANGANA Türkçe yazıları okuyup ilgili soruları cevaplayan bilgisayar programı çalışmamda en son ÖZNE ile NESNE'yi diğer kelimelerden ayırmıştım. Daha sonra, bu çalışmanın sonuçlarını kullanarak ÖZNE ile NESNE'yi birbirlerinden ayırma çalışmasına başlamıştım.
LANGANA - ÖZNE ile NESNE ayrımı yapan programım başarı ile bitmeye yaklaşıyor.
Bu çalışmamın sonunda, STEINBECK'in "Farelere ve İnsanlara Dair" kitabının ilk
1000 cümlesi aşağıdaki şekilde minimum hata ile çıkmış olacak. Elde iki dosya olacak.
Bir dosya yalnız (özne) ve {nesne} şeklinde cümleleri ve cümle numarasını verecek.
İkinci dosyada bu cümle nosunu kullanarak, yapılan işlemlerin ayrıntılarına erişilecek.
Bir örnek olması için en altta bir örneğin iki türlü bilgilerini sundum.
Daha sonra, ÖZNE-NESNE ayrımında deyimin son kelimesinin tespit edilmiş olmasından
faydalanarak ÖZNE ve NESNE'yi oluşturan kelime grupları belirlenecek. Böylece
ÖZNE ve NESNE belirleme çalışması tamamlanmış olacak.
Bir ara aşama olarak bu ana kadar yapılmış olan bütün LANGANA modüllerinin temizlenmesi
düzenlenmesi gerekiyor.
Daha sonra, elde edilmiş olan ÖZNE, NESNE ve FİİL/FİİLİMSİ'den faydalanarak
yer-zaman TÜMLEÇLERİ ve diğer TÜMLEÇLER belirlenecek.
Bu aşamaya ulaşınca, "Farelere ve İnsanlara Dair" kitabının tümünü bir pseudo dile
dönüştürmüş olacağım. LANAGANA bu ara mamül kitabı kullanarak, bu kitaba ilişkin
sorulara doğru cevap verecek. Demo amaçlı, bir WEB arayüzü yazmak gerekecek.
Türkçe - İngilizce tercüme makinası yazma çalışması da bu aşamadan sonra başlayacak.
468------------------------------------------------------------
Âdi keten bezinden mavi renkte bir {tulum} giymiş,
sol elinde kocaman bir {süpürge} vardı,
ihtiyarın arkasından (George),
onun
da arkasından (Lennie) içeri girmişlerdi,
(ihtiyar):
(Patron),
dün gece geleceksiniz diye bekliyordu,
dedi
285------------------------------------------------------------
Lennienin (yüzü),
dehşetten şekil
ve {ifadesini} kayıp etmişti
274------------------------------------------------------------
(Lennie),
yanan ateşin üstünden,
karşısında duran Georgea bakarak sabırlı bir sesle:
(Ben) {fasulyeyi} domates salçasıyla severim,
dedi
400------------------------------------------------------------
(George) biraz durduktan sonra:
(Ben)
de
amma
da saçmalıyorum ha,
dedi
ve cebinden {çakısını} çıkararak:
Artık alt {tarafını} anlatmaya {vaktim} yok,
diye ilâve etti
320------------------------------------------------------------
Bir an {gözlerini} ateşten ayırarak ırmağın karşı tarafındaki karanlıklara baktı
ve:
George,
dedi,
{seni} bırakıp gitmemi,
{seni} yalnız başına {bırakmamı} mı istiyorsun
SENTENCE NO = 439 *************28**167*****************************************
439------------------------------------------------------------
Ateşin (alevleri) alçaldıkça aydınlık (yerler) azalıyordu;
eğri (dallar) artık görünmemeye başlamış,
şimdi sadece hafif bir parıltıdan ibaret kalan ateşte
ancak ağaç gövdelerinin {seçilmesi} mümkün olabiliyordu
buf_sub_struct_list()------------------------------------------------------------
439 0 SENTENCE( SUB(
439 0 0 3569 İsim null Ateş nounExt in %%?in% null null null
ÖZNE-NESNE =====> alevleri
ARS i=1 k=1
439 1 0 1722 İsim null alev nounExt leri #ler%%?i% null null null
439 2 0 1652 Fiil nsz alçal nounFromVerbExt dıkça -dı-k-ça null null null
ÖZNE-NESNE =====> aydınlık yerler
ARS i=3 k=2
439 3 0 3924 İsim null aydınlık null null null null null null
439 4 0 56679 İsim null yer nounExt ler #ler%%% null null null
439 5 0 4152 Fiil nsz azal verbExt ıyordu ::-ıyor-du: null null null
439 6 ;SUB(
439 6 0 15642 Sıfat null eğri null null null null null null
ÖZNE-NESNE =====> dallar
ARS i=7 k=1
439 7 0 11896 İsim null dal nounExt lar #lar%%% null null null
439 8 0 3113 Sıfat null artık null null null null null null
439 9 0 20376 Fiil nsz,-e görün nounFromVerbExt memeye -meme-ye null null null
439 10 0 5335 Fiil -e başla verbExt mış ::-mış: null null null
439 11 ,SUB(
439 11 0 48754 Zarf null şimdi null null null null null null
439 12 0 43474 Zarf null sadece null null null null null null
439 13 0 21315 Sıfat null hafif null null null null null null
439 14 0 6880 İsim null bir null null null null null null
439 15 0 40853 İsim null parıltı nounExt dan %%%&dan null null null
439 16 0 23888 Sıfat null ibaret null null null null null null
439 17 0 27013 Fiil nsz kal adjectiveFromVerbExt an .an null null null
439 18 0 3569 İsim null ateş nounExt te %%%&te null null null
439 19 ==>CONJUNCTSUB(
439 19 0 2311 Bağlaç null ancak null null null null null null
439 20 0 729 İsim null ağaç null null null null null null
439 21 0 20457 İsim null gövde nounExt lerinin #ler%%?in%?in null null null
ÖZNE-NESNE =====> seçilmesi
ARS i=22 k=1
439 22 0 44676 Fiil nsz seçil nounFromVerbExt mesi -me-si null null null
439 23 0 37261 Fiil null mümkün null null null begFiil 37261 1
439 24 0 38929 Fiil nsz ol verbExt abiliyordu +abil::-iyor-du: endFiil 37261 1
439 25 .END-SENTENCE)
buf_verbose_list()------------------------------------------------------------
Ateşin alevleri alçaldıkça aydınlık yerler azalıyordu;
eğri dallar artık görünmemeye başlamış,
şimdi sadece hafif bir parıltıdan ibaret kalan ateşte
ancak ağaç gövdelerinin seçilmesi mümkün olabiliyordu
buf_struct_only_list()------------------------------------------------------------
SENTENCE( SUB(
439 0 ateş in
439 1 alev leri begso ending-ext=leri
439 2 alçal dıkça ------------nounFromVerb type=nsz
439 3 aydınlık begso
439 4 yer ler endso ending-ext=ler
439 5 azal ıyordu --------------------verbExt type=nsz
;SUB(
439 6 eğri
439 7 dal lar begso ending-ext=lar
439 8 artık
439 9 görün memeye ------------nounFromVerb type=nsz,-e
439 10 başla mış --------------------verbExt type=-e
,SUB(
439 11 şimdi
439 12 sadece
439 13 hafif
439 14 bir
439 15 parıltı dan
439 16 ibaret
439 17 kal an ------------adjectiveFromVerb type=nsz
439 18 ateş te
==>CONJUNCTSUB(
439 19 ancak
439 20 ağaç
439 21 gövde lerinin
439 22 seçil mesi begso ending-ext=mesi------------nounFromVerb type=nsz
439 23 mümkün
439 24 ol abiliyordu --------------------verbExt type=nsz
.END-SENTENCE)
439 25
Process structure*****************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;FORWARD SCAN
SENTENCE( SUB(
439 0 ateş in
439 1 alev leri begso ending-ext=leri
439 2 alçal dıkça ------------nounFromVerb type=nsz #endSO=1 #punct=0 #conj=0
---------------------------------------------Phenemonon List
phenom data[1]=1 alev leri alçal dıkça nsz--->MULTI CONJ=1 0 0
ÖZNE nszzzzezezez3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;FORWARD SCAN
439 3 aydınlık begso
439 4 yer ler endso ending-ext=ler
439 5 azal ıyordu --------------------verbExt type=nsz #endSO=1 #punct=0 #conj=0
---------------------------------------------Phenemonon List
phenom data[1]=4 yer ler azal ıyordu nsz--->MULTI CONJ=1 0 0
ÖZNE nszzze1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;FORWARD SCAN
;SUB(
439 6 eğri
439 7 dal lar begso ending-ext=lar
439 8 artık
439 9 görün memeye ------------nounFromVerb type=nsz,-e #endSO=1 #punct=1 #conj=0
439 10 başla mış --------------------verbExt type=-e #endSO=1 #punct=1 #conj=0
---------------------------------------------Phenemonon List
phenom data[2]=7 dal lar başla mış -e--->MULTI CONJ=1 1 0
ÖZNE nszzze1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;FORWARD SCAN
,SUB(
439 11 şimdi
439 12 sadece
439 13 hafif
439 14 bir
439 15 parıltı dan
439 16 ibaret
439 17 kal an ------------adjectiveFromVerb type=nsz #endSO=0 #punct=1 #conj=0
439 18 ateş te
==>CONJUNCTSUB(
439 19 ancak
439 20 ağaç
439 21 gövde lerinin
439 22 seçil mesi begso ending-ext=mesi------------nounFromVerb type=nsz #endSO=1 #punct=1 #conj=1
439 23 mümkün --------------------verbRoot type=null #endSO=1 #punct=1 #conj=1
439 24 ol abiliyordu --------------------verbExt type=nsz #endSO=1 #punct=1 #conj=1
---------------------------------------------Phenemonon List
phenom data[3]=22 seçil mesi ol abiliyordu nsz--->MULTI CONJ=1 1 1
NESNE nszzzzezezez3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;FORWARD SCAN
439------------------------------------------------------------
439------------------------------------------------------------
Ateşin (alevleri) alçaldıkça aydınlık (yerler) azalıyordu;
eğri (dallar) artık görünmemeye başlamış,
şimdi sadece hafif bir parıltıdan ibaret kalan ateşte
ancak ağaç gövdelerinin {seçilmesi} mümkün olabiliyordu
Thursday, 5 June 2014
Tuesday, 20 May 2014
LANGANA-E İngilizce cümle parçalayıcısında son gelişmeler
Güzel haber! LANGANA-e İngilizce parser projemde WEBSTER ingilizce sözlükten parse ile kelime tiplerini ayırma çalışmamda
yaklaşık 60 bin kelime ve yaklaşık 470 bin sözlük saturuna ulaştım. WEBSTER sözlüğün tümü 1 milyon satır.
Çalışmamın sonuçlarını SOURCE-FORGE'ta yayınlamaya devam ediyorum.
https://sourceforge.net/projects/turkishlanguageparser/files/English%20word%20types%20dictionary/
Bu çalışmanın önemi İngilizce'de NLP uygulaması olarak yapılacak bütün çalışmalar kelime tiplerine ihtiyaç duyar.
Sanıyorum, yaptığım kelime tipi çalışması bir çok kişinin işine yarayacak.
Çalışmam tamamlandıktan sonra, 100 bin satırlık bir kısmını eksik olarak yayınlayıp, ilgilenenlerin e-mail ile
başvurmalarını ve kullanım amaçlarının ticari olmamasını rica edeceğim.
Ali R+
Not: Türkçe'de ÖZNE - NESNE ayrımı umduğumun çok üstünde zorluklar içeriyormuş. Sağlam ama yavaş bir ilerleme ile
tek nesen/özne içeren fiilimsi/fiil gruplarında ayrım yapabiliyorum. Bir örnek:
SENTENCE( SUB(
730 0 ben begso ending-ext=null
730 1 kabadayılık
730 2 tasla yan ------------adjectiveFromVerb type=-i
730 3 ufak
730 4 tefek
730 5 yapıd a
730 6 insan ları begso ending-ext=ları
730 7 çok
730 8 gör düm --------------------verbExt type=-i
.END-SENTENCE)
730 9
Process structure*****************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;FORWARD SCAN
SENTENCE( SUB(
730 0 ben begso ending-ext=null
730 1 kabadayılık --------------------verbRoot type=null #endSO=1 #punct=0 #conj=0
730 2 tasla yan ------------adjectiveFromVerb type=-i #endSO=1 #punct=0 #conj=0
---------------------------------------------Phenemonon List
phenom data[1]=0 ben null tasla yan -i ÖZNE ö ö ö genel3--->MULTI CONJ=1 0 0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;FORWARD SCAN
730 3 ufak
730 4 tefek
730 5 yapıd a
730 6 insan ları begso ending-ext=ları
730 7 çok --------------------verbRoot type=null #endSO=1 #punct=0 #conj=0
730 8 gör düm --------------------verbExt type=-i #endSO=1 #punct=0 #conj=0
---------------------------------------------Phenemonon List
phenom data[1]=6 insan ları gör düm -i--->MULTI CONJ=1 0 0
NESNE -ii-ii-ii-ii-ii-ii-ii-ii-ii
yaklaşık 60 bin kelime ve yaklaşık 470 bin sözlük saturuna ulaştım. WEBSTER sözlüğün tümü 1 milyon satır.
Çalışmamın sonuçlarını SOURCE-FORGE'ta yayınlamaya devam ediyorum.
https://sourceforge.net/projects/turkishlanguageparser/files/English%20word%20types%20dictionary/
Bu çalışmanın önemi İngilizce'de NLP uygulaması olarak yapılacak bütün çalışmalar kelime tiplerine ihtiyaç duyar.
Sanıyorum, yaptığım kelime tipi çalışması bir çok kişinin işine yarayacak.
Çalışmam tamamlandıktan sonra, 100 bin satırlık bir kısmını eksik olarak yayınlayıp, ilgilenenlerin e-mail ile
başvurmalarını ve kullanım amaçlarının ticari olmamasını rica edeceğim.
Ali R+
Not: Türkçe'de ÖZNE - NESNE ayrımı umduğumun çok üstünde zorluklar içeriyormuş. Sağlam ama yavaş bir ilerleme ile
tek nesen/özne içeren fiilimsi/fiil gruplarında ayrım yapabiliyorum. Bir örnek:
SENTENCE( SUB(
730 0 ben begso ending-ext=null
730 1 kabadayılık
730 2 tasla yan ------------adjectiveFromVerb type=-i
730 3 ufak
730 4 tefek
730 5 yapıd a
730 6 insan ları begso ending-ext=ları
730 7 çok
730 8 gör düm --------------------verbExt type=-i
.END-SENTENCE)
730 9
Process structure*****************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;FORWARD SCAN
SENTENCE( SUB(
730 0 ben begso ending-ext=null
730 1 kabadayılık --------------------verbRoot type=null #endSO=1 #punct=0 #conj=0
730 2 tasla yan ------------adjectiveFromVerb type=-i #endSO=1 #punct=0 #conj=0
---------------------------------------------Phenemonon List
phenom data[1]=0 ben null tasla yan -i ÖZNE ö ö ö genel3--->MULTI CONJ=1 0 0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;FORWARD SCAN
730 3 ufak
730 4 tefek
730 5 yapıd a
730 6 insan ları begso ending-ext=ları
730 7 çok --------------------verbRoot type=null #endSO=1 #punct=0 #conj=0
730 8 gör düm --------------------verbExt type=-i #endSO=1 #punct=0 #conj=0
---------------------------------------------Phenemonon List
phenom data[1]=6 insan ları gör düm -i--->MULTI CONJ=1 0 0
NESNE -ii-ii-ii-ii-ii-ii-ii-ii-ii
Friday, 9 May 2014
LANGANA-E İngilizce cümle parçalayıcısı programı ilerliyor Mayıs 2014
Güzel haber! Webster Dictionary'nin S-T-U-V harfleri ile başlayan kelimelerini parse ettim, daha önceki W-X-Y-Z'in üstüne. W-X-Y-Z açıklamalarının toplamı 33 bin civarındaydı. S-T-U-V ise s=116 bin, T=52 bin, U=19 bin, V=17 bin satır, toplam S-T-U-V=204 bin tutuyor.
Webster Dictionary'nin toplam açıklama satır sayısı 1 milyon civarında. Şimdiye kadar benim parse ettiğim miktar 238 bin civarında. Güzel haber artık parserı değiştirmekten çok Webster'in edit kurallarına uymayan durumları temizlemekle uğraşıyorum. Başlangıçta 300-400 satırlık ilerlemelr vardı şimdi 4 bin satıra kadar sıçramalar olabiliyor. Tahminim en geç 1-2 ay içinde İngilizce sözlük veritabanı hazırlama çalışmam bitmiş
olacak.
Hazırlayacağım veri tabanı (şu anda da) İngilizce kelimlerin tiplerinin ve tekil-çoğul, transitive-intransitive gibi bilgileri içerecek. Şu ana kadar ki çalışmamda deneme olarak kelime tiplerini seçip kolaylıkla döktürdüm. Yaklaşık 30 bin kelime için.
Amacım bu sözlüğü kullanarak bir İngilizce cümle parserı yazmak. Bu parser ile parse ettiğim İngilizce metinleri bir ara dile dönüştürüp, kullanıcının sorduğu ilgili soruları otomatik olarak cevaplamak.
Tıp kitapları cazip bir uygulama alanı olacak, hele WEsbter'in çok detaylı tıp deyimlerini içerdiğini düşünürsek. Bir diğer uygulama alanı da uçak bakımında kullanılan manueller...
Parser'ımın çıktısını aşağıda bulabilirsiniz.
https://sourceforge.net/projects/turkishlanguageparser/files/English%20word%20types%20dictionary/
Niyetim, Webster'in kelime+kelime tanımı şeklinde bir dönüşüm çıktısını NON-PROFIT koşulu ile public yapmak.
Fark ettiğim bir konu da, sözlük ya da benzer şekilde belirli bir formatı olan metin hazırlanmasında birden çok kişi çalışırken bir parser kullanılırsa ortak metnin sabit formatta çıkması sağlanabilir ya da bu şekilde metin kontrol edilebilir.
Aslında, bir user interface ile formatı alıp ilgili parser otomatik olarak yazılabilir. ;-))
Webster Dictionary'nin toplam açıklama satır sayısı 1 milyon civarında. Şimdiye kadar benim parse ettiğim miktar 238 bin civarında. Güzel haber artık parserı değiştirmekten çok Webster'in edit kurallarına uymayan durumları temizlemekle uğraşıyorum. Başlangıçta 300-400 satırlık ilerlemelr vardı şimdi 4 bin satıra kadar sıçramalar olabiliyor. Tahminim en geç 1-2 ay içinde İngilizce sözlük veritabanı hazırlama çalışmam bitmiş
olacak.
Hazırlayacağım veri tabanı (şu anda da) İngilizce kelimlerin tiplerinin ve tekil-çoğul, transitive-intransitive gibi bilgileri içerecek. Şu ana kadar ki çalışmamda deneme olarak kelime tiplerini seçip kolaylıkla döktürdüm. Yaklaşık 30 bin kelime için.
Amacım bu sözlüğü kullanarak bir İngilizce cümle parserı yazmak. Bu parser ile parse ettiğim İngilizce metinleri bir ara dile dönüştürüp, kullanıcının sorduğu ilgili soruları otomatik olarak cevaplamak.
Tıp kitapları cazip bir uygulama alanı olacak, hele WEsbter'in çok detaylı tıp deyimlerini içerdiğini düşünürsek. Bir diğer uygulama alanı da uçak bakımında kullanılan manueller...
Parser'ımın çıktısını aşağıda bulabilirsiniz.
https://sourceforge.net/projects/turkishlanguageparser/files/English%20word%20types%20dictionary/
Niyetim, Webster'in kelime+kelime tanımı şeklinde bir dönüşüm çıktısını NON-PROFIT koşulu ile public yapmak.
Fark ettiğim bir konu da, sözlük ya da benzer şekilde belirli bir formatı olan metin hazırlanmasında birden çok kişi çalışırken bir parser kullanılırsa ortak metnin sabit formatta çıkması sağlanabilir ya da bu şekilde metin kontrol edilebilir.
Aslında, bir user interface ile formatı alıp ilgili parser otomatik olarak yazılabilir. ;-))
LANGANA-E English Language Parser project progresses May 2014
This is part of a dictionary that indicates the types of English words only. Only the words beginning with the letters W-X-Y-Z are included. The other letters will be posted as the work progresses.
This effort is part of an ongoing process in parallel with my Turkish Language processing package LANGANA. I have two aims for LANGANA. The first one is to make a program that reads texts and parses-converts them to a pseudo language output which it can later use to answer questions about the text. The second is to make a quality Turkish-English and vise versa translation motor.
I parsed the last 30 000 lines of the Webster dictionary which is publicly available. The I did a small converter mechanism to exclude the word names and types. My parser is approx. 1000 lines. I progressed with 30-40 lines successes in the beginning and it took many hours to do this. Recently I have seen 2000 lines successess in a matter of 10 minutes. I am looking forward to more improvements and finish this dictionary in a couple of months at most.
-----------------------------------------------
The second group of chars namely S-T-U-V has been added. This has been a considerable endeavour as these chars are explained in approx. 240 000 lines in Webster(1910ver.) My current parser parses approx. 270 000 lines and lists the word types of 25 - 30 000 English words. The whole of Webster is 1 000 000 lines. I have reached a point of saturation in the development of the parser and it has become fairly facile if not easy to proceed. I am looking forward to finish the parser in 1-2 months time.
After the parser is finished I will do fine tuning to decide what items will be included to the output. I will put the output into a MySQL database afterwards and proceed with the rest of my plans.
I will make the output publicly available as the Webster 1910 ver. but I will provide letter S by e-mail, only to requests clearly identified as non-profit.
This effort is part of an ongoing process in parallel with my Turkish Language processing package LANGANA. I have two aims for LANGANA. The first one is to make a program that reads texts and parses-converts them to a pseudo language output which it can later use to answer questions about the text. The second is to make a quality Turkish-English and vise versa translation motor.
I parsed the last 30 000 lines of the Webster dictionary which is publicly available. The I did a small converter mechanism to exclude the word names and types. My parser is approx. 1000 lines. I progressed with 30-40 lines successes in the beginning and it took many hours to do this. Recently I have seen 2000 lines successess in a matter of 10 minutes. I am looking forward to more improvements and finish this dictionary in a couple of months at most.
-----------------------------------------------
The second group of chars namely S-T-U-V has been added. This has been a considerable endeavour as these chars are explained in approx. 240 000 lines in Webster(1910ver.) My current parser parses approx. 270 000 lines and lists the word types of 25 - 30 000 English words. The whole of Webster is 1 000 000 lines. I have reached a point of saturation in the development of the parser and it has become fairly facile if not easy to proceed. I am looking forward to finish the parser in 1-2 months time.
After the parser is finished I will do fine tuning to decide what items will be included to the output. I will put the output into a MySQL database afterwards and proceed with the rest of my plans.
I will make the output publicly available as the Webster 1910 ver. but I will provide letter S by e-mail, only to requests clearly identified as non-profit.
Tuesday, 29 April 2014
Türkçe cümlelerde ÖZNE-NESNE ayrımı alt yapısı
Mucize
gibi bir şey! Bilgisayarım konuşmayı
sökmeye başladı...
İnsan
konuşmasında önemli bir aşama cümlelerin özne ve nesne
ayrımını
yapmaktır. Eylemi kimin neye yaptığını
ayırt etmek.
Özne
nesne ayıran LANGANA programımın ilk çıktıları aşağıda...
Özne
ile nesneyi ayırt etmek için gerekli bütün unsurları
anlıyor
LANGANA.
En
basitten zora doğru özne ayrımını şöyle özetleyebiliriz.
Fiil.
Özne.
Özne
- Fiil.
Nesne
- Fiil.
Özne
- Nesne - Fiil.
Özne
- Nesne - Fiilimsi - Fiil.
Virgül
ve diğer birleştiriciler:
Özne
, Özne - Fiil.
Nesne,
Nesne - Fiil.
vb.
Kullanacağım
bazı algoritmalar:
-Eğer
bir so(SUBJ/OBJECT) takısız ise:
Fiilin -i transitive ise : NESNE
değil is : ÖZNE
-Eğer
bir so takılı ise:
takı isim tamlaması sonlandırıcısı ve
fiil transitive ise ÖZNE.
takı i hali takısı ise -nı, -mı vb NESNE
-Eğer
so bir fiilimsiden önce gelen son so ise NESNE.
-Eğer
iki tane takısız so varsa önce gelen ÖZNE.
İşte
bir kaç örnek aşağıda: Steibeck'in
Fareler ve İnsanlara Dair kitabının
ilk
1000 cümlesini aşağıdaki linkten bulabilirsiniz.
Sanırım
bir süre sonra ilk 1000 cümleyi:
Çünkü [ben] {seni} bilirim,
bir susadın mı,
{çirkef}
de olsa içersin
aşağıdaki cümlenin yukarıdaki işlenmiş
şeklinde source forge'da yayınlayacağım.
NOT: LANGANAe ingilizce için yaptığım kelime
tipi çalışmasında 1 milyon satırlık
Webter sözlüğünü parse etmem gerekiyor. Şu anda VWXYZ harflerini bitirdim. U ile
uğraşıyorum.
PArse ettiğim toplam satır sayısı 50 bini aştı. Yani 1/20 = %5'teyim.
Webster'in güzelliği kullandığım Türkçe
sözlüğe göre eski ama çok detaylı, tekil
çoğul ne isterseniz bilgi olarak var.
SENTENCE
NO = 41 ********************************************************
buf_verbose_list()------------------------------------------------------------
Çünkü ben seni bilirim,
bir susadın mı,
çirkef
de olsa içersin
buf_struct_only_list()------------------------------------------------------------
SENTENCE(==>CONJUNCTSUB(
41 0 çünkü
41 1 ben
begso ending-ext=null
41 2 sen
i begso ending-ext=i
41 3 bil
irim --------------------verbExt
,SUB(
41 4 bir
41 5 susa
dın --------------------verbExt
41 6 mı
,SUB(
41 7 çirkef
begso ending-ext=null
==>CONJUNCTSUB(
41 8 de
41 9 ol
sa --------------------verbExt
41 10 iç
ersin --------------------verbExt
.END-SENTENCE)
41 11
buf_sub_struct_list()------------------------------------------------------------
41 0 SENTENCE(==>CONJUNCTSUB(
41 0 0 11711 Bağlaç null Çünkü null null null null null null
ÖZNE-NESNE
=====> ben
ARS
i=1 k=1
41 1 0 5991 Zamir null ben null null null null null null
ÖZNE-NESNE
=====> seni
ARS
i=2 k=1
41 2 0 77114 Zamir null sen pronounExt i +i null null null
41 3 0 6814 Fiil -i bil verbExt irim ::-ir:*im null null null
41 4 ,SUB(
41 4 0 6880 İsim null bir null null null null null null
41 5 0 47467 Fiil nsz susa verbExt dın ::-dı:*n null null null
41 6 0 77138 Soru null mı null null null null null null
41 7 ,SUB(
ÖZNE-NESNE
=====> çirkef
ARS
i=7 k=1
41 7 0 11213 İsim null çirkef null null null null null null
41 8 ==>CONJUNCTSUB(
41 8 0 11734 Bağlaç null de null null null null null null
41 9 0 38929 Fiil nsz ol verbExt sa ::-sa: null null null
41 10 0 24056 Fiil -i iç verbExt ersin ::-er:*sin null null null
41 11 .END-SENTENCE)
SENTENCE
NO = 40 ********************************************************
buf_verbose_list()------------------------------------------------------------
Akmayan bir su oldu mu hiç içmemelisin Lennie
buf_struct_only_list()------------------------------------------------------------
SENTENCE(
SUB(
40 0 ak
mayan ------------nounFromVerb
40 1 bir
begso
40 2 su
endso ending-ext=null
40 3 oldu
40 4 mu
40 5 hiç
40 6 iç
memelisin --------------------verbExt
40 7 lennie
begso ending-ext=null
.END-SENTENCE)
40 8
buf_sub_struct_list()------------------------------------------------------------
40 0 SENTENCE(
SUB(
40 0 0 1311 Fiil nsz,-e Ak nounFromVerbExt mayan -maya-n null null null
ÖZNE-NESNE
=====> bir su
ARS
i=1 k=2
40 1 0 6880 İsim null bir null null null null null null
40 2 0 47231 İsim null su null null null null null null
40 3 0 38892 Zarf null oldu null null null null null null
40 4 0 77140 Soru null mu null null null null null null
40 5 0 22845 Zarf null hiç null null null null null null
40 6 0 24056 Fiil -i iç verbExt memelisin ::-memeli:*sin null null null
ÖZNE-NESNE
=====> Lennie
ARS
i=7 k=1
40 7 0 0 Özelİsim null Lennie null null null null null null
40 8 .END-SENTENCE)
SENTENCE
NO = 250 ********************************************************
buf_sub_struct_list()------------------------------------------------------------
250 0 SENTENCE(
SUB(
250 0 0 37999 Zamir null Ne null null null null null null
250 1 0 57957 İsim null zaman null null null null null null
...
buf_verbose_list()------------------------------------------------------------
Ne zaman elime alıp okşasam,
hemen parmaklarımı ısırırlardı,
ben
de birazcık kafalarını çimdiklerdim,
sonra bir
de bakardım
ki,
ölmüşler
buf_struct_only_list()------------------------------------------------------------
SENTENCE(
SUB(
250 0 ne
250 1 zaman
250 2 el
ime
250 3 al
ıp ------------gerundFromVerb
250 4 okşa
sam --------------------verbExt
,SUB(
250 5 hemen
250 6 parmak
larımı begso ending-ext=larımı
250 7 ısır
ırlardı --------------------verbExt
,SUB(
250 8 ben
begso ending-ext=null
==>CONJUNCTSUB(
250 9 de
250 10 birazcık
250 11 kafa
larını begso ending-ext=larını
250 12 çimdikle
rdim --------------------verbExt
,SUB(
250 13 sonra
250 14 bir
==>CONJUNCTSUB(
250 15 de
250 16 bak
ardım --------------------verbExt
==>CONJUNCTSUB(
250 17 ki
,SUB(
250 18 öl
müşler --------------------verbExt
.END-SENTENCE)
250 19
SENTENCE
NO = 668 ********************************************************
buf_verbose_list()------------------------------------------------------------
Böyle çiftliklerde insan,
hiçbir zaman ne kimsenin konuştuğunu dinler ne
de kimseye bir şey sorar
buf_struct_only_list()------------------------------------------------------------
SENTENCE(
SUB(
668 0 böyle
668 1 çiftlik
lerde
668 2 insan
begso ending-ext=null
,SUB(
668 3 hiçbir
668 4 zaman
668 5 ne
668 6 kimse
nin
668 7 konuş
tuğunu begso ending-ext=tuğunu------------nounFromVerb
668 8 dinle
r --------------------verbExt
668 9 ne
==>CONJUNCTSUB(
668 10 de
668 11 kimse
ye
668 12 bir
begso
668 13 şey
endso ending-ext=null
668 14 sor
ar --------------------verbExt
.END-SENTENCE)
668 15
buf_sub_struct_list()------------------------------------------------------------
668 0 SENTENCE(
SUB(
668 0 0 7801 Sıfat null Böyle null null null null null null
668 1 0 11050 İsim null çiftlik nounExt lerde #ler%%%&de null null null
ÖZNE-NESNE
=====> insan
ARS
i=2 k=1
668 2 0 25138 İsim null insan null null null null null null
668 3 ,SUB(
668 3 0 22846 Sıfat null hiçbir null null null null null null
668 4 0 57957 İsim null zaman null null null null null null
668 5 0 37999 Zamir null ne null null null null null null
668 6 0 30488 Zamir null kimse pronounExt nin +ni+n null null null
ÖZNE-NESNE
=====> konuştuğunu
ARS
i=7 k=1
668 7 0 31317 Fiil nsz konuş nounFromVerbExt tuğunu -tu-ğ-un-u null null null
668 8 0 13722 Fiil -i dinle verbExt r ::-r: null null null
668 9 0 37999 Zamir null ne null null null null null null
668 10 ==>CONJUNCTSUB(
668 10 0 11734 Bağlaç null de null null null null null null
668 11 0 30488 Zamir null kimse pronounExt ye +ye null null null
ÖZNE-NESNE
=====> bir şey
ARS
i=12 k=2
668 12 0 6880 İsim null bir null null null null null null
668 13 0 48595 İsim null şey null null null null null null
668 14 0 46760 Fiil -i,-e,-den sor verbExt ar ::-ar: null null null
668 15 .END-SENTENCE)
SENTENCE
NO = 946 ********************************************************
buf_verbose_list()------------------------------------------------------------
Lennie büyük bir istekle Georgea doğru
eğilerek:
Gidelim George,
dedi
buf_struct_only_list()------------------------------------------------------------
SENTENCE(
SUB(
946 0 lennie
begso ending-ext=null
946 1 büyük
946 2 bir
946 3 istek
le
946 4 george
a
946 5 doğru
946 6 eğil
erek ------------gerundFromVerb
:SUB(?
946 7 gid
elim --------------------verbExt
946 8 george
begso ending-ext=null
,SUB(
946 9 de
di --------------------verbExt
.END-SENTENCE)
946 10
buf_sub_struct_list()------------------------------------------------------------
946 0 SENTENCE(
SUB(
ÖZNE-NESNE
=====> Lennie
ARS
i=0 k=1
946 0 0 0 Özelİsim null Lennie null null null null null null
946 1 0 8384 Sıfat null büyük null null null null null null
946 2 0 6880 İsim null bir null null null null null null
946 3 0 25543 İsim null istek nounExt le %%%&le null null null
946 4 0 0 Özelİsim null George nounExt a %%%&a null null null
946 5 0 14144 Sıfat null doğru null null null null null null
946 6 0 15571 Fiil nsz eğil gerundFromVerbExt erek ;;-er;.ek null null null
946 7 :SUB(?
946 7 0 19913 Fiil -den,-e Gid verbExt elim ::-elim: null null null
ÖZNE-NESNE
=====> George
ARS
i=8 k=1
946 8 0 0 Özelİsim null George null null null null null null
946 9 ,SUB(
946 9 0 12648 Fiil de verbExt di ::-di: null null null
946 10 .END-SENTENCE)
Subscribe to:
Posts (Atom)
