Sunday 3 November 2013

Türkçe Anlayan Bilgisayar Programı: SON GELİŞMELER


Programım okuduğu yaklaşık 700 kelimelik metinden 638 kelimeyi doğru ve tek olarak algılıyor.  Yaklaşık 30-40 kelimenin birden çok anlamını çıkarıyor.  Bunların bir kısmı gerçekten birden çok anlamlı kelimeler örneğin:

" yakılan birçok  ateşlerden kalma bir kül yığınına rastlanır; dal, gelip geçenler üstüne otura otura aşınmış ve artık dümdüz olmuştur".

cümlesinde "dal" kelimesi kendi başına emir halinde fiil ya da ağaç dalı olabilir.  İnsan okuyucu bunu kelime gruplarından ve bağlamdan çıkarıyor.

Programım şu anda 2'li kelime gruplarından öte zincirleme isim tamlamalarını da anlıyor:

FARELERE VE İNSANLARA DAİR
"Salinas Irmağı, Soledad kasabasının birkaç mil güneyinde, dağlık taraftaki kıyıya yakın,
yüksekçe bir yerden dökülür ve "

test00.txt
----------------------------------------------nounSeqCount= 0 Noun-Seq begins...
Özelİsim [0][0]=Salinas
nounSeqCount=1
Finishing nounExt(ı) [1][0]=Irmağ ı
----------------------------------------------nounSeqCount= 0 Noun-Seq begins...
Özelİsim [2][0]=Soledad
nounSeqCount=1
Finishing nounExt(sı) [3][0]=kasaba sının
----------------------------------------------nounSeqCount= 0 Noun-Seq begins...
Sıfat [4][0]=birkaç
nounSequence İsim [5][0]=mil null
nounSeqCount=1
Finishing nounExt(ı) [6][0]=güney inde
----------------------------------------------nounSeqCount= 0 Noun-Seq begins...

ya da:
"Irmağın bir tarafında, altın yamaçların kıvrıla, kıvrıla sert ve kayalık Gabilan dağlarına kadar yükseldiği görülür,  fakat suyun vadi tarafındaki kıyıları boydan boya ağaçlıktır."

----------------------------------------------nounSeqCount= 0 Noun-Seq begins...
nounExt(in) [0][0]=Irmağ ın
nounSeqCount=1
nounSequence İsim [1][0]=bir null
nounSeqCount=2
Finishing nounExt(ı) [2][0]=taraf ında
----------------------------------------------nounSeqCount= 0 Noun-Seq begins...
nounExt [3][0]=al tın
----------------------------------------------nounSeqCount= 0 Noun-Seq begins...
nounExt(in) [3][1]=alt ın
----------------------------------------------nounSeqCount= 0 Noun-Seq begins...
İsim [3][3]=altın
nounSeqCount=1
continuing nounExt(ların) [4][0]=yamaç ların
nounSeqCount=2
----------------------------------------------nounSeqCount= 0 Noun-Seq begins...
----------------------------------------------nounSeqCount= 0 Noun-Seq begins...
Sıfat [7][1]=sert
Process Conjunction=ve
nounSequence İsim [9][0]=kayalık null
nounSeqCount=1
nounSequence Özelİsim [10][0]=Gabilan null
nounSeqCount=2
continuing nounExt(ların) [11][0]=dağ larına
nounSeqCount=3
nounSeqCount=3
Finishing nounSequence nounFromVerb [13][0]=yüksel diği
----------------------------------------------nounSeqCount= 0 Noun-Seq begins...
----------------------------------------------nounSeqCount= 0 Noun-Seq begins...
----------------------------------------------nounSeqCount= 0 Noun-Seq begins...
nounExt(yin)) [16][0]=su yun
nounSeqCount=1
nounSequence İsim [17][0]=vadi null
nounSeqCount=2
nounSequence nounExt(ki)[18][0]=taraf ındaki
nounSeqCount=3
Finishing nounExt(ları) [19][0]=kıyı ları
----------------------------------------------nounSeqCount= 0 Noun-Seq begins...
nounExt [20][0]=boy dan
nounSeqCount=1
nounSequence İsim [21][1]=boya null
nounSeqCount=2
nounSeqCount=2
Finishing nounSequence Noun [22][0]=ağaçlık tır

İsim tamlaması içinde geçen çok seçenekli kelimeler örneğin:

SUB(
WORD(
Root(Fiil(ağ,931))
Ext(verbExt(ır,::-ır:))
Root(Fiil(ağ,931))
Ext(adjectiveFromVerbExt(ır,.ır))
Root(Fiil(ağ,931))
Ext(nounFromVerbExt(ır,-ır))
)=ağır

durumunda adjectiveFromVerbExt şeklinde sonuçlanacak(bir kaç gün içinde).

Eğer kelime grupları yetersiz olursa, bağlama bakmak gerekecek:
Elimdeki yapı içinde cümle içindeki kelimeler ve ilgili bilgiler bir dizi içinde duruyor.  Bir fonksiyon yardımı ile kolaylıkla tipi belirsiz kelimenin örneğin 5 geri ve 5 ileri cümlelere kadar hangi tipte kullanıldıklarına bakıp en çok kullanılanı seçeceğim, örneğin dal için:

...alçak dalları arasında...
...teşkil eden dalları ile...
...alçak bir dalı önünde...

görüldüğü gibi 'dal' kelimesi hep bir isim olarak geçmiş bağlam içinde.

Öyle ise :

" yakılan birçok  ateşlerden kalma bir kül yığınına rastlanır; dal, gelip geçenler üstüne otura otura aşınmış ve artık dümdüz olmuştur".

cümlesinde 'dal' emir fiili değil isimdir.

Saygılarımla.

Ali R+ SARAL