Herhangi Bir Metnin Hangi Dilden Olduğunu Hızlıca Anlama

0
FZ
Yapay zekâ dersim için Prolog ile boğuşurken ve comp.lang.prolog haberleşme/tartışma grubunu mesaja boğarken oraya katkıda bulunan bir hocanın, Gertrand Van Noord'un enteresan bir çalışması dikkatimi çekti.

Perl ile yazılmış bir tür dil kategorizasyon programı. Yani bir GİRDİ'ye bakıp, "hmm bu Türkçe" diyor, başka bir girdiye bakıp "hmm, bu da Portekizce" diyor ve bunu kısa sürede, yüksek başarım oranı ile, 69 farklı dil için yapıyor. Açık kodlu, özgür yazılım kategorisinde alan TextCat'in bir de web demosu var.

Van Noord, TextCat'in ticari ve ticari olmayan rakiplerini de sıralamış. Kendi yazılımına dil sayısı olarak en çok yaklaşan yazılım XEROX Language Identifier ticari bir yazılım ve 40 civarı dil ayırt edebiliyor.

Hep birlikte tekrarlıyoruz: Özgür Yazılımı Seviyoruz! :)

Görüşler

0
abakana
Türkçe' ye özgü ışğ karakterlerinin bulunmadğı metinleri unknown olarak gösteriyor. Bu arada ışğ olmaması kesinlikle kullanılmaması anlamında algılanmalıdır. ı -> i ğ -> g gibi bir dönüşüm yapılmadı.
0
roktas
Hmm... Bu denemeyi hangi ortamda yaptınız? (Tarayıcı + OS) Burada böyle bir sorun yok (Firefox + Debian 3.1 Sarge). Ayrıca ı (idotless) gibi Türkçeye çok özgü karakterleri içeren girişler programa kopya vermek gibi olmuyor mu? :-) Xerox'taki ile kıyaslandığında başarım oranını daha düşük bulsam da programı beğendim. Stallman'in sözlerini unutmamak lazım, özgürlük teknolojiden evladır. ;-)
0
abakana
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0

Slackware GNU/Linux 9.1
0
redline99
bende turkce karakterleri kullanmadan bir iki cumle denedim, bazilarini bildi bazilarini bilemedi. Ama bencede basarili bir program.
0
FZ
Türk diline özgü düşük seviyeli doğal dil işleme (morfoloji, deASCIIfying, dil tanıma (Türkçe mi değil mi), imla kontrolü,vs.) konuları ile uğraşan arkadaşlara hararetle tavsiye olunur:

http://tspell.dev.java.net/

Daha önce FM'de haberini geçmiştik:

http://www.fazlamesai.net/modules.php?name=News&file=article&sid=2337

Az zamanda, epey kısıtlı kaynakla çok iş çıkarmış sağlam bir ekibin sırtlandığı bu açık kodlu proje herkesin her türlü desteğine açık, bilginize. Türkçe için yapılan çalışmalar neden bu kadar az ve kısır diye şikayet edeceğinize siz de karınca kararınca (ya da belki aslan payını hedefleyebilecek iddialı bir programcı olarak, belli mi olur ;-) katkıda bulunabilirsiniz.
0
The_Patch_Mode
Az önce web sürümünü denedik arkadaşımla. Fakat programı başarılı bulmadık. Mesela program Türkçe'ye özgü karakterleri içeren kelimeleri hemen tanıyabiliyor. ı, ğ ,ş gibi. Ama bu harfleri içermeyen başka Türkçe kelimeleri yazdığımızda tanıyamıyor. Daha doğrusu yazdığım hiçbir Tütkçe kelimeyi tanımadı diyebilirim.
0
FZ
Kelimeler?

Burada sanırım bir yanlış anlama söz konusu. Program istatistiksel yöntemle çalışıyor gördüğüm kadarı ile, dolayısı ile dillere dair açık bir semantik bilgi içermiyor ve dolayısı ile verdiğiniz metin ne kadar uzun olursa o kadar iyi tahmin yapabiliyor. Mesela aşağıdaki paragrafı "Turkish" olarak kategorize ediyor:

--------------------------------------------------------------------------
Merhaba, bu basit bir deneme. Anadilime ait herhangi bir harf kullanmazsam acaba anlayabilecek misin benim anadilim nedir, hatta noktalama da kullanmazsam olur herhalde. Madem o kadar yetenekliyim diyorsun de bana marifetini.

Pekala, tek bir paragrafla olmuyor demek ki. Bir de bunu dene.

Gene mi bulmak kolay olmayacak emin misin. Belki bu sana daha kolay gelebilir, bir ihtimal, hadi kolay gelsin.
--------------------------------------------------------------------

Yukarıdaki metne aşağıdaki cümleleri ekleyip denediğimde yine aynı sonucu alıyorum:

--------------------------------------------------------
Peki ya bir iki laf daha eklersem o zaman da problem olmadan bana kabul edilebilir bilgi verebilecek misin
------------------------------------------------------

Tabii Türkçeye özgü harf kullanmadan yazacağım diye göbeğim çatladı o ayrı :) Ama programın performansını göstermesi açısından fena değil gibi görünüyor.

Not: Noktalama kullanmayacağım derken, doğru kullanmayacağım manasında, yani mesela soru işareti gereken yere yazmamak gibi ancak tabii bunun programı etkileyeceğini düşünmüyorum çünkü noktalama dağılımının konu ile alakası yok.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Ruby On Rails ve J2EE Üzerine developerWorks Makalesi

neikos

IBM developerWorks adresinde Rails ile J2EE mimarilerini karşılaştıran yeni bir makale yayınlandı. Makale, Rails ile Tomcat + Struts + Hibernate'den oluşan bir J2EE mimarisini karşılaştırıyor.

Özellikle J2EE'ye aşina olan ve Rails ile ilgili bilgi sahibi olmak isteyenler için yararlı bir makale.

Seaside Framework ile Internet Programlama

FZ

Bill Clementson, en son gerçekleştirilen Vancouver Lisp Kullanıcıları Toplantısında gerçekleştirilen bir sunumu video olarak kaydedip insanlık ile paylaşmaya karar vermiş.

Söz konusu video, Avi Bryant tarafından Smalltalk [1, 2] dili ile geliştirilmiş Seaside isimli bir Internet programlama "framework"ü ile ilgili ve Common Lisp ile geliştirilmiş sağlam bir Internet programlama "framework"ü olan UnCommon Web'e benzer şekilde "devam ediş" (continuation) tekniğinden faydalanıyor.

JavaScript ile çizim yapmanın kolay yolu: <canvas>

cbc

canvas, Apple'ın Dashboard ile çıkarttığı bir HTML elemanı.

Safari ve Gecko 1.8 tabanlı tarayıcıların (mesela Firefox) da desteklediği bu elemana son destek Google'dan geldi.

2 Günde İşletim Sistemi Yazabilir Misiniz?

FZ

Programlamaya bir şekilde girmiş hemen herkesin aklından bir ara geçmiş sorulardan biridir, "işletim sistemi nasıl yazılır?". İşletim sistemleri bilgisayar dünyasının en popüler, en gizemli, en çok tartışılan ve piyasayı belirleyen konularından biri olagelmiştir. Kimisine göre basit, kimisine göre karmaşık olan bu işte kavram karmaşası da az değildir, çekirdek ile dağıtımı karıştıranlar mı istersiniz, neyin temel işlevsellik olduğu üstüne sabaha dek tartışanlar mı yoksa hangi donanımların esas alınması ve hangi sürücülerin desteklenmesi gerektiğine dair kavga edenler mi istersiniz... BSD, Solaris, Linux, BeOS, VMS, MS Windows ve daha pek çok geliştirme ekibine bakınca konunun popülaritesini ve karmaşıklığını anlamak mümkündür.

Pekiyi bu konuda birkaç günlük bir çalışma ile işin temellerini öğrenmek mümkün müdür? 2 günde işletim sistemi yazabilir misiniz?

Detaylı bir Python - Ruby Kıyaslaması

FZ

Gerçek anlamda yüksek seviyeli dil olarak kabul edilebilecek, popülariterleri gittikçe artan ve Java programcıları tarafından dahi ciddi ciddi değerlendirilmeye başlanan Python ve Ruby dilleri ile ilgili detaylı ve güzel bir kıyaslama makalesi: Ruby, Python, "Power"