Tuesday 22 May 2018

Bir Yazı İşleme Robotu neler yapmalı?

Bir Yazı işleme robotu neler yapabilir?
Yazı işleyici(text processor) üst seviye gerekleri(requirements)
---------------------------------------------------------------
-Bir yazı verildiğinde buna ilişkin soruları cevaplamak
-Referans yazı verilmeden genel bir soruyu cevabını internetten arayıp
bularak cevaplamak
-periyodik yayınları otomatik olarak internetten izleyip ilgili olan
yazıları okuyup kaydetmek
-Bir yazının özetini çıkarmak
-Bir yazının anafikrini bulmak
-İki yazıyı içerik olarak karşılaştırmak(müttesebat takibi vb.)
-Verilmiş bir yarım yazıyı tamamlamak
-Belirli bir konuda yazı yazmak
-akış halindeki yazıları tarar (kanuni olarak kayıt edilen telefon,
telsiz konuşmaları) ve konuyu ya da niyeti bulur
-işlemiş olduğu yazılardan öğrenir(dilbilgisi, hikayesel olaylar,
semantic bilgi)
-hatırlar
-yazının güvenilirliğini değerlendirir
-özellikleri ve ilgi alanları kullanıcı tarafından belirlenebilir.

Sunday 20 May 2018

Otomatik soru cevaplama motoru gereklilikleri(Automatic question answering requirements)

Otomatik soru cevaplama motoru gereklilikleri
(Automatic question answering requirements)

Otomatik soru cevaplama iki kısımdan oluşur:
1- Sorunun algılanması ve cevaplamanın algılayabileceği
bir biçime dönüştürülmesi
2- Belirlenen arama kriterlerine göre ayrıştırılmış
ana metin üzerinde işlem yapılarak cevabın bulunması.

Burada, örnek olarak Hemingway'in 'İhtiyar Adam ve Deniz'
adlı kitabından bir konu seçilerek bu konuya ilişkin
mümkün olan bütün sorular belirlenecek ve bunlara
verilmesi gereken otomatik cevaplar belirlenecektir.

Seçilen konu "kuşlar" ve "ihtiyar balıkçı"'dır.

--İLGİLİ METİN KISIMLARI---------------------------------------------------------------------
«Seninki açıklarda avlanmaktan hoşlanmaz » «Evet.» dedi çocuk. «Belki onun göremediği bir şey görürüm. Diyelim yemlenen bir kuş, ya da yunusları yakalamak için razı ederim.»
---------------------------
---------------------------
 Kuşlara çok acırdı, hele o her dakika uçuşan, aranan, çokluk bir şey bulamayan küçük deniz kırlangıçlarına çok acırdı. «Kuşların yaşamı bizimkinden çok zor, ama hırsız kuşlar, bir de o çok kocamanlar başka. Okyanus böylesine zalimken kuşlar, sözgelişi kırlangıçlar neden öyle ince, zayıf yaratılmış? Okyanus güzeldir, iyidir, ama birden öylesine zalim olur ki, uçan, dalıp avlanan bu kuşcağızlar o kederli küçük sesleriyle bu denize göre çok, pek çok zayıf kalırlar.» diye düşündü.
---------------------------
---------------------------
Tam o sırada, biraz ilerde, önünde uçan uzun kara kanatlı bir kuş gördü. Birden alçaldı kuş, kanatlarını arkaya kısıp aşağı süzüldü, sonra yeniden bir daire çizerek yükseldi.

«Bir şeyler bulmuş olmalı,» dedi yaşlı adam yüksek sesle. «Aranmaya pek benzemiyor bu.»

Kuşun daireler çizdiği yere doğru kürek çekmeye başladı yavaşça. Acele etmiyor, iplerini gergin tutuyordu. Ama akıntıyı biraz geçti, hiç istifini bozmuyordu, ancak kuşu görmesinden öncesine göre de bir az daha hızlı gidiyordu.

Kuş daha yükseldi, yeniden daireler çizmeye başladı, kanatlarını hiç oynatmıyordu: Sonra birden daldı. Yaşlı adam, uçan balığın sudan sıçradığını, havada umutsuzca bocaladığını gördü.
«Yunuslar!» dedi yaşlı adam yüksek sesle. «Koca koca yunuslar.»

Küreklerini bıraktı. Başaltından küçük bir olta çıkardı. Orta büyüklükteki iğnesine sardalyalardan birini geçirdi. Yandan salıverdi. Kıç taraftaki bir halkaya düğümledi. Sonra başka bir oltayı da yemleyip kangal gibi doladı, baş tarafta gölge bir yere koydu. Kürek çekip uzun kanatlı kuşu kollamağa başladı. Kuş şimdi suyun üstünde aranıyordu.

Yaşlı adam, gözlerken kuş kanatlarını kısıp gene daldı, sonra kanatlarını boş bir çaba ile yırtıcı yırtıcı sallayıp uçan balığı kovalamağa başladı. Yaşlı adam, balığı kovalayan yunusların her çıkışlarında küçük kamburlarını görüyordu. Yunus uçan balığın tam altında yüzüyordu, balık suya düştüğünde hızı kesilmemiş olacaktı. Büyük bir sürü diye düşündü. Uçan balığın kurtulma umudu çok az. Kuş da talihsiz görünüyor. Balık ona göre çok büyük, hem de çok hızlı gidiyor.

Uçan balığın üst üste sıçramalarını, kuşun boşa giden saldırmalarını gördü. Sürü benden uzaklaştı diye düşündü. Çok hızlı gidiyorlar, açıldılar. Belki sürüden ayrılan biri takılıverir oltama, hem belki benim büyük balık da onların ardındadır.
---------------------------
---------------------------
Bulutlar şimdi karanın üstünde dağ gibi yığılıyorlardı. Kıyı, arkasında kurşunsu mavi tepeleri ile yeşil bir çizgi gibi kalmıştı. Deniz koyu mavi bir renk almıştı, öyle koyu idi ki mor denebilirdi. Suya bakınca karanlıklarda yakamozların kırmızı parçacıkları ile güneşin yaptığı garip pırıltıları gördü. Oltalarına bir göz attı, bozuldular mı, diye. Birçok yakamoz görüp sevindi."Balık var" demekti bu. Güneş yükseldiğinden suda pırıltılar yapıyordu. Demek hava iyi olacaktı, karanın üstündeki bulutlardan da belliydi bu. Kuş artık görünmüyordu, suyun üstünde güneşin soldurduğu sarı Sargasso yosunları ile kayığın hemen yanında yüzen mor hareli, kaypak gövdeli bir deniz anasından başka hiç bir şey yoktu. Deniz anası yan yatıp yeniden düzeldi. Bir metre uzunluğundaki zehirli mor liflerini ardında sürükleyerek bir balon gibi neşeli neşeli yüzüyordu.
---------------------------
---------------------------
Yaşlı adam baktı, kuş gene daireler çiziyordu. «Balık buldu,» diye söylendi yüksek sesle. Uçan balığın sıçradığı falan yoktu, küçük balıklar da kaçışmıyorlardı. Yaşlı adam, küçük bir tuna balığının havaya fırlayıp baş aşağı suya düştüğünü gördü. Tuna güneşte gümüş gibi parladı, suya düştükten sonra bir tane, bir tane daha fırladı, değişik yönlere atlıyorlardı. Suyu karıştırdılar. Kaçan balığın ardından uzun sıçramalar yapıyor, onu döndürüyor, sürüklüyorlardı.
Yaşlı adam, hızlı kaçışmasalar yaklaşabilirim diye düşündü. Sürünün, suyu bembeyaz köpük içinde bırakmasını seyrediyordu. Kuş şimdi alçalıyor, dalıyor, tunaların telâşlı kovalamaları ile suyun üstüne çıkan balığa saldırıyordu.
---------------------------
---------------------------
Umut kesilmez diye düşünüyordu.

Sandala doğru küçük bir kuş geldi kuzeyden. Bir ötleğen kuşuydu bu, denizin üstünde çok alçaktan uçuyordu. Yaşlı adamın başı üstünde uçtu ve gidip ipe kondu, şimdi artık rahatını bulmuştu.

«Kaç yaşındasın sen?» diye sordu yaşlı adam. a ilk yolculuğun mu bu?» Adam konuşurken kuş ona baktı, ipi kollayamayacak kadar yorgundu. Zayıf ayaklan ile sımsıkı tutunduğu ipte dengesini bulmaya çalışıyordu. «Oynamıyor» dedi, yaşlı adam kuşa. «Hiç oynamıyor. Durgun bir gecenin ertesi böyle yorgun olmamalısın. Kuşlar nereye gidiyor böyle?»

Çaylaklar bu kuşcağızları yakalamak için denize açılırlar. Nasılsa bir şey anlıyamıyacağı için bunlardan kuşa söz etmedi. Çok geçmeden tanıyacaktı zaten çaylakları.

«iyice dinlen küçük kuş,» dedi. «Sonra git, her insan gibi, her kuş gibi ya da her balık gibi yaşamını sürdür.»
Konuşmak arttırıyordu cesaretini. Gece sırtı tutulmuştu, şimdi çok canı yanıyordu.

«Kuş, istersen benim evde kal,» dedi. «Yelkeni açıp şu çıkan hafif rüzgârla seni kıyıya bırakamadığıma üzülüyorum. Ama ben de burada yalnız değilim, bir arkadaşım var.»

Tam o sırada balık öyle birdenbire çekti ki, yaşlı adamı pruvaya düşürdü, eğer kendini tutup bir az da ip salmasaydı denize düşecekti.

İp sarsılınca kuş uçmuştu. Yaşlı adam, kuşun gittiğini bile görmemişti. Sağ eliyle ipi iyice yokladı, elinin kanadığını gördü.

«Anlaşılan bir şeyler oldu ona,» dedi yüksek sesle. Balığı döndürebilir miyim diye ipi çekti. Ama ip çok gergindi, sıkı sıkı tuttu. Kendini yeniden ipin baskısına bıraktı.

«Balık, şimdi canın yanıyor artık,» dedi. «Allah bilir a, benimki de yanıyor.»
Çevresine bakıp kuşu aradı. Arkadaş olmak istiyordu. Kuş uçmuştu.

Çok kalmadın, diye düşündü. Kıyıya kadar yolun uzun ve zahmetli. Nasıl oldu da ben farkına varmadan bir tek hızlı çekmeyle elimi kesti balık? Gittikçe salaklaşıyorum. Belki o sırada küçük kuşa bakıyor, onu düşünüyordum, şimdi işime bakayım ve sonra gücümü yitirmemek için de tunayı yemeliyim.
---------------------------
---------------------------
«Eğer gene de yorulmadınsa balık,» dedi yüksek sesle, «sen çok acaipsin.» Şimdi kendini çok yorgun buluyordu. Gecenin yaklaştığını biliyor, başka şeyler düşünmeye çalışıyordu. Büyük kulüpleri düşünmeye başladı. Yaşlı adama göre Gran Ligas'tı büyük kulüp ve New York Yankee'lerinin Detroit Kaplanları ile oynadığını biliyordu. Bugün ikinci gün, hâlâ Juego'ların sonucunu bilmiyorum, diye düşündü. Ama güvenmem gerek, topuk kemiği ağrısa da büyük DiMaggio'ya güvenmem daha iyi olur. Kemik ağrıması da ne demek? diye sordu kendi kendine. Un espuela de huesc. Biz de olmaz böyle şeyler. Dövüşen bir horozun mahmuzu gibi acı verir mi insanın topuğu? Ben buna da yokum, kör olduktan sonra horozlar gibi dövüşmeye de katlanamam. İnsanoğlu büyük kuşların, hayvanların yanında ne ki? Şu denizin karanlıklarında, aşağıdaki hayvanın yerinde olmak isterdim.
---------------------------
---------------------------

*****SORU-CEVAPLAR***************************************************************************************
***Balıkçı bir kuş gördü mü? Nasıl bir kuş gördü?
Tam o sırada, biraz ilerde, önünde uçan uzun kara kanatlı bir kuş gördü.
*********************************************************************************************************
***Balıkçı kuşları sever mi? Balıkçı kuşlara karşı ne duyar? Kuşlar neden bu denize göre çok zayıf kalırlar?
 Kuşlara çok acırdı, hele o her dakika uçuşan, aranan, çokluk bir şey bulamayan küçük deniz kırlangıçlarına çok acırdı. «Kuşların yaşamı bizimkinden çok zor, ama hırsız kuşlar, bir de o çok kocamanlar başka. Okyanus böylesine zalimken kuşlar, sözgelişi kırlangıçlar neden öyle ince, zayıf yaratılmış? Okyanus güzeldir, iyidir, ama birden öylesine zalim olur ki, uçan, dalıp avlanan bu kuşcağızlar o kederli küçük sesleriyle bu denize göre çok, pek çok zayıf kalırlar.» diye düşündü.
 ********************************************************************************************************
 ***Bu uzun kara kanatlı kuş ne yaptı? Neden aranmaya pek benzemiyor bu?
 Tam o sırada, biraz ilerde, önünde uçan uzun kara kanatlı bir kuş gördü. Birden alçaldı kuş, kanatlarını arkaya kısıp aşağı süzüldü, sonra yeniden bir daire çizerek yükseldi.

«Bir şeyler bulmuş olmalı,» dedi yaşlı adam yüksek sesle. «Aranmaya pek benzemiyor bu.»
*********************************************************************************************************
***Nereye doğru kürk çekmeye başladı?  Nasıl kürek çekiyordu? Neden daha hızlı gidiyordu?
Kuşun daireler çizdiği yere doğru kürek çekmeye başladı yavaşça. Acele etmiyor, iplerini gergin tutuyordu. Ama akıntıyı biraz geçti, hiç istifini bozmuyordu, ancak kuşu görmesinden öncesine göre de bir az daha hızlı gidiyordu.
*********************************************************************************************************
***Kuş neler yaptı?  Sudan ne sıçradı?  Koca koca olan nedir?
Kuş daha yükseldi, yeniden daireler çizmeye başladı, kanatlarını hiç oynatmıyordu: Sonra birden daldı. Yaşlı adam, uçan balığın sudan sıçradığını, havada umutsuzca bocaladığını gördü.
«Yunuslar!» dedi yaşlı adam yüksek sesle. «Koca koca yunuslar.»
*********************************************************************************************************
*** Kürekleri ne yaptı?  Başaltından ne çıkardı? Sardalyaları ne yaptı? Ne yapıp uzun kanatlı kuğu kollamağa başladı?  Kuş ne yapıyordu şimdi?
Küreklerini bıraktı. Başaltından küçük bir olta çıkardı. Orta büyüklükteki iğnesine sardalyalardan birini geçirdi. Yandan salıverdi. Kıç taraftaki bir halkaya düğümledi. Sonra başka bir oltayı da yemleyip kangal gibi doladı, baş tarafta gölge bir yere koydu. Kürek çekip uzun kanatlı kuşu kollamağa başladı. Kuş şimdi suyun üstünde aranıyordu.
*********************************************************************************************************
***Yaşlı adam gözlerken kuş nasıl daldı? Kuş kanatlarını nasıl salladı?  Yaşlı adam yunusların nesini görüyordu her çıkşlarında? Yunus nerede yüzüyordu?  Sürü ne büyüklükteydi?
***Yunuz niye uçan balığın altında yüzüyordu?  Kuş nasıl görünüyordu? Neden öyle görünüyordu?
Yaşlı adam, gözlerken kuş kanatlarını kısıp gene daldı, sonra kanatlarını boş bir çaba ile yırtıcı yırtıcı sallayıp uçan balığı kovalamağa başladı. Yaşlı adam, balığı kovalayan yunusların her çıkışlarında küçük kamburlarını görüyordu. Yunus uçan balığın tam altında yüzüyordu, balık suya düştüğünde hızı kesilmemiş olacaktı. Büyük bir sürü diye düşündü. Uçan balığın kurtulma umudu çok az. Kuş da talihsiz görünüyor. Balık ona göre çok büyük, hem de çok hızlı gidiyor.
*********************************************************************************************************
***Uçan balık ve kuşun nelerini gördü balıkçı?  Balıkçı sürü ile ilgili ne düşündü? Sürü ne yaptı?İhtiyar balıkçının oltasına ne takılabilir?  Büyük balık belki nerededir?
Uçan balığın üst üste sıçramalarını, kuşun boşa giden saldırmalarını gördü. Sürü benden uzaklaştı diye düşündü. Çok hızlı gidiyorlar, açıldılar. Belki sürüden ayrılan biri takılıverir oltama, hem belki benim büyük balık da onların ardındadır.

Otomatik soru cevap bu soruların doğru cevaplanmasını gerektirir.  Normal searchte 'kuş' + 'gördü' ile arama yaptığınızda
aramanız bir döküman ya da o dükümanın ilgili sayfasını döker.  Ayrıca, eğer 'görmüş' yazarsanız aramanız başarısız olur.
Oysa fiil ve isim çekimlerini yapan ve kelimelerin köklerini de bulan LANGANA-T ile işlenmiş bir dosyada ilgili cümleyi
otomatik olarak bulursunuz.  Ayrıca o cümle ayrıştırılmış olduğu için kolaylıkla sorunun gerektirdiği cevap şekline
sokulabilir.  Bütün bunları zaman içinde yavaş bir tempo ile ya da gelen taleplere göre yapıp göstereceğim.

Saygılar.

Ali R+ SARAL

Monday 14 May 2018

Anlam nedir? What is meaning?


 Anlam nedir?  Anlam nasıl oluşur? 

Yeni bir şey ya da kavramla karşılaştığımızda ona bir anlam veremeyiz.  Bu ilişkilendiremediğimiz
şey başlangıçta tamamen bağımsız bir bilinmeyen olarak belleğimize yerleşir.  Bu içi boş bir ‘anlam’dır.  Daha sonra zaman içinde bu anlamsız şeyler ilgili tecrübemiz artar ya da var olan diğer anlamlı şeylerle bu bilinmeyenin ilişkisi canlanmaya başlar.  Bu gelişme giderek artar ve biz
artık bilinmeyen bu şeyi bilmeye daha doğrusu anlamaya başlarız.

Anlam bağlam içinde oluşur.  Anlamı belirleyen içinde bulunduğu bağlamdır.

Bilgisayar tasarımı açısından:  anlam başlangıçta bağlantıları olmayan içi boş bir kayıttır. Daha sonra ilk olarak, bir kelime yani o boş kayıtın temsil ettiği şey ya da etiketi  bu boş kayıta bağlanır.  Bu kelimeyle ilişkili olan kayıtlar program akışı içinde bu boş kayıta bağlanır.  Eğer dikkat edilirse, anlamın kullanılan dilden bağımsız olduğu görülür.  Başlangıçta, ilk eklenen etiket kayıt Türkçe’den başka bir dile çevrilirse o dilde anlama işlemi gerçekleşebilir.


Webster sözlüğü:
1 a: Kişinin özellikle dil aracılığı ile iletmek istediği şey.
b: Özellikle dil aracılığı ile iletilen şey.
2 ima edilen ya da kastedilen şey
webster
1 a:the thing one intends to convey especially by language.
b: the thing that is conveyed especially by language
2 something meant or intended

word reference.com
1. Olduğu kastedilen ya da gerçekten olan şey,
ifade edilen ya da belirtilen; önemlendirilen
word reference.com
1. what is intended to be or actually is,
expressed or indicated;signification

wictionary
1. Bir şeyin semboline karşı düşen değeri
2. Bir şeyi önemlendiren
3. (semantics) Bir kelime ya da cümlenin belirttiği
nesne veya kavram, veya bir cümlenin söylediği.
wictionary
1. The symbolic value of something
2. The significance of a thing.
3. (semantics) The objects or concept that a word or phrase denotes,
or which a sentence says.
Synonyms
(significance): sense anlam???
(symbolic concept): definition(semantics). tanım

free dictionary
1 a. Notasyonlanan şey, temel alınan, veya bir kelime veya cümle
ile ilişkilendirilen
b. İletilen veya kastedilen bir şey
free dictionary
1 a. The denotation, referent, or idea assocaited with a word or phrase.
b. Something that is conveyed or intended,
especially by language;sense or significance





 

Friday 11 May 2018

LanaganaT Morfolojik Kısaltmalar


Langana-T Türkçe Dil Parçalayıcısının morfoloji aşamasında kullandığı dil değişkenlerinin isimleri (burada var olan dğişkenlerin hepsi yerine bir fikir verecek kadarı belirtilmiştir).


R ö.is.   Root - R kelimenin olduğu gibi sözlükten alındığını belirtir
N is.   Noun - N kelimenin isim kökenli kelimelerin kısmında işlendiğini belirtir.
V f.         Verb - V kelimenin fiil kökenli kelimelerin kısmında işlendiğini belirtir.
---------------------
is.           isim
f.             fiil
sf.           sıfat
zf.           zarf
ed.         edat
ö.is.       özel isim
zm.        zamir
bağ.       bağlaç
ün.         ünlem
----------------------
60           2   35      başka
                Kitabın en başından itibaren 60. kelime, 2. cümle,
                bu cümle içinde 35. kelime
R eda. sf. ===>başka
                'başka' kelimesi root edat veya sıfat'tır.
----------------------
isim ekleri
62           2   37      sandala
N is. ===>sandala   =sandal -a   ^Noun->Noun
                -a eki isimden isim oluşturuyor.
N is. ===>eve   =ev -e   ^Noun->Noun
N is. ===>işi   =iş -i          ^Noun->Noun
R zm. ===>bunları   bu [n] +lar -ı
N is. ===>ağlardan   =ağ  -lar  -dan          ^Noun->Noun
R zm. ===>benden   ben -den
N zf. ===>orda   =orada -da       ^Noun->Noun 
                (Zamirler isim gibi işleniyor, istisnalar dışında)
R zm. ===>Bende   ben -de

N is. ===>haberlerini   =haber  -ler  -ini                 ^Noun->Noun
N is. ===>yalnızlığını   =yalnızlık -ğını       ^Noun->Noun

-----------------------
fiil ekleri = edilgenlik eki + olumsuzluk eki + zaman eki + şahıs eki
V f. ===>okuyacağım   =oku +2y -acağım             ^CEKliGelecek %tr.intr.
V f. ===>bilmiyordu   =bilmi -iyordu       ^ŞimdikiDILIGeçmiş       %tr.intr.
V f. ===>çıkardı   =çıkar -dı          ^GenişDiliGeçmiş => morphoHistory=DiliGeçmiş                             %tr.intr.
V f. ===>verdi   =ver -di               ^DiliGeçmiş        %dat.tr.intr.
V f. ===>olur   =ol -ur    ^IRliGenişZ         %intr.
V f. ===>bitmiş   =bit -miş           ^MİŞliGeçmiş    %tr.intr.
V f. ===>düşünsene   =düşün -sene      ^Şart     %tr.intr.
V f. ===>gel   =gel           ^Emir    %intr.
V f. ===>batmıştı   =bat -mıştı   ^DiliMişliGeçmiş              %intr.

V f. ===>bölüşürüz   =bölüş -ürüz           ^IRliGenişZ
V f. ===>Döndüğüm   =Dön -düğüm      ^Verb->Noun  %intr.
V f. ===>anlatırsın   =anlat -ırsın               ^IRliGenişZ         %tr.intr.dat.
V f. ===>korkuyorum   =kork -uyorum                 ^yorŞimdiZ         %dat.intr.
V f. ===>korkacaksın   =kork -acaksın    ^CEKliGelecek %dat.intr.
V f. ===>alsak   =al -sak                ^Şart     %dat.tr.intr.
V f. ===>Alalım   =Al -alım           ^Emir    %dat.tr.intr.
V f. ===>Aratırım   =Arat -ırım   ^IRliGenişZ         %tr.intr.
V f. ===>istemiyorum   =iste (mi) -iyorum          ^yorŞimdiZ         %tr.intr.

V f. ===>yenilmez   =yen +1il (mez)       ^Verb->Adjective  => morphoHistory=Emir       IRliNegGenişZ   Passive                                 %tr.
V f. ===>bulabilir   =bul +1abil -ir             ^IRliGenişZ         %tr.intr.
V f. ===>alabilirim   =al +1abil -irim         ^IRliGenişZ         %dat.tr.intr.
-----------------------
İsim Kelime tipi Dönüştürücüler
N is. ===>köşedeki   =köşe -deki             ^Noun->Noun/Adjective
N is. ===>denizlerdeki   =deniz  -ler  -deki           ^Noun->Noun/Adjective 
N sf. ===>Balıksız   =balık -sız     ^Noun->Adjective
N is. ===>kısmetli   =kısmet -li   ^Noun->Noun/Adjective
N is. ===>Denizle   =Deniz -le    ^Noun->Adverb
N zf. ===>saatlerce   =saat  -ler  -ce        ^Noun->Adverb 
N is. ===>ellerimle   =el  -ler  -imle          ^Noun->Adverb
N is. ===>zamandır   =zaman -dır            ^Noun->Verb   %intr.
N zm. ===>seninledir   =sen [inle] -dir ^Noun->Verb  %intr. 
N f.  ===>tutanlarsa   =tut -anlarsa         ^Noun->Verb Şart  =>tense analysis= Şart         %tr.intr.

N is. ===>Gözlerinden   =Göz  -ler  -inden           ^Noun->Noun
-----------------------
Fiil Kelime tipi dönüştürücüleri
-----------------------
V f. ===>duran   =dur -an            ^Verb->Noun/Adjective             %intr.
V f. ===>uyurken   =uy -ur -ken               ^IRliGenişZ->Adverb     %dat.intr.
V f. ===>kalkarak   =kalk -arak ^Verb->Adverb ->Adverb          %intr.
V f. ===>olup   =ol -up ^Verb->Adverb               %intr.
V f. ===>döndüğümde   =dön -düğümde            ^Verb->Noun  %intr.
V f. ===>sarsıldığını   =sars +1ıl -dığını    ^Passive  => morphoHistory=Verb->Noun                         %tr.
V f. ===>kaldıkça   =kal -dıkça    ^Fiilden-Zarf dikçe->Adverb => morphoHistory=Verb->Adverb                              %intr.
V f. ===>tutunca   =tut -unca    ^Verb->Adverb               %tr.intr.
V f. ===>oturmadan   =otur (ma) -dan ^Verb->Adverb               %intr.
V f. ===>çıkalı   =çık -alı                ^Verb->Adverb               %intr.

V f. ===>yaşadığımca   =yaşa -dığımca   ^Verb->Adverb               %intr.

------------------------
Zarf kelime tipi dönüştürücüleri
N zf. sf. ===>böylesine   =böyle -sine    ^Adverb->Adverb
V f. ===>ettikten   =et -tikten   ^Verb->Adverb ->Adverb          %tr.intr.dat.
N zf. ===>öncesine   =önce -sine            ^Adverb->Adverb
V f. ===>Çektikçe   =Çek -tikçe                 ^Fiilden-Zarf dikçe->Adverb => morphoHistory=Verb->Adverb                              %tr.intr.

V f. ===>çekilip   =çek +1il -ip    ^Passive  => morphoHistory=Verb->Adverb                     %tr.intr.

İyelik ekleri
------------------------
R zm. ===>O   o
6763      903   1   benim
R zm. ===>benim   ben -im
6764      903   2   kardeşim
N is. ===>kardeşim   =kardeş -im            ^Noun->Noun
R zm. ===>senin   sen -in
R zm. ===>bizim   biz -im
N sf. is. ===>Dostlarımız   =Dost  -lar  -ımız          ^Noun->Noun

Edilgenlik ekleri
-------------------
V f. ===>açıldım   =aç +1ıl -dım ^Passive  => morphoHistory=DiliGeçmiş                              %tr.intr.
V f. ===>soyulmuş   =soy +1ul -muş       ^Passive  => morphoHistory=MİŞliGeçmiş                          %tr.
V f. ===>bozulmamış   =boz +1ul (ma) -mış        ^Passive  => morphoHistory=MİŞliGeçmiş          %tr.intr.
V f. ===>kırılır   =kır +1ıl -ır          ^Passive  => morphoHistory=IRliGenişZ                               %tr.intr.
V f. ===>yenilmez   =yen +1il (mez)       ^Verb->Adjective  => morphoHistory=Emir       IRliNegGenişZ   Passive                                 %tr.
V f. ===>veriliyordu   =ver +1il -iyordu ^Passive  => morphoHistory=ŞimdikiDILIGeçmiş                             %dat.tr.intr.
V f. ===>yenilmezdi   =yen +1il -mezdi                 ^Passive  => morphoHistory=DiliGeçmiş              IRliNegGenişZ                   %tr.
V f. ===>üzülüyorlardı   =üz +1ül -üyorlardı        ^Passive  => morphoHistory=ŞimdikiDILIGeçmiş                             %tr.
V f. ===>kesilirdi   =kes +1il -irdi               ^Passive  => morphoHistory=GenişDiliGeçmiş                 %tr.intr.
V f. ===>utanılacak   =utan +1ıl -acak     ^Passive  => morphoHistory=CEKliGelecek                        %intr.

V f. ===>yatırılıp   =yatırıl -ıp      ^Passive  => morphoHistory=Verb->Adverb                     %tr.intr.
V f. ===>sarsıldığını   =sars +1ıl -dığını    ^Passive  => morphoHistory=Verb->Noun                         %tr.
V f. ===>denilen   =den +1il -en               ^Passive  => morphoHistory=Verb->Noun/Adjective                  %intr.

Nesne Geçişkenliği
------------------
dat.    (dative) dolaylı tümleç yapabilir
tr.           (transitive) nesnesi olabilir
intr.       (intransitive) öznesi olabilir
Eğer bunlardan yalnız bir veya ikisi varsa kelime yalnız o özelliklere sahip olabilir.
Eğer fiil edilgen ise parse aşamasında fiil sözlükte intr. olarak belirtilmişse
bile nesne sahibi olarak işlenir.

R f. ===>vermek             %dat.tr.intr.
N f. ===>vermek   =ver -mek    ^Verb->Noun  %dat.tr.intr.

Wednesday 9 May 2018

LANGANA-T üzerine


LANGANA-T Türkçe Dil Ayrıştırıcısı (Turkish Language Parser)'nı geliştirme
sürecine ilişkin bazı rakamsal bilgiler:

1- Geliştirme parserlar konusunda 5 yıl tecrübesi olan tek programcı
ile 9 ay sürdü.

2-Program satır sayıları ve fonksiyon sayıları:
NbParseWords.java  8414 lines 112 functions
NbMorphoAnalysis.java 4381 lines 47 functions
NbMorphoAnalysisSub1.java 1229 lines 4 functions
NbMorphoNoun.java 3599 lines 6 functions

3- Kabaca program yapısı:
3.1. Syntax parçalayıcı
3.2. Morfolojik analiz
3.3. 3 aşamada parse

4- Program rule-based'tir ve Özne - Nesne belirleyabilmektedir.

Son söz: 9 ayda toplam 20 bin satırdan az bir miktarda tek kişi
bunu yapabildiyse niye şimdiye kadar bu iş yapılmamıştır anlamak zor.
Bir sorun üniversiteler ve akademik çevrelerdeki yaklaşımdan
kaynaklanmaktadır kanımca.  Günümüzde populer olan yaklaşım
neural networks(NNW)'tür.  Dolayısıyla, akademik olarak bir başarıya
ulaşmak için NNW kullanmak bir zorunluluk oluyor. Hatta,
rule-based yaklaşımla yapılmış bir iş bilimsel açıdan orta veya
aşağı olarak görülmekte. NNW ile  elde edilen sonuçlar ise çok tartışmalı.

Oysa, rule-based sistemle yaklaşık 100 bin satır yazıldığı takdirde
ülkemiz için çok faydalı olabilecek bir dil alt yapısı oluşturulabilirdi.
Almanya'da 5 yıl çalıştığım Hava Trafik Kontrolü sisteminde PL1 olarak
1 milyon 200 bin satır assembler olarak yaklaşık 300 bin satır vardı.
Günde (o zaman) 1200 uçak binlerce yolcu güvenliğini sağlayan rule-based
bir sistemdi.

TUBITAK'ın desteği ile oluşturulabilecek bir Türkçe dil alt yapısı ile
büyük yazı dosyalarından bilgi alma, binlerce sayfalık hukuk davalarında
tutarsızlık vb arama, kanuni telefon kayıtlarının taranması, uçak bakım
sürelerinin kısaltılması, internet üzerinden sorulan sorulara otomatik
cevap verme vb bir çok yeni imkan ülkemizin hizmetine girebilir.
girebilir.
 

Tuesday 8 May 2018

Bir Türkçe dil parçalayıcısının (language parser) doğruluğu


Bir Türkçe dil parçalayıcısının (language parser) doğruluğu nasıl ölçülmeli?

HATA ORANLARI:
1-      Öncelikle morpholojik doğruluk hatalı kelime sayısının toplam kelime sayısına oranı olarak belirtilmeli.
2-      Özne, nesne hatası hata sayısının toplam cümle sayısına oranı olarak belirtilmeli.
3-      Bu alanda çalışma yapan kişilerin ortak olarak kabul ettikleri hata belirtme yöntemleri olmalı.

DENEME METİNLERİ:
1-      %82 gibi doğruluk rakamları verirken buna ilişkin test metinleri ve hata bildirim yaklaşımları da açıklanmalıdır.  Bu konuda öncül niteliği taşıyan makalelerin Türkçe’nin özelliklerine değinmesi doğal fakat bilimsel açıdan yalnızca kullanılan yöntemlerin anlatılması yeterli değil.  Nitekim aradan 10 yıllar geçtiği halde bu çalışmaların pratik ya da ticari sonuçlarının olmaması şaşırtıcı değil.
2-      Test metinleri ortak bir corpusta Türkçe metinler genel ve özel konular için toplanmalı.  Böylece farklı araştırmacıların aynı test datası üzerinde deney yapıp sonuçları karşılaştırması mümkün olabilir.

JARGON:
1-      Program içinde kullanılan ve parser çıktısında gözüken ‘isim, sıfat, Tamlayan, İyelik’ vb isimler ortak bir referans oluşturularak standartlaştırılmalı.

PERFORMANS:
1-      Performans ölçümü için standartlar belirlenmeli, test metinleri oluşturulmalı.