AtasoyWeb - Hüseyin Atasoy
AtasoyWeb
Hüseyin Atasoy'un Programlama Günlüğü

Metin Sınıflandırma İçin ARFF Oluşturucu

Bu araç yardımıyla sınıflandırma amaçlı olarak metinlerden öznitelikler çıkarabilir ve Weka veya Matlab üzerine çalışabilen ARFF dosyaları oluşturabilirsiniz.
Metin Sınıflandırma İçin ARFF Oluşturucu ekran görüntüsü
Gereksinimler: Microsoft .Net Framework 3.5
Son sürüm: 1.2.0
Dosya: tıklayınız

Güncelleme (15/11/2011)

  • Program, öznitelik seçimi için kelimelerin metinler içerisinde bulunma olasılıklarına bakar. Ancak programın seçtiği her kelime, ayırt edici nitelikte olmayabilir. Ayırt edici olmayan kelimelerin elenmesi amacıyla programın, öznitelikleri dışarıdan hazır olarak alabilmesi sağlandı. ARFF dosyalarının en uygun özniteliklerle oluşturulabilmesi için önce ARFF dosyası "Öznitelikleri kendim girmek istiyorum" seçeneği işaretlenmeden oluşturulur. Ardından oluşturulan dosya, Weka'nın öznitelik seçme algoritmalarından uygun bir tanesi kullanılarak işlenir. Weka, sınıflandırmaya katkısı olmayan öznitelikleri eleyip en uygun öznitelikleri listeler. Weka'dan alınan çıktının öznitelikleri içeren kısmı aynen kopyalanır. ARFF dosyası tekrar oluşturulur ve bu sefer "Öznitelikleri kendim girmek istiyorum" seçeneği işaretlenir. Weka'nın çıktısından kopyalanan öznitelikler, programda dosya oluşturulurken beliren kutuya aynen yapıştırılarak işlem tamamlanır. Böylece dosyada, sınıflar için ayırt edici olan gerçek öznitelikler yer alır. Weka'nın kullanılacak öznitelik seçim algoritmasının çıktısında, seçilen öznitelikler arasında bulunan boşluklar, altsatırlar ve rakamlar program tarafından elendiğinden çıktıların programda ilgili yere girilmeden önce düzenlenmesine gerek yoktur.
  • Her bir kelimenin metin içerisinde bulunma olasılığının 0 ile 1 aralığı arasına genişletilebilmesi için "Öznitelikleri normalize et" seçeneği eklendi. Kutucuk işaretli iken en yüksek olasılıklı kelimenin olasılığını 1 yapacak katsayı hesaplanır ve metindeki diğer kelimelerin olasılıkları bu katsayı ile çarpılır.

İlk Sürüm

Metin Sınıflandırma İçin ARFF Oluşturucu, AylarlarProgram, metin sınıflandırma işlemlerinde kullanılmak üzere elle sınıflandırılmış metinlerden en yüksek olasılıklı belli sayıda kelimeyi öznitelik olarak seçerek Weka veya Matlab üzerinde işlenebilen ARFF dosyaları oluşturur.

Verilerin Hazırlanması

Program, verileri klasörler ile sınıflandırılmış metin dosyalarından alır. Programın işleyeceği veriler şu şekilde hazırlanmalıdır:

  • Önce sınıfları ve verileri içerecek bir klasör oluşturulmalıdır.
  • Oluşturulan klasörün içerisine her bir sınıf için sınıfın adını içeren yeni klasörler oluşturulmalıdır. Sınıfları temsil edecek olan bu klasörlerin isimlerinde bulunan A-Z ve a-z karakterleri dışındaki tüm karakterlerin (Türkçe karakterler ve rakamlar dahil) eleneceğine dikkat edilmelidir. Örneğin bir klasör "Sınıf İsmi1" şeklindeki isimlendirilmişse, isimdeki "ı", "İ", "1" ve boşluk karakterleri program tarafından elenecek ve sınıf ismi "Snfsmi" olarak alınacaktır.
  • Sınıfları temsilen oluşturulan her bir klasör içerisine sınıflara ait verilerin yer aldığı, isimleri önemsiz metin dosyaları yerleştirilmelidir. Metin dosyalarının her biri ayrı bir veri kümesi olarak ele alınır.

Verilerin Yüklenişi

Veriler hazırlandıktan sonra program çalıştırılır ve "Kök Dizin Seç..." butonuna tıklanarak hazırlanan verilerin bulunduğu klasör seçilir. Program önce kelime olarak kabul edilebilecek minimum bitişik harf sayısını sorar ve seçili konumdaki dosyaları tarayıp metin dosyalarının, bu dosyaların sınıflarının ve dosyalardaki kelime sayılarının bir listesini gösterir.

Olasılıkların Hesaplanması

Veriler yüklendikten sonra "Oranları Hesapla" butonuna tıklanır. Program, kök dizin seçildikten sonra kullanıcıdan almış olduğu minimum kelime uzunluğu kısıtlamasına uyarak veriler içerisinde geçen kelimeleri, her bir kelimenin kelimeyi içeren veri kümesi içerisindeki kelime sayısına oranını ve veride bulunma olasılığını hesaplayıp sonuçların bir listesini gösterir.

Ayarların Yapılandırılması ve ARFF Dosyalarının Oluşturulması

Oranlar hesaplandıktan sonra "ARFF Oluştur" butonuna tıklanır ve ARFF dosyasının içeriği ile ilgili ayarlar görüntülenir:

  • Oluşturulacak veri setinin adı (@RELATION): ARFF dosyasının başlık kısmına yazılmak üzere alınır.
  • Her sınıfta test için ayrılacak maximum dosya sayısı: İstenmesi halinde, eğitim(istatistiksel verilerin hesaplanması) için kullanılacak verilerin ve test verilerinin ayrı ARFF dosyalarına yazılması sağlanabilir. Her sınıftan, bu sayı kadar dosyadan elde edilen öznitelikler, eğitim dosyasına yazılmayıp test dosyasına yazılır. Örneğin bu değer 2 ise, her bir sınıfta bulunan metin dosyalarının ikişer tanesinden elde edilen değerler test için oluşturulacak ARFF dosyasına aktarılır. Bu durumda test verilerine ayrılacak dosya sayısı bu değer ile sınıf sayısının çarpımı kadar olur.

    Önce test dosyası hazırlandığından, eğitim için hazırlanacak ARFF dosyasına yeterli sayıda metin dosyası bırakılmalıdır.

    Test dosyası istenmiyorsa bu kısma 0 değeri girilmelidir.
  • Öznitelikleri normalize et: Kutucuk işaretli iken, her bir kelimenin metin içerisinde bulunma olasılığı 0 ile 1 aralığı arasına genişletilir. Bunun için en yüksek olasılıklı kelimenin olasılığını 1 yapacak katsayı hesaplanır ve metindeki diğer kelimelerin olasılıkları bu katsayı ile çarpılır.
  • Öznitelikleri kendim girmek istiyorum: Bu kutucuk işaretli değilken, öznitelikler program tarafından yüksek bulunma olasılıklarına sahip kelimeler arasından seçilir.

    Kutucuk işaretli iken, özniteliklerin girilebileceği bir metin kutusu görüntülenir. Bu seçeneğin amacı, Weka'nın öznitelik seçme algoritmaları yardımıyla seçilmiş özniteliklerin, kopyalanıp yapıştırılarak elle girilebilmesine olanak sağlamaktır. Weka'nın ürettiği çıktının öznitelikleri içeren kısmı aynen kopyalanıp bu kutuya yapıştırılabilir. Program, öznitelikler arasındaki boşlukları, rakamları veya altsatır geçişlerini önemsemez. Bu seçenek sayesinde, sınıflandırmaya katkı sağlamadığı tespit edilen kelimelerin ARFF dosyalarına öznitelik olarak aktarılmasına engel olunur.
  • Her dosyadan alınacak maximum öznitelik sayısı: "Öznitelikleri kendim girmek istiyorum" kutucuğu işaretli değilken öznitelikler en yüksek bulunma olasılıklarına sahip kelimeler arasından seçilir. Bu değer her bir metin dosyasından en çok kaç öznitelik seçileceğini belirler. ARFF içerisine yazılacak toplam öznitelik sayısı bu değer ile dosya sayısının çarpımı kadardır. Dosyalarda bu değeri karşılayacak kadar öznitelik bulunamamasının bir önemi yoktur.

Ayarlar yapıldıktan ARFF dosyası için konum belirlenir. Eğer "Her sınıfta test için ayrılacak maximum dosya sayısı" kısmına 0'dan büyük bir değer girilmişse program test dosyası için de konum sorar ve ardından ARFF dosyaları oluşturulur...

Yazar: Hüseyin Atasoy
Posted: 02/11/2011 18:26
Keywords: arff dosyası, arff oluşturma programı, metin sınıflandırma

Leave Comment

 
You are replying to comment #-1. Click here if you want to cancel replying.

 

Comments (2)

Bülent
Reply
02/11/2011 18:28
#1

Teşekkürler Hüseyin Hocam tamda arff oluşturma programına ihtiyacım vardı emeğine sağlık

Volkan
Reply
29/11/2012 15:02
#2

Yaptığınız çalışmayı yeni gördüm . Tam da benim çalışmamla ilgili idi .Teşekkür ediyorum.

 
Şu an bu sayfada 1, blog genelinde 15 çevrimiçi ziyaretçi bulunuyor. Ziyaretçiler bugün toplam 2061 sayfa görüntüledi.
 
Sayfa 45 sorgu ile 0.024 saniyede oluşturuldu.
Atasoy Blog v4 © 2008-2024 Hüseyin Atasoy