Zoque.Forum
»
Text veya benzeri bir formatta Türkçe imla kılavuzu aranıyor
|
| Az Ama Öz Internet, bilgisayar, kültür-sanat, tasarım, programlama gibi konularla ilgili ancak diger bölümlere cok da uymayacak mesajlara bu bölümde yer verebilirsiniz. Politik ve dini içerikli mesajlar forumdan silinecektir. |
![]() |
|
|
LinkBack | Seçenekler |
|
|
#21 (permalink) |
|
Üyelik Tarihi: 19.10.2007
Yer: Ankara
Yaş: 23
Mesaj: 9
|
Re: Text veya benzeri bir formatta Türkçe imla kılavuzu aranıyor
Buradaki konu spellchecking, o yüzden tartışma 'veritabanına ekli hali mi konsun' yoksa 'sözlüksüz kelime köküne ulaşma, ekleri ayırma' algoritması mı uygulanmalı şeklinde bürünüyor sanırım.
Şu şekilde bir işleyiş düşünülebilir: Eğer veritabanına kelimelerin ekli hallerini koyarsak, veritabanının şişeceğini pek sanmıyorum. Pek çok yazınsal metni tarayarak çıkardığım veritabanında 600.000 civarında ekli - eksiz kelime var. Ben veritabanını zaten kullanılan kelimelerden çıkardım, dolayısıyla kelimelerde çok kullanılmayan ekler otomatik olarak cache olarak kullandığım veritabanında yok (durum 1). Genelde dbmsler tek field aracılığıyla 1 milyon satırı işlerken, 1 GB ramle ortalama snde 200 query de zorlanmıyor. 100 sözcüğü, tarayıp, eklerine bölüp, hatanın nerede yapıldığını bulup, (hata varsa köklere ayırma duracaktır; burada programın bir tahmin yürütmesi de gerekmekte) kökü tekrar eklendirip, kelimenin doğru yazılımını önermesi büyük işlemci zamanı demek. Bu kelimeleri doğrudan veritabanından önce 'acaba var mı' diye bakması, daha ilk aşamada hatalı olabilecek kelimeleri çıkarır. Bu 100 kelimede, benim bunun haricinde başka pek çok işi yapmaya çalışan zavallı P4 3ghz'imde kelime başına 0.0005-0.001 saniye sürmekte. DBMS'de ayrıca kendi cachesinin devreye girmesi durumunu yazmıyorum bile, 10 üzeri -5 li sayılara gelir, nitekim bellekten(memory) çalısıyor o vakit. M$ Word'de bu veritabanının olduğunu zaten sanmıyorum, fakat Word'de bir seferde tek bir belge kontrol ediliyor. Dolayısıyla işlemci gücü çok sorun değil. Fakat web üzerinde sn de 10.000+ (webservis) veya 100+ (ortalama bir blog sitesi) kelimede çalışacak bir spellchecking yaptırıyorsak, word u component olarak çağırmak işimize hiç yaramayacak. Burada sorun, bizim veritabanımızda bir kelimenin eki olabilir, o zaman bir sözlüksüz köke ulaşma yöntemini kullanabiliriz. Bulduğumuz çekimleri de tekrar cache veritabanına ekleriz. İmka klavuzu sözcüğü eklerken başka bir dayanak noktası olabilir, köke ulaşırken sözcüğü imla klavuzundan kontrol ettirebiliriz. Böylece 'mamak' kelimesindeki 'mak' mastar eki olarak görülmeden 'mamak' şeklinde yer alabilir. Tabii bu klavuz tablosunda, kelimenin fiil mi, isim mi olduğunun yer alması gerek; nitekim 'ma' sözcüğü de eski dilde su.. Bu sadece kelimeyi hatalı olarak mimlememize olanak tanıyor, kelimenin doğrusunu vermek için levenshtein algoritması uygulanabilir, ama performans konusunda hiç bir fikrim yok. Denemek lazım..
__________________
GWG, Gökçe'nin Web Güncesi |
|
|
|
Zoque'a hoşgeldiniz!