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

C-Kodunda Güvenlik Açıklarını Bulan Program

sundance

Freshmeat`de bulduğumuz ganimetlere bir yenisi eklendi. Flawfinder

Python ile yazılmış olan bu program C kodundaki, muhtemel buffer overflow problemlerini tespit etmekte ve bunları tehlike derecelerine göre sıralayıp raporlamakta.

Şu an için Unix sistemlerde çalışan bu program, Python tabanlı olduğundan çok kolaylıkla Windows`a uyumlu hale getirilebiliyor.

Wikepage 2006.2 Opus 9 Çıktı

anonim

Bir Türk tarafından hazırlanan wiki yazılımı Wikepage'in yeni sürümü çıktı. Bu sürümde 34KB'lık yazılıma, blog özelliği de eklenerek wiki-blog melez bir yapı elde edilmiş. Blog girdilerinizi wiki sayfası gibi kaydedebiliyorsunuz ve blogunuzu istediğiniz bir wiki sayfasında görebiliyorsunuz. Bu sürümde wikepage, wiki ve blog için basit bir RSS çıktıda sunuyor. Bugfixleri ile gittikçe sağlamlaşan Wikepage'i denemeniz dileğiyle.

Not: Wikepage'i Türkçe kullanmak için ayrıca Türkçe zip dosyasını indirip açmanız gerekiyor.

PowerPoint (Ya Da Killer App Gerçekten Öldürür Mü?)

FZ

Yazılımcıların pek çoğu Bob Gaskins'in yerinde olmak ister(di) herhalde. Dünyanın en çok kullanılan programlarından birini geliştiren bu yazılımcı acaba geliştirdiği PowerPoint ile milyonlarca kişiyi zihinsel bir çıkmaza sokacağının farkında mıydı?

PowerPoint insanda beyin hasarı yaratır mı? Karmaşık bilginin gözden kaçmasına yol açar mı? PowerPoint, hayati risk taşıyan durumların fark edilmesini engelleyerek ve konuyu "basitleştirerek" (!) insan hayatını tehlikeye atar mı? Olası çözümler nedir? Pekiyi ya karşıt görüşler? Devam edelim...

Beta olmak ya da olmamak

redogre

Ya da bir projeyi Beta olarak yayınlarken yapılmaması gerekenler.

Malum Fm wars büyük bir gazla yayına başladı ama birçok hata yüzünden haftalardır oynayan yok. Ben kısaca yaptığım hataları sıralayacağım, eksik gördüklerinizi eklersek şahane bir "Ne yapmalı ne yapmamalı" olabilir...

CHAT Arkadaşım Bir Bilgisayar Mı!

FZ

A.L.I.C.E ve AIML

"Dilimin sınırları düşüncemin sınırlarıdır." Ludwig Wittgenstein (*)

Sıradan bir gün. Bilgisayarı açıyorsunuz. Internet'e bağlanıyorsunuz. Aklınıza gelen siteleri gezerken canınız sıkılıyor ve birileri ile canlı olarak yazışmak istiyorsunuz. IRC kanallarından birinde ya da canlı yazışma imkanı sunan bir web sayfasında AI takma isimli bir kullanıcı ile karşılaşıyorsunuz ve aranızda şöyle bir diyalog geçiyor (1) :