ColumnREADY: İnternet Gazeteleri Köşe Yazılarını Hazırlama Uygulama Yazılımı Mehmet Fatih KARACA Yrd. Doç. Dr. Salih GÖRGÜNOĞLU Gaziosmanpaşa Üniversitesi Karabük Üniversitesi
Giriş Bu çalışmada internet gazetelerinde yazı yazan köşe yazarlarının yazıları ele alınmıştır. 5 gazete ve her bir gazeteden 10 yazar olmak üzere toplamda 50 adet yazarın yazıları incelenmektedir. Visual Basic (Visual Studio 2008) , Access, Java ve Zemberek (Türkçe Doğal Dil İşleme kütüphanesi) kullanılmıştır.
Giriş CoulmnREADY, yazı bilgilerini ve yazı içeriklerini kodlar aracılığıyla elde etmektedirler. CoulmnREADY, gazete köşe yazıları üzerine yapılacak çalışmalar için tasarlanmıştır.
Sistemin Yapısı - Veritabanı
Sistemin Yapısı Ön İşlem Aşamaları Tanımların Yapılması Kelimelerin Veritabanına Eklenmesi Verilerin Alınması Tanımların Yapılması İçeriğin HTML Etiketlerinden Temizlenmesi İçeriğin Karakterlerden Temizlenmesi İçeriğin Gereksiz Kelimelerden Temizlenmesi İçerikteki Kelimelerin Köklerine Ayrılması Vektör Oluşturma
Sistemin Yapısı - Tanımların Yapılması İşlemlerin gerçekleştirilmesi için öncelikle sisteme tanımların yapılması gerekir. Bu tanımlar gazete ve yazar bilgileridir. Yazar sayısını arttırmak için sadece tanımlama yapılması yeterlidir.
Sistemin Yapısı - Verilerin Alınması Yazar seçiminden sonra aşağıdaki işlemlere geçilebilir; Yazı bilgilerinin elde edilmesi; Link, başlık, içerik, tarih bilgisi Yazı bilgilerinin elde edilmesinde başlangıç etiketi <A class=header…, bitiş etiketi </DIV… kullanılmıştır. Yazının elde edilmesi; Köşe yazısı içeriği bilgisi Yazının elde edilmesinde başlangıç etiketi <P id=HaberDetayContainer…, bitiş etiketi <DIV id=NewsCommentMain class=comments... kullanılmıştır.
Sistemin Yapısı - Verilerin Alınması Bir yazarın yazısı birden fazla kez gazete web sitesine dahil edilmiş olabilir. Bu sorun Aynı Yazarın Aynı İçerikli Köşe Yazılarını Sil düğmesiyle giderilmektedir.
Sistemin Yapısı - Ekran Görüntüsü
Sistemin Yapısı - Ekran Görüntüsü
Sistemin Yapısı - Ön İşlem Aşamaları Yazılar alındıktan sonra yazıların ön işlemden geçirilmesi gerekmektedir. Ön işlem aşaması aşağıdaki işlemlerden oluşmaktadır; İçeriğin HTML etiketlerinden temizlenmesi, İçeriğin karakterden temizlenmesi, İçeriğin gereksiz kelimelerden temizlenmesi, İçerikteki kelimelerin köklerine ayrılması.
Sistemin Yapısı - Ön İşlem Aşamaları İçeriğin HTML etiketlerinden temizlenmesi; Başlangıç ve bitiş etiketleri arasında kalan metin Browser_Adi.Body.InnerText koduyla HTML etiketlerinden arındırılır. İçeriğin karakterden temizlenmesi; İçerikte sadece Türkçe karakterler ve bazı noktalama işaretleri kullanılmıştır. ' karakteri yerine ’ kullanılması gibi. İçeriğin gereksiz kelimelerden temizlenmesi; Türkçede tek başlarına anlamı bulunmayan, anlama etkisi bulunmayan kelimelerden temizlenmesi işlemini ifade eder. İçerikteki kelimelerin köklerine ayrılması; Java kodları yardımıyla Zemberek kullanılarak elde edilmektedir. İçeriği boş olmayan yazıların kelimelerin kökleri elde edilir.
Sistemin Yapısı - Kelimelerin Veritabanına Eklenmesi Kelime köklerinin kaydedilmesi; Boşluk karakteriyle birleştirilen kelime kökleri tek tek ele alınarak tbl_kelime tablosuna eklenmektedir. Yazı kelime dağılımının yapılması; Eklenen kelimelerin yazı içerisindeki geçme durumuna göre tbl_yazi_kelime tablosuna eklenme işlemidir. Dağılım bittikten sonra tbl_kelime tablosundaki ağırlık(IDF) hesaplanır, kelimenin yazı içerisinde geçme sıklığı da bilindiğinden vektör kolaylıkla oluşturulabilir.
Sistemin Yapısı – İncelenecek Yazı Sınıflandırma gibi işlemler yapmak için girilecek metin veya seçilecek haber ön işlemden geçirilir, kelime kökleri kaydedilmesi, kelime dağılımı işlemleri yapılır ve yazi_id 0 olmak üzere tbl_incelenecek_yazi_kelime tablosuna kaydedilir.
Sistemin Yapısı - Vektör Oluşturma tbl_yazi_kelime ve tbl_incelenecek_yazi_kelime tabloları kullanılıp sorgu yazmak suretiyle her iki yazıda geçen kelimeler bulunur ve vektör oluşturulmuş olur.