Harun Reşit Zafer

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

Türkçe Metinlerin Sınıflandırılması için Deney Ortamı: Prizma

Bundan önceki metin sınıflandırma çalışmamızı kısaca özetleyerek başlayalım. 10 yazara ait 100’er köşe yazısı toplamış bunlardan bir kısmı ile sistemi eğitmiş diğer kısmını ise test için kullanarak köşe yazılarını yazarlarına göre sınıflandırmaya çalışmıştım. Bunun için yazdığım Java kodu her bir yazıdan 13 adet nitelik (attribute) değeri çıkarıyordu. Mesela ortalama kelime uzunluğu, cümle uzunluğu, noktalama işareti kullanım oranı bu niteliklerden bazılarıydı. Sonuçlar ise %95 oranında isabetliydi. Rakamlarla konuşmak gerekirse 10×100 = 1000 köşe yazısından 50×10= 500 adedini eğitim (training) için kullandığımızda kalan 500 yazıdan yaklaşık 475 kadarının hangi yazara ait olduğu doğru şekilde tahmin edilebiliyordu.

Bahsettiğim 13 adet niteliği ise denediğim birçok nitelik arasından seçmiştim. O çalışmayı anlatan yazıda da belirttiğim gibi ilerisi için hedefimiz hem yazar sayısını (yani sınıf sayısını) artırmak hem de yazıları başka sınıflara (tür, cinsiyet, yaş vb.) göre de sınıflandırabilmekti. Bu tür bir çalışmada tahmin edebileceğiniz gibi temel mesele en etkili nitelikleri bulabilmek. Mesela; Virgül kullanım oranı ya da özel isim kullanım oranı yazarlar arasında ayırt edici bir özellik mi? Hangi nitelikler bir arada kullanıldığında daha etkili oluyor? Yazıları yazarına göre değil de türüne göre sınıflandırmak istesek aynı nitelikler işe yarar mı? Bu ve benzeri sorulara cevap alabilmenin tek yolu ise denemek! Örnek vermek gerekirse; Virgül kullanım oranının ayırt edici bir nitelikken soru işaretinin etkili bir nitelik olmadığını, bir yazarı diğerinden ayırt etmede pek de işe yaramadığını bu tür denemeler sonucunda görmüş olduk.

Yukarıda bahsettiğim nedenlerden ötürü test (deneme-yanılma) sürecini hızlandıracak bir uygulamaya ihtiyacımız olduğunu gördük. Ve sonuç olarak “Türkçe metinler için Weka tabanlı bir deney ortamı” olan Prizma ortaya çıkmış oldu.

prizma

Kısaca Prizma; “preprocess” sekmesinde seçilen veri kümesinden istenilen nitelikleri çıkararak ARFF formatında bir dosya oluşturur, “experiment” sekmesi ise ARFF dosyasını WEKA’da tanımlı algoritmaları kullanarak test eder ve sonuçları gösterir. Prizma ile birlikte 20 küsür nitelik hazır geliyor. Ancak kullanıcılar kaynak kodlara kendi niteliklerini de ekleyebilirler.

Uygulamanın kullanımını aşağıdaki videoda anlatmaya çalıştım. Videoyu HD kalitede büyük ya da tam ekran izlemenizi öneririm.

 

Prizmaya nasıl kendi niteliklerimizi ekleyeceğimizi de bu videoda anlatmaya çalıştım. Videoyu HD kalitede büyük ya da tam ekran izlemenizi öneririm.

Prizma’nın Türkçe metin sınıflandırma konusunda çalışacak arkadaşlara önemli kolaylıklar sağlayacağını umut ediyorum. Ayrıca YTÜ doğal dil işleme grubunun da metin sınıflandırma konusunda daha kapsamlı çalışmaları ve Prizma benzeri uygulamaları var. Çalışmaya başlamadan önce onları da mutlaka araştırın derim. Prizma’yı çalışmalarında kullanacak arkadaşların sağlayacağı geri bildirim ile uygulamanın daha kullanışlı hale geleceğine de inanıyoruz.

Prizmayı kullanarak yaptığımız son çalışmada yazar sayısını 30’a çıkardık. Ayrıca cinsiyet ve yaş (genç, orta, yaşlı) gruplarına göre sınıflandırma yapmayı da denedik. Çalışmanın sonuçları paylaştığım yazıya ise buradan ulaşabilirsiniz. Prizmanın geliştirilme sürecindeki katkılarından dolayı Ziynet Nesibe‘ye de teşekkür ederim.

Prizmanın proje sayfasından uygulamayı, kaynak kodları ve kullanılan veri kümelerini (köşe yazıları) indirebilirsiniz. Faydalı olması dileğiyle.

Herkese kolay gelsin

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

1 Yorum

  1. Türkçe böyle çalışmalarınız için teşekkürler

Bir Cevap Yazın

E-posta adresiniz yayınlanmayacak

*

© 2017 Harun Reşit Zafer

Temayı tasarlayanAnders NorenYukarı ↑