NZemberek 0.1 Çıktı

0
FZ
Zemberek blogundaki habere göre .NET için C# ile geliştirilen açık ve özgür kodlu yazım kılavuzu NZemberek çıktı:

"17 Kasım 2006'da Mehmet'e gönderdiğim bir e-posta ile başlayan çalışmamızın ilk ürününü bugün ortaya çıkardık. Zemberek projesinin .NET "port"u olan NZemberek'in 0.1 sürümü bugün itibariyle yayınlandı. 17 Kasım'dan sonra kodların .NET (C#) karşılıklarını oluşturduk. Bu iş, bazı araçları ya da otomatikleştirilmiş komutları kullanarak ne kadar hızla yapılsa da birçok zorlukla karşılaşılabiliyor. Zemberek ekibinin de desteğiyle şu anda Zemberek2 projesinin işlevlerini neredeyse tamamıyla yerine getiren bir sürüm mevcut.
Mehmet ve Ahmet'e çok teşekkür ediyoruz. Onlar, tek amacımızın bu projeyi .Net platformuna taşımak olmadığını, bilgi ve deneyimimiz ölçüsünde her iki kanatta da elden gelen katkıyı yapmak istediğimizi biliyorlar.

NZemberek için bundan sonraki hedefimiz bir MS Office "add-in"i sayesinde Office Proofing Tools dışında da sözcük denetimini yapabilmek. Gelişmeleri yine Zemberek ekibinin bizimle paylaştığı bu blogdan sizlerle paylaşmaya devam edeceğiz.

Proje sayfası: http://code.google.com/p/nzemberek/

Görüşler

0
mdakin
Bir kaç küçük düzeltme,
NZemberek yazım kılavuzu değil Zemberek kütüphanesinin doğrudan ikizi, yanlış anlaşılmasın.
Bir de NZemberek Geliştiricileri Tankut Tekeli ve Mert Derman, adları geçmiyor hiç bir yerde, ben söyleyeyim :).
0
towsonu2003
1.
"Gelişmeleri yine Zemberek ekibinin bizimle paylaştığı bu blogdan sizlerle paylaşmaya devam edeceğiz."

hangi blog?

------------------------

2.
http://code.google.com/p/nzemberek/wiki/NZemberekKullanim

:rar dosyasını açtığınız klasördeki NZemberek.dll kütüphanesini ekleyin:

:projenizi build ettiğinizde oluşan exe dosyasını çift tıklayıp çalıştırabilirsiniz:

dll? exe? OMG PONIES! ;)

------------------------

3.
neden java'dan .net'e tasimislar?
0
towsonu2003
1. nm...
0
mdakin
Haber biraz eksik olunca böyle sorular gelmesi doğal tabi.

1. http://zembereknlp.blogspot.com

2 ve 3. NZemberek, zemberek projesinin .net klonu. ve farklı bir ekip tarafından yürütülüyor. .net'e taşınma diye bir şey yok. Şimdilik windows altında çalışıyor, dll ve exe muhabbeti o yüzden. zemberek projesi aynen devam ediyor.
0
spinodal
towsonu2003 her 3 sorunuzu da yanıtlamaya çalışyaım:

1. Haberin başında verilen bağlantının hedefi olan blogdan sözediliyor. Haberi buraya yazan arkadaş blogdaki yazıyı olduğu gibi aldığı için anlaşılmıyor olabilir. Ancak bağlantıyı izleyip yazı okunduğunda sanırım yanlış anlama ya da karışıklık gider.liyor.

2. NZemberek kullanımı için hazırlanmış rar uzantılı dosyanın içeriğindeki .dll (kütüphane) kullanım belgesinde anlatılan örnek konsol uygulamasına referans olarak tanıtılıyor. Konsol uygulaması da oluşturulduğunda (build edşkdiğinde) ortaya .exe uzantılı çalıştırılabilir bir dosya çıkıyor. .Net platformuna bir miktar aşina olanların izleyeceği bir yönerge olarak düşünüldüğünden detaya girilmedi.

3. Sadece Zemberek projesine de destek verebilirdik (ki bunu elimizden geldiğince yapacağız zaten) ancak, Zemberek projesini farklı bir perspektiften yaklaşarak daha kolay anlayabileceğimizi hem böylece farklı br platformda kullanmak isteyecek geliştiricilere hazır bir yapı üretmiş olacağımızı düşündük. Bundan böyle her iki yönde de elimizden gelen desteği sürdürmeyi istiyoruz. .Net portuna ilgi oluşmazsa zaten ömrü uzun olmayacaktır, ama ben öyle olmayacağına inanıyorum.

Umarım aydınlatıcı olmuştur.
0
FZ
Şu anda yapmış olduğunuz işin .NET ortamında alternatifi yok bu bakımdan ilgi olacağını düşünüyorum. Bu sayede Türkçe metinle iş yapan her .NET uygulaması ister VB, ister C# ister Perl yahut Ruby ile yazılmış olsun kolayca Türkçe yazım denetleme özelliğine kavuşacaktır. Yolunuz açık olsun!
0
tongucyumruk
Yakın zamanda Java'nın GPL olarak yayınlanmış olduğunu gözardı ederek birşeyler yazmam gerekirse:

Her ne kadar üzerinde yazılım geliştireceğim bir platform olarak gerek .Net gerekse Java bana çok sevimli platformlar olarak gözükmüyor. Öte yandan .Net'in uzun süredir özgür bir gerçeklemesi (implementasyon) bulunması sebebiyle bilgisayarımda hiç Java uygulaması yokken az da olsa Mono ile geliştirilmiş birkaç uygulama var.

Java'nın GPL olmasıyla Java uygulamaları kullanma oranım nasıl değişir bilmiyorum fakat eğer NZemberek Mono üzerinde sağlıklı bir biçimde çalışıyorsa (ki çalışmaması için aklıma bir sebep gelmiyor) en azından kısa vadede yazım denetleme için tercih ettiğim sistem haline gelebilir diye düşünüyorum.

Çalışmalarınızda başarılar dilerim.

Not: Aramızda hem doğal dil işleme, hem de Common Lisp ile uğraşan birileri olsa, CL-Zemberek diye birşeyler falan yazsa, Java kodunu Common Lisp'e port ederek başlayıp sonra Common Lisp tarzına uygun hale getirecek şekilde refactor etse, hatta ECLM 08'de bunu sunsa ne de güzel olurdu değil mi?
0
FZ
MS Windows ortamını düşündüğümde, daha önce belirttiğim gibi pek çok uygulama geliştirici, bunlar gerek VS.NET gerek Delphi yahut benzeri şeyleri kullansınlar, ellerinin altında böyle bir otomatik Türkçe yazım denetleyici olmasından epey memnun olacak ve uygun olan her yerde yoğun olarak kullanacaklardır diye düşünüyorum.

Diğer yandan, Türkiye'de de yavaş yavaş CL ile ilgili profesyonel olarak uğraşmaya başlayan bir kitle oluşmaya başladı ve bunların arasında daha önce Java ile epey uğraşmış yazılımcılar var. Yani doğal dil ile uğraşmadan da Java'daki sistemi CL'ye aktarmak söz konusu olabilir tabii buradaki dezavantaj özgün projedeki gelişmeleri takip edip sürekli yeniden uygulamak, hataları düzeltip senkronu tutturmak olacaktır.
0
mdakin
Burada küçük bir uyarı yapayım, NZemberek'in yazıldığı C# dili java'nın neredeyse kopyası gibi olsa da NZemberek ekibinin çalışması sırasında zaman kaybına neden olan pek çok küçük sorun çıktı. CL gibi Java ile neredeyse hiç ilgisi olmayan bir dile port etmek kat be kat daha zor olacaktır. Uyarmadı demeyin.

0
FZ
Mutlaka fark olacaktır kıyaslarsak. Ancak daha önce ciddi Java deneyimi olan ve orta seviyede Common Lisp bilen birisi eğer yarı zamanlı yahut tam zamanlı bu işe emek harcarsa tahminim 3-4 ayda konunun %90'ını halleder.
0
mdakin
Olsa bile bu emeğe değer mi şüpheliyim. NZemberek için bile yeni değişikliklerle senkronizasyon ciddi bir sorun çünkü.
0
mdakin
Olsa bile bu emeğe değer mi şüpheliyim. NZemberek için bile yeni değişikliklerle senkronizasyon ciddi bir sorun çünkü.
0
FZ
Eşzamanlılaştırma mutlaka bir sorun olacaktır bu tür farklı ortamlara aktarmada. Diğer yandan, değip değmeyeceğine tabii ki öyle bir yükü üstlenmeyi göze alan kişi karar verecektir. Tıpkı NZemberekçilerin yaptığı gibi. Diğer yandan NZemberek ve belki olursa cl-zemberek gibi projelerle uğraşanların geliştirdikleri birtakım şeyler, yapacakları yenilikler de Zemberek'e aktarılabilir. Özgür ve açık kodlu yazılımın doğasındaki bu çok seslilik ve inisiyatif kullanma tavrı zaman zaman garip dallanmalara, budaklanmalara yol açsada zorunlu olarak verimsizlik getirdiği söylenemez.
0
afsina
C++ ya da C# aktarimini anlarim (ki Nzemberek calismasini destekliyoruz) ama Lisp bana biraz mantiksiz geldi (Javaya en uzak dillerden. pythondan bile uzak ). yanlis anlamayin, lispin gucu malum, ama ciddi bir yazilim yaklasim farki var. Aslinda var olan prolog, perl ile yazilmis cozumleyici yapilari belki daha kolay olurdu lisp acisindan. Ayrica ugrasmak isteyenler icin daha hafif oldugunu dusundugum imla denetimi amacli Hunspell gibi eklemeli diller icin C++ kutuphaneler de mevcut. sirf yapmis olmak icin bu konuda calismak bana da biraz eziyet gibi geldi.
0
FZ
Common Lisp'in farklı bir dil olması, bu tür bir çalışmayı "mantıksız" kılmaz diye düşünüyorum. Daha önce belirttiğim gibi üstlelinelecek yük tamamen üstlenecek kişiye bağlı. Sonuç itibarı ile Zemberek'te kullanılan veriyapıları ve algoritmalar belli. Meraklı ve hevesli biri bunları Common Lisp, Scheme, Prolog yahut Haskell gibi kendi favorisi olan üst seviyeli dillerden biri ile uygulayabilir ve böyle bir çalışmanın sonucunda elimizden çok güzel bilgiler istatistikler oluşmuş olur ve çeşitli performans testleri, kıyaslamalar, vs. yapılabilir.

Diğer yandan daha üst seviyeli (sözdizim, semantik, vs.) işler yapmak isteyen birisi için seçeceği dilde yerel olarak yazılmış bir sözcük çözümleyici bir problem değil bir avantaj olacaktır. Tonguç'un vurguladığı gibi bu tür bir çabaya girişen kişi hem anadilinin yapısı üzerine çok daha farklı bir bilince kavuşacak, hem uğraştığı dilde kapsamlı bir uygulama geliştirmiş olmanın içsel "know-how"ına erişecektir ki bu da o kişi için az buz kazanç değildir. Üstelik sonuç olarak ortaya çıkan ürün de işe yaramaz bir şey olmayacaktır. Özgür yazılım dünyasında ne kadar acayip "hadi bunu yeni baştan yazalım, filanca dilde yeniden yazalım" vakaları olduğunu düşündüğümde (bkz. birçok zırva Yet Another XXXXXX türü yazılım) doğrusu Zemberek gibi yapının farklı diller ve yaklaşımlarla yeniden uygulanması (ve belki ileri götürülmesi) bana nispeten çok daha anlamlı geliyor.

Son olarak: "Hani bu üst seviyeli diller (CL, Scheme, Prolog, Haskell, OCaml, vb.) güzel soyutlama sağlıyor, çok daha rahat iş yapmamıza müsaade eder" denir ya, işte meraklıların bu durumu anlamaları için bence çok güzel bir bitirme projesi olabilir bu ölçüdeki kapsamlı bir uygulama.
0
tongucyumruk
Genel olarak insanlığa hizmet adına ne kadar faydalı olacağı tabiiki tartışılır. SOnuçta aynı şeyin birde fazla defa tekrarlanması anlamsız olabilir, hatta CL altında yazım denetimi ihtiyacı varsa zemberek sunucu modunda çalışıyor yanılmıyorsam, ona bir soket açıp sormak daha verimli olabilir.

Öte yandan böyle bir port işleminin, işlemi gerçekleştiren kişiye sağlayacağı fayda oldukça yüksek olacaktır. Eğer bunu yapan kişi, biraz da kodu ezbere CL'e aktarmak yerine kodu okuyup anlamaya çalışarak bu işi yaparsa gerek Java gerekse Common Lisp (özellikle de CLOS) hakkında derinlemesine bilgi sahibi olacaktır. Üstelik bu, Zemberek'in iç işleyişi konusunda oldukça detaylı bilgiye sahip bir kişinin daha ortaya çıkmasıı sağlayarak Zemberek'in geliştirilmesine de yardımcı olacaktır diye düşünüyorum.
0
FZ
Şimdi düşündüm de bu konudan çok güzel bir bitirme ödevi çıkabilir hem de işe yarar bir şey olur, burayı takip eden üniversite öğrencilerinin ve hocalarının dikkatine ;-)
0
hb
Hmm... challenge... ;)
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Looking Glass 3D LiveCD

halixus

Looking Glass 3D LiveCD 2.3a yayinlandi. Looking Glass 3D yi kuramayanlar, kurupta çalıştıramayanlar düşünülerek hazırlanmış. Slax tabanlı bir Live3d yaklaşık olarak 250MB boyutunda. LG3D nedir nasıl bir şeydir diye merak edenler için iso dosyası indirilmeye hazır. Minimum 2GHz işlemci ve 512MB RAM ile çalıştırmanız önerilmekte. Daha önceki sürümündeki hatalar giderilmiş. En azından çalışabilir bir sürüm olmuş.Pencereleri 360 derece döndürmek, yakınlaştırıp uzaklaştırmak oldukça eğlenceli. Bu sürümünde gaim ve firefox la birlikte geliyor. Ekran görüntüleri ise burada.

OpenBSD 3.1 Çıktı!

Wookiert

Default kurulum yapıldığında bile en güvenli işletim sistemlerinden biri olan OpenBSD 3.1 sürümüyle planlanan tarihte hayranlarına kavuştu.

Kriptografi konusunda tam teşekküllü -ve yasal- bir sisteme sahip olarak gelmesi de OpenBSD'nin en çok tercih edilme sebeplerinden. İsteyenler hemen yansılardan birinden download'a başlayabilir.

Bu arada bootable cd yapmak için .iso dosyaları arayanlar biraz hayal kırıklığına uğrayacak, çünkü resmi cdleri daha çok satılması için bootable iso'ları online olarak konulmamış. Yine de dağıtımda gelen cdrom31.fs dosyasını floppy image olarak gösterip cd'nizi bootable yapmanız mümkün.

KDE ve GNOME Uygulamalarını Birleştirmek

tongucyumruk

KDE ve GNOME gibi iki gelişmiş Unix masaüstü ortamı arasındaki uyum sorunları uzun süre sorun olmuştu. Neyse ki FreeDesktop gibi girişimler sonucunda bu sorunlar teker teker aşılmaya başlandı. Şimdi ise Zack Rusin adlı bir KDE geliştiricisi bu uyumu bir adım öteye taşımaya karar vermiş gibi gözüküyor.

Nokia: Python Kullanmak İçin Bir Sebep Daha

FZ

Cep telefonu üreticisi Nokia, S60 serisi cep telefonlarının artık Python ile programlanabileceğini duyurdu. Açık kodlu olarak geliştirilen bu proje ile cep telefonlarını programlamak çok daha kolay hale gelmiş durumda. Bir kıyaslama yapmak gerekirse Hello World in C++, Epoc style (for Symbian OS) koduna bakılabilir. Benzer işi yapan bir Python programı ise 4-5 satır uzunlukta. (C++ linki için Hakan Latifaoğlu'na teşekkürler.)

Avant Browser - IE için çok özellikli bir kabuk (daha az hafıza kullanımı)

crematorium

Bugün innDir.com'u gezerken Avant Browser'i görünce aklıma Conan'ın 25 Mart'da yayınlanan Browser hafıza kullanımı karşılaştırması başlıklı yazısında yazmış olduğu birşey geldi;
"Tab browsing hafıza kullanımı büyük ölçüde azaltıyor. Phoenixde 17 MBlık bir hafıza kârımız görülüyor. Belki IE de bu tip bir teknoloji kullanarak hafıza kullanımı azaltabilir."