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

Yapay Zeka ve GAWK

FZ

Neden Yapay Zekâ için GAWK?

YZ programlama sınıfında kullandığımız programlama dilinin GAWK olduğunu duyan insanların çoğu epey şaşırıyor. Bunu anlayabiliyorum. Evet, GAWK kullanıyoruz. GAWK, Aho, Weinberger ve Kerninghan tarafından geliştirilmiş ve pek çok kişi tarafından programlama dili olarak bile kabul edilmeyen şu eski kalıp tanıma dilinin Gnu versiyonudur. PERL veya TCL örneklerinde olduğu gibi pek çok kişi bu dili "scripting dili" olarak ele alır. İçinde nesneler yoktur, fonksiyonel değildir, gömülü olarak mantık programlama öğelerini barındırmaz. İnsanların şaşkınlığı şunları duyunca tam bir kafa karışıklığına dönüşüyor: (a) her ne kadar öğrenciler projelerinde istedikleri dili kullanma hakkına sahip olsalar da; (b) sadece tek bir istisna hariç, en iyi sonuca ulaşan öğrenciler GAWK ile proje geliştirenler (not: söz konusu istisnanın sahibi PASCAL kullanmış olan bir programcı, kendisi şu anda NSF bursu ile Harvard'da matematik doktorası yapıyor.) C, C++ ve LISP programcıları GAWK ile çalışanların performanslarına yaklaşamadılar (PROLOG ve JAVA kullanarak proje yapan bir öğrencimiz çıkmadı henüz).

0x7D3, Perl, NTP, vs.

FZ

Yeni yılda FM için yazacağım ilk makaleye başlamadan önce tüm okurlara ve katılımcılara barış dolu bir ömür diliyorum.

Bilen bilir zaman konusunda biraz hassasımdır. Hayır yani aşırı değil ama benimle "adama bak, ofisteki PC saatini California'daki bir atom saatine göre senkronize ediyor, deli midir nedir?" şeklinde dalga geçilmesine yol açacak kadar hassasım :).

Sylpheed: Hızlı, Sağlam, Kaliteli

conan

Bir süredir mail okuyucusu (okutucusu daha doğru sanırım :) olarak Sylpheed kullanmaktayım. Hiroyuki Yamamoto'nun bu harika yazılımını biraz olsun tanıtabilmek için bu yazıyı yazmaya karar verdim.

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.

Yapay Zekâ ve Müzik Üstüne

FZ

Bu makale sizi müzik ve yapay zekâ alanlarının arakesitinde kısa bir yolculuğa çıkaracaktır. Uygulamalar, yöntemler ve algoritmalar kısaca sunulacak ve tarihsel gelişim ele alınacaktır. Makale içindeki bağları verilmiş olan örnek müzik dosyaları ve videoları, günümüzde varılan noktaya dair ipuçları içermektedir.

Makale, 2004-2005 eğitim dönemi, güz yarıyılında, Boğaziçi Üniversitesi, Bilgisayar Müh. yüksek lisansı programında Doç. Dr. Levent Akın tarafından verilmiş olan Principles Of Artificial Intelligence (Yapay Zekâ Prensipleri) dersi için bir literatür taraması (literature survey report) olarak hazırlanmış olan makalenin Türk diline çevrilmiş, kısaltılmış ve düzenlenmiş halidir. Makalenin hazırlanmasında eleştirileri ile bana destek veren kardeşim Ergin Sevinç'e, Bülent Murtezaoğlu'na ve comp.ai sakinlerine teşekkürü bir borç bilirim. Makalenin orjinali http://ileriseviye.org/arasayfa.php?inode=ai-music.html adresindedir.