Tıkların Dili
Web içerik ve web kullanım madenciliği tekniklerinin entegrasyonu ile oluşmuş bir veri tabanından nasıl yararlanılabilir?


1. Giriş

 

Günümüzde Internet'in yaşantımızı adeta yeniden şekillendirmesi ile gözler Web sitelerinin etkin yönetimini konu alan araştırmalara çevrilmiştir. Zira web sitesinin içerik ve teknik anlamdaki kalitesi, sunulan ürün ya da hizmet kadar rekabetteki yeri belirleyen bir parametre olabilmektedir.

 

Web sitelerinin bulunduğu sunucular üzerindeki erişim ve hata kayıt dosyalarında kullanıcının site içinde gezinirken yaptığı her bir tıka karşılık bir ya da birden çok hareket kaydı birikir. Kullanıcı adeta gezindiği her noktada parmak izlerini bırakmaktadır. Bu hızla büyüyen dosyalar yer kazanmak için periyodik olarak temizlenmektedir. Oysa bu veriler, site içerik verisi ve kayıtlı kullanıcılara ait veri ile birleştirildiğinde fayda sağlanabilecek bir veritabanı oluşturmak mümkün olabilecektir.

 

Veritabanları veri organizasyonunda kullanılan araçlardan olup bu projede kullanım hedeflerden biri farklı, tam yapısal olmayan ve hızla değişen veriyi çeşitli kullanıcı tiplerinin erişebileceği bir ortamda sunmaktır. Hedeflerden bir diğeri ise web madenciliği teknolojilerini bu veriye uygulayabilmektir.

 

Bu veritabanı ile sağlanabilecek faydaların bir kaç tanesi şöyle sıralanabilir; kullanıcıların profilleri çıkarılabilir ve zaman içindeki değişimleri takip edilebilir, sitedeki beğenilen ya da beğenilmeyen köşeler tespit edilebilir, kullanıcıların gezinti şekli/hızı sitenin içerik, yapılandırma ve alt-yapı açısından performansı hakkında fikir verebilir.

 

Bu bildiride web içerik ve web kullanım madenciliği tanıtılacak, bu güncel teknolojilerin veri tabanı teknolojisi ile birleştirildiğinde sağlanabilecek fayda örnek bir veri modeli ile açıklanacaktır.

 

2. Web Madenciliği

 

Birçok yazara gore web madenciliği terimi ilk kez Etzioni tarfından 1996'da [1] ortaya atılmıştır. Bu bildiride Etzioni Web madenciliğinin veri madenciliği tekniklerini kullanarak World Wide Web'de bulunan dosya ve servislerden otomatik olarak paternler bulmak ve öngörülmeyen bilgiye ulaşmak olduğunu iddia etmektedir. Araştırmacıların çoğu çalışmalarında bu tanımlamayı esas almışlardır.

 

Madria [2]'ye gore ise web madenciliği Web'de bulunan veriden faydalı bilgiye ulaşmaktır. Web üç tip veri bulundurur; içerik(content), Web log dosyaları(usage) ve Web yapı(structure) verisi. Şekil 2.1.de madencilik yapılabilecek verinin sınıflandırması görülebilir.

 

2.1. Web İçerik Madenciliği

 

Web içerik madenciliği web kaynaklarından otomatik bilgi arama tekniklerini tanımlar. Verinin farklı tiplerde oluşu ve yapısal olmayışı bu konudaki tekniklere daha karışık yaklaşımlar kazandırır. Otomatik anahtar kelime anahtar kelime arama ötesinde, metinler içindeki bilinen yapıları bazı veri modellerine indirgeme yöntemleridir. İki tip veri madenciliği stratejisi olabilir; metin içeriklerini doğrudan arama ya da arama motorları gibi araçların aramalarını yardımcı olan.

 

Şekil 2.1. Web Madenciliği Çalışmalarının Sınıflandırılması

 

2.2. Web Yapı Madenciliği

 

Web erişim araçlarının çoğu çok değerli olabilecek bağlantı(link) verisini gözardı ederek sadece text verisine ulaşır, Web yapı madenciliğinin amacı web sitesi ve web sayfası hakkında bağlantı verisine bakarak bilgi üretmektir. Teknik olarak, Web içerik madenciliği dökümanın içeriğine, yapı madenciliği ise dökümanlar arası bağlantılara yoğunlaşır.

 

2.3. Web Kullanım Madenciliği

 

Web kullanım madenciliği kullanıcıların web'de dolaşırken yaptıkları erişim hareketlerince oluşturulan veriden bilgi üretmeyi hedefler. Bu konudaki çalışmalar Genel Web Kullanım Madenciliği, Site Güncelleme Sistemleri, Sistem İyileştirme ve Kişiselleştirme başlıkları altında toplanabilir. Genel Web Kullanım Madenciliği Sistemleri kullanıcıların genel davranış biçimerini bilinen ya da önerilen veri madenciliği algoritmalarını sunucu erişim dosyalarındaki veriye uygulayarak bulmaya çalışır. Site Günçelleştirme Sistemlerinin hedefi ise site içerik ve yapısında yapılması gereken tadilatları bulmaktır. Sistem İyileştirme üzerine yapılan araştırmalar web kullanım verisini kullanarak trafiği etkinleştirmeyi hedefler. Son olarak, kişiselleştirme çalışmaları bireysel taleplere gore değişen siteler oluşturmaya çalışır.

 

3. Patern Bulma Teknikleri

 

Her web madenciliği işlemi çeşitli araştırma alanlarından uyarlanan patern bulma tekniğine ihtiyaç duyar. Bu teknikler kısaca şöyle açıklanabilir Cooley [3]. Tanımsal İstatistik : Web sitesindeki veriyi tanımlamakta ve bilgi elde etmekte kullanılan en güçlü teknikler istatistik metodlardır. Analist farklı değişkenleri baz alan tanımlayıcı istatistik analizler yapabilir. İlişkilendirme Kuralları (Association Rules): Web alanında beraber kullanılan sayfalar ilşkilendirme kuralları uygulanarak bulunup aynı sunucuya konulabilirler. İlişkilendirme kuralları genelllikle veri tabanındaki veriler arasındaki ilşkileri tespit etmeye çalışır. Gruplama (Clustering) : Gruplama(kümeleme) analizi veriler arasında benzer karakteristik değerler taşıyanları bir araya getirerek gruplar oluşturmayı hedefler. Sınıflandırma (Classification) : Bu teknikler verileri ait oldukları tanımlı sınıflara koymaya çalışır. Sıralı Paternler : Zamana yayılan veri kümeleri arasında benzer paternler bulmaya çalışılır. Bağımlılık Modellemesi : Web değikenleri arasındaki bağımlılıkları ortaya çıkaran modeler oluşturmak hedeflenir.

 

Şekil 4.1. IYTE Web Madenciliği Sistem Mimarisi

 

4. IYTE Web Madenciliği Sistemi

 

Bu bildiriye konu geliştirilen İzmir Yüksek Teknoloji Enstitüsü Web Mining (IYTE IWM) Sisteminin hedefi IYTE web sunucusu üzerinde biriken web erişim, hata, kullanıcı dosyalarındaki veriyi site içerik verisi ile bir araya getirerek analiz etmek ve kullanım paternlerini tespit etmektir. Mimarisi Şekil 4.1.de verilen system iki ana bölümden oluşmaktadır; Veri Hazırlama ve Sorgu Mekanizması.

 

Veri Hazırlama bölümü ham veriyi temizleyip IYTE IWM ilişkisel veritabanına aktarılmaya hazır hale getiren çeşitli Java "class"'larından oluşur. Sorgu Mekanizması verinin her aşamasından bilgi tespit etmeye çalışan sorgulardan ve veri madenciliği algoritmalarından birinin çalıştırılmasından oluşur. Detayları izleyen bölümlerde açıklanacak olan bu sistem genel web kullanım madenciliği uygulamalarına veritabanı yaklaşımı getiren bir örnektir.

 

4.1. Veri Hazırlama

 

Geliştirilen sistemin ana veri kaynağı sunucu üzerinde biriken kayıtlardır. Bu kayıtlar fazla miktarda olup bazıları sistemin hedefi için gereksizdir. Veri Hazırlama bölümünde bu geçersiz veri ayıklanır ve veri madenciliği uygulanabilecek formata çevrilir.

 

4.1.1. Erişim Kütüğü

 

Web sunucuları kendilerine gelen her bir istem için erişim kütüğüne bir kayıt yazarlar. IYTE Web sunucusunun erişim kütüğünün format ve içeriğinden bir bölümü Şekil 4.2. de görmek mümkündür. Her bir istem için kaydedilen verinin miktarına gore değişen iki format mevcuttur; "Common Log Format" ve "Combined Log Format". IYTE web sunucusu erişim dosyasının kayıt formatı "Common Log Format"dır.

 

pergamon.iyte.edu.tr ­ ­ [20/Jun/2000:15:13:05 +0300]''GET /courses.html HTTP/1.1 '' 304 ­
pergamon.iyte.edu.tr ­ ­ [20/Jun/2000:15:13:05 +0300]''GET / will/courses/CS101/ HTTP/1.1'' 304 ­
pergamon.iyte.edu.tr - - [20/Jun/2000:15:13:05 +0300]"GET / gif/geney.jpg HTTP/1.0 " 304 -
pergamon.iyte.edu.tr - - [20/Jun/2000: 15:13:05 +0300]" GET / gif/acad.gif HTTP/1.0 " 304 -
pergamon.iyte.edu.tr - - [20/Jun/2000:15:13:05| +0300]" GET / gif/ciz7.gif HTTP/1.0 "304 -

Şekil 4.2. Erişim Kütüğünden Bir Bölüm

 

Kayıt deseninin açılımı şöyledir;
Remote Host - Ident and Authuser - [Date and Time] "Request" Status - Bytes

 

İstem için anlamlı olmayan tipteki dosyaları ve geçersiz istemleri temizlemek ilk işlem olup AccessLogRead() isimli Java "class"I ile gerçekleştirilmiştir. Burada ayrıca veri veritabanındaki tablolara aktarılabilecek desene getirilmiş ve gerekli tarih çevrimleri de yapılmıştır.

 

4.1.2. Hata Kütüğü

 

Sunucu üzerinde gerçekleştirilemeyen istemlere ait kayıtlar hata kütüğünde birikir. İçerik ve format Şekil 4.3. de görülebilir.

 

[Thu Aug 19 14:02:34 1999] Server configured -- resuming normal operations
[Thu Aug 19 14:12:27 1999] accept: (client socket): Connection timed out
[Thu Aug 19 14:12:27 1999] accept: (client socket): Connection timed out
[Thu Aug 19 14:13:01 1999] accept: (client socket): Connection reset by peer
[Thu Aug 19 14:44:40 1999] accept: (client socket): No route to host
[Thu Aug 19 14:44:47 1999] accept: (client socket): No route to host

Şekil 4.3. Hata Kütüğünden Bir Bölüm

Java'da hazırlanan Java ErrorLogRead( ) "class"ı, hata dosyasını okuyup tarih çevrimlerini yaparak veritabanına aktarılabilir hale getirir.

4.1.3 . Kullanıcı Verisi

IYTE Urla kampüsünde bulunan kullanıcılara ait tanımlamalar sunucu üzerinte bir text dosyası şeklinde tutulmaktadır. Şekil 4.4. de bu dosyanın temizlenmiş ve veritabanına aktarıma hazır hale getirilmiş şeklinden bir bölüm görünmektedir.

user_name

busra
pergamon
buamtest
radyo-bahattin

type

MX 5
MX 5
MX 5
CNAME
user_ip

busra.iyte.edu.tr
pergamon.iyte.edu.tr
buamtest.iyte.edu.tr
troya
depcode

0
0
0
0

Şekil 4.4. Kullanıcı Verisinden Bir Bölüm

 

4.1.4. Web İçerik Verisi

 

Site içeriği tarayıcı (Crawler) yazılımla taranır; bu yazılım ana sayfadan başlayarak verilen derinlik değerine göre linklerin gösterdiği sayfaları tarayarak sayfa numarası ve link adını istenen dosyaya yazar. (Şekil 4.5)

 

crawlDepth = 0

0http://www.iyte.edu.tr/general.htm
0http://www.iyte.edu.tr/library/index-tr.html
0http://www.iyte.edu.tr/president.htm
0http://www.iyte.edu.tr/ar_fon_proje/research_project.htm
0http://www.iyte.edu.tr/academic.htm
0http://www.iyte.edu.tr/iyte-press.htm
0http://www.iyte.edu.tr/living.htm
0http://www.iyte.edu.tr/iyte-services.htm
0http://www.iyte.edu.tr/search.htm
0http://likya.iyte.edu.tr/announcements/2002-2003Takvim/2002- 2003AkademikTak.html


Şekil 4.5. Site Link Verisinden Bir Bölüm

4.2. Sorgu Mekanizması

Şekil 4.1. İYTE WUM Sistem mimarisinde görüldüğügibi temizlenip hazırlanan dosyalar İYTE WUM ilşkisel veritabanına aktarılır.

Sorgu mekanizması veri tabanı üzerinde tanımsal sorgular yapmakta ya da veri madenciliği algoritmaları uygulamakta kullanılabilir. SQL yeteneklerinin kullanılması veritabanından faydalanılması anlamında beklenen esnekliği getirmektedir. Şekil 4.6 İYTE Web Madenciliği ilşkisel veri veritabanının modelini göstermektedir..

logfile{user, date, time, rtime, demand, url, status}
links{page_no, url, type, keyword, rank, status}
pageviews{page_no, title,type,keyword,cr_date, upd_date,rank}
users{user, type, user_ip, depcode}
departments{depcode, dep_name, faculty, start_ip, end_ip}
errors{date, time, message}

Şekil 4.6. IYTE Web Madenciliği Veritabanı

4.2.1. Tanımsal Sorgular

 

Bu çalışmada önemle üzerinde durulan nokta çıkartılan verinin yorumlanmasından çok verinin değerlendirildiği sistemin mimarisinin tasarımı ve geliştirilmesidir. Bu bölümde birkaç tanımsal sorgu tipine yer verilmiştir..

Üniversite içi ve dışı kullanıcıların dağılımı

  • Kullanım sürelerinin günlere ve saatlere göre dağlımı
  • Sayfalara göre istemlerin dağılımı
  • Ulaşılmayan sayfalar
  • Ulaşılamayan linkler
  • Hataların günlere ve sürelere göre dağılımı
  • İstemlerin statulerine göre dağılımı

4.2.2. Patern Bulma Sorgu Mekanizması

Apriori algoritması Agrawal [4] algoritmasının uygulanması ve en sık birlikte ziyaret edilen sayfa çiftlerinin bulunması bu bölümde gerçekleştirilmiştir. Bu çalışmanın detayları Özakar [5] de verilmiştir.

Veri madenciliği alanında popüler olan kümeleme ve sınıflama algoritmalarının İYTE WUM Sistemine ilave edilmesi üzerine çalışmalar devam etmektedir.

5. Sonuç

5.1. Iyte Web Madenciliği Veri Modelinin Değerlendirmesi

Veritabanı yaklaşımı ile hazırlanan bu sistem web madenciliği konusunda yapılabilecekleri gösteren bir uygulama prototipidir. Veri hazırlama, veri tanımlama, veri madenciliği tekniklerini uygulama, bilgi bulma ve değerlendirme adımlarından oluşan web madenciliği sistemi örneğidir.

Bu bildiride sistemin mimarisi, İYTE WUM ilişkisel veri tabanı modeli ve başlangıçl olarak sistemden sağlanabilecek faydalar anlatılmıştır.

5.2. İzleyebilecek Çalışmalar

Geliştirilen sistemin daha kolay kullanılan ve web sorumlusuna daha fazla bilgi verilebilen hale gelmesi için yapılması gereken çalışmalar şunlardır.

Grafiksel Kullanıcı Arayüzü: Kullanıcı ara yüzü ilave edilebilir. Bu arayüzün iki temel fonksiyonu olacaktır; Veri Hazırlama bölümünde parametrelerin girilebilmesini ve Sorgu Mekanizması bölümünde kullanıcı isteklerine gore sorgu oluşturulmasını sağlamak.

Veri Madenciliği Algoritmaları: Gruplama, sınıflama gibi diğer veri madenciliği teknikleri de uygulanarak üretilebilecek bilgi miktarı arttırılabilecektir.

IYTE Web Sunucusuna Entegrasyon: Sistem mevcut susnucunun parçası haline getirilerek kütüklerde biriken kayıtlar anında işlenebilir.

Kaynakça

[1] Oren Etzioni, The World Wide Web: Quagmire or gold mine. Communications of the ACM, 39(11):65­68, (1996)

[2] S.K.Madria, S.S.Bhowmick, W.K.Ng, and E.P.Lim, Research issues in Web data mining. In Proceedings of Data Warehousing and Knowledge Discovery, First International Conference, DaWaK '99, sayfa 303­312 , (1999)

[3] R. Cooley, Web Usage Mining: Discovery and Application of Interesting Patterns from Web data. Ph.D. thesis, Dept. of Computer Science, University of Minnesota, (2000)

[4] R. Agrawal and A. Srikant, Fast algorithms for mining association rules. Proc. VLDB'94, sayfa 487-499, (1994)

[5] B. Özakar, Finding and evaluating patterns in Web Repositories using data mining algorithms and database technologies, Master Tezi, 2002, İzmir Yüksek Teknoloji Enstitüsü Bilgisayar Mühendisliği Bölümü

Belgin Özakar, Prof. Dr. Halis Püskülcü

Bu yazıyla ilgili görüş ve yorumlarınızı yorum@teknoTurk.org, ozakar@likya.iyte.edu.tr ve puskulcu@likya.iyte.edu.tr adreslerine yollayabilirsiniz.