Harun Reşit Zafer

bâki kalan bu kubbede bir hoş sadâ imiş

Türkçe ve Diğer Türkî Diller için Cümle Çözümleyici

Bu yazıda yüksek lisans bitirme tezim bağlamında “bilgisayarlı cümle tahlili” konusuna değinmek istiyorum. Kavram karmaşasının önüne geçmek için hemen belirteyim. Cümle tahlili, cümle analizi ya da cümle çözümlemesi aynı manada kullanılıyor.

Tez başlığım “Türkî diller için genel sözdizimsel çözümleyici” idi. Ve 1 yıllık bir sürecin sonunda ortaya henüz emekleme aşamasında bir yazılım çıktı. Yazılımı anlatmadan önce sözdizimi (syntax), çözümleyici (parser), çözümleme (parsing) gibi kavramlara kısaca değineceğim. Konu hakkında daha detaylı bilgi almak isteyenler yazının sonundaki bağlantıdan tezin orijinalini indirebilirler.

Güncelleme: Projenin son halini anlatan yazıya buradan, kaynak kodlara ise buradan erişebilirsiniz.

Sözdizimi (Syntax) kuralları kelimelerin kelime gruplarını, kelime gruplarının da cümleleri nasıl oluşturacaklarını belirler. Yani cümle kurulurken (sentez) bu kaidelere uygun olarak kurulur. Cümle tahlili (analizi, çözümlemesi) ise cümlelerin kelime ve kelime gruplarından nasıl oluştuğunu analiz etmektir.

Örneğin “Zeynep bu romanı okudu” cümlesini tahlil edecek olursak:

Özne: Zeynep

Belirtili Nesne: bu romanı (sıfat tamlaması)

Sıfat: bu

Tamlanan isim: roman

Yüklem: okudu

Tez çalışmamın sonunda ortaya çıkan yazılım ise bu cümlenin tahlilini aşağıdaki gibi bir ağaç yapısı (parse tree) şeklinde veriyor:

 

Elbette gerçek hayatta bir çok cümlenin tahlili bu kadar basit değil. Üstelik öyle cümleler var ki insanlar bile tahlil etmekte zorlanıyor. Bu yüzden yukarıda da bahsettiğim gibi yazılım emekleme aşamasında. Bunun temel nedeni bir çok cümle ve ifadenin “belirsizlik” içermesi yani birden fazla tahlilinin ortaya çıkması. Örnek vermek gerekirse “pembe panjurlu ev” ifadesi için yazılım 2 çözüm buluyor:

1- İlk tahlil (çözüm) pembe olanın ev olduğunu söylüyor bize:

2- İkinci tahlil (çözüm) ise pembe olanın panjur olduğunu söylüyor.

Biz insanlar hemen pembe olanın panjur olduğunu anlayabiliyoruz ancak aynı şey bilgisayarlar için bu kadar kolay değil.

Bu sorunu aşabilmenin tek yolu önceden insanlarca çözümlenmiş yeterli miktarda (mesela 10 bin cümle) veri ile bilgisayarı eğitmekten geçiyor. Tabi 10 bin cümleyi, tahlil işinden anlayan bir kaç kişinin oturup çözümlemesi bile aylar alır. Böyle bir çalışma 6000 cümle için ODTÜ’de yapıldı ancak orada farklı bir tahlil metodu kullanıldığından bu çalışmada yararlanamadım.

Türkçe için 1990 yılından beri bilgisayarlı cümle çözümleme çalışmaları yapılmakta ancak henüz ortada insanların ücretli veya ücretsiz olarak erişebilecekleri bir yazılım yok. Bildiğim kadarıyla (yaptığım araştırmalar ve literatür taraması neticesinde) bu konuda en iyi sonuçları veren, yani cümleleri en iyi tahlil eden yazılım Kemal Oflazer, Gülşen Eryiğit ve arkadaşlarının bir dizi çalışma neticesinde elde ettikleri “bağlılık analizi” (dependency parsing) yöntemi ile çalışan sistem.

Sonuç olarak kısa zaman içerisinde İnternet üzerinden erişilebilir olacak yazılım bu anlamda bir ilk olacak inşallah. Tek dileğim bu çalışmanın ileride çok daha başarılı yazılımlar ortaya koyacak arkadaşlara bir başlangıç noktası teşkil etmesi. Tezin orijinalini buradan indirebilirsiniz.

Herkese Kolay Gelsin

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPrint this pageEmail this to someone

3 Yorum

  1. Gerçekten üzerinde oturulup geliştirilmesi gereken bir proje gibi duruyor

  2. Tüm bu çalışmalar bizi bilgisayarlardan faydalanmak konusunda binlerce kat hızlandıracaktır. Milat niteliğinde çalışmalar…

  3. üzerinde oturulup çalışılacak bir proje kim yaptıysa ellerine sağlık

Bir Cevap Yazın

E-posta adresiniz yayınlanmayacak

*

© 2016 Harun Reşit Zafer

Temayı tasarlayanAnders NorenYukarı ↑