Saturday, April 21, 2007

Türkçe’nin Bağlılık Ayrıştırması

İTÜ Bilgisayar Mühendisliği bölümünden Gülşen Cebiroğlu Eryiğit, 24 Nisan Salı günü, saat 12:00'da, Boğaziçi Üniversitesi'nde ETA 16'da DDİ (Doğal Dil İşleme) ve Türkçe arakesitinde bir seminer verecek:

Bu seminerde, zengin bitişken bir biçimbirimsel yapıya sahip, tümce içi öğe dizilişleri serbest ve çoğunlukla sağa bağımlı türde olan Türkçe'nin bağlılık ayrıştırması konusunda yapılan araştırmalar anlatılacaktır. Yukarıda sıralanan özellikleri ile Türkçe, İngilizce'den ve ayrıştırma alanında üzerinde yoğun olarak çalışılmış birçok dilden farklılıklar göstermektedir. Bu niteliği ile benzer özellikler gösteren bir sınıf dilin temsilcisi olarak görülebilir. Tanıtılacak araştırmalarda, yakın geçmişte kullanıma sunulan Türkçe derlem (Odtü-Sabancı Türkçe ağaç yapılı derlemi) kullanılarak, veri güdümlü ayrıştırıcılarda farklı tasarım yöntemlerinin kullanılmasının etkileri incelenmiştir.

Saturday, April 14, 2007

Türkçe Üzerine Deneme



Akademik dünya dışından Türkçe DDİ (Doğal Dil İşleme) konusunda bir hayli yoğun çaba sarf eden, araştıran, düşünen sorgulayan ve bunları Internet üzerinden kamu ile paylaşan bilgisayar uzmanlarından Müzmin Anonim'in geliştirdiği Türkçe Üzerine Deneme programından bu sabah haberdar oldum.

Evdeki Debian GNU/Linux makinamdaki eski bir WINE sürümü ile çalıştırdım ve ilk denemelerimi yaptım. WINE kaynaklı Türkçe harf yazamama sıkıntımı bir kenara bırakırsak programın performansının etkileyici olduğunu belirtmeliyim. Tabii ne kadar çok kişi Türkçe Üzerine Deneme programını bilgisayarında dener ve geribildirimde bulunursa o kadar iyi olacaktır. Akla ilk gelen şeylerden biri de bu yazılımı Zemberek kıyaslamak olacaktır herhalde.

Pazartesi ilk işlerden biri ofisteki MS Windows XP bilgisayarımda bu programı daha detaylı kurcalamak olacak.

Friday, March 16, 2007

Türkçe morfolojik anlam karar vericisi

Emre Sevinç'in zemberek_dev mesajından alıntı:
Koc'tan Deniz Yüret, birkac gün
önce Bogazici'nde "Learning Morphological Disambiguation Rules for
Turkish" baslikli bir sunum yapmis. Sunum dosyasina, ilgili makaleye
ve örnek kodlar ile veri dosyalarina suradan erisilebilir:

http://www.denizyuret.com/pub/hlt-naacl-06/

Bir cümledeki sözcüklerin farkli ve gecerli pek cok morfolojik
cözümlemelerinden o cümle icin hangisinin dogru olacaginin otomatik
olarak belirlenmesi (disambiguation) ile ilgili bir calisma.
Türkcedeki bir sözcügün farkli cözümlenmesi, dolayisi ile birden fazla
cözümleme agacina yol acabilmesi halinin Ingilizceye kiyasla cok daha
yüksek olmasindan ötürü önemli bir bu tür calismalar.

Tuesday, January 16, 2007

Perl ve Prolog ile Doğal Dil İşlemeye Giriş



Prolog en başından itibaren dil işlemek için tasarlanmıştı. Sistemle birlikte gelen arama ve birleştirme mekanizmaları formel dilbilim modellerinin şık ve kısa kod yazacak şekilde uygulanmasına olanak tanır. "Definite Clause Grammar" (DCG) ile cümle çözümlemek Prolog içinde arama yapmaya karşılık gelir. Prolog kuralları yükleme esnasında tanır ve bunları yantümcelere çevirir. Böylece Prolog motoru cümle çözümleme işlemini daha fazla program yazmaya gerek kalmadan halleder.

Gerek akademide gerekse piyasadaki pek çok doğal dil işleme sistemi Prolog ile yazılmıştır. Perl, Python, Java veya C++ gibi diller de artık doğal dil işleme mühendisliğinde yaygın olarak kullanılır hale gelmiştir ancak bu dillerde bir fikri ya da dilbilim teorisini uygulamak hala çok kod yazmayı gerektirmektedir. Prolog ise sadece birkaç satır kodlama ile problemin özüne odaklanmayı mümkün kılar. Böylece bizleri işin hamallığından olabildiğince kurtarıp temel kavramları yakalamamızı sağlar.


Pierre M. Nugues'in "An Introduction to Language Processing with Perl and Prolog - An Outline of Theories, Implementation, and Application with Special Consideration of English, French, and German" kitabının Phrase-Structure Grammars in Prolog başlıklı 8. bölümü yukarıdaki sözlerle açılıyor.

Bilgisayarla doğal dil işleme alanındaki pek çok konuya değinen, 2006 yılında çıkmış bu 500 sayfalık kapsamlı kitap derlem (corpus) oluşturmaktan entropiye, n-gram modellerinden istatistiksel yöntemlere, POS (Part-Of-Speech) etiketlemeden sözdizim çözümlemeye; semantik, söylem ve diyalog modellemeye kadar hemen hemen tüm DDİ kavramlarını ele alıyor. Bu konularla ilgili teorik bilgiler gayet açık, sade ve akıcı bir dille verildikten sonra somut olarak Perl ve Prolog ile somut uygulamalar sunuluyor.

Benim açımdan kitabın faydaları arasında bu aralar üzerinde çalıştığımız projelerden biri olan doğal dil damgalama bağlamında karşıma epey sık çıkan dependency grammar konusunu daha iyi anlamak vardı mesela. Buna ek olarak belki de aklımda en çok kalacak bölümlerden biri de şimdiye dek gördüğüm en güzel "encoding" (Unicode, UTF-8), "locale" ve "collation" kavramlarının, çeşitli karakter setlerinin farklı ortamlarda neye göre sıralama algoritmasına tabi tutulduklarının anlatıldığı kısım. Şimdiye dek gördüğüm en güzel anlatımlardan biri. O kadar hoşuma gitti ki etrafımdaki yazılımcı arkadaşlarıma şu soruyu sormaya başladım:

Bir metin editörü açtınız, 500 karakterlik bir Türkçe yazı (bu 500e boşluk, noktalama, vs. dahil olsun yani 500 tuş vuruşluk) yazdınız, UTF-8 olarak kaydettiniz. Kaç byte yer tutar o dosya?


Henüz ilk seferinde bu soruya doğru cevabı veren biri ile karşılaşmadım (kendim dahil :))

"An Introduction to Language Processing with Perl and Prolog"u, NLP yani Natural Language Processing yani DDİ yani Doğal Dil İşleme ile uğraşan bilgisayarcılara, dilbilimcilere ve hevesli araştırmacılara gönül rahatlığı ile tavsiye edebilirim. Ayrıca bu kitabın bir parçası olduğu Cognitive Technologies serisine genel olarak bakmakta fayda var. Mesela serideki Artificial General Intelligence kitabı bilişsel bilimler, yapay zekâ, vb. konularda çalışan araştırmacılara faydalı olabilecek önemli kitaplardan biri. kitaplardan biri.

Açık Davetiye

Merhabalar,
Blog'umuzun amacı Türkçe Dil İşleme ile ilgili kaynakları bir çatı altında toplamak. Bunun için Türkçe dil işleme konusunda katkıda bulunabilecek herkesi bu blogda yazar olmaya davet ediyoruz.
Saygılar,