Ziyaretçi Logları İle Oluşturulan Veri Kümesinden Semantik Web Çıkarımları Ahmet Tabanlıoğlu1, İdris Türker1, Mustafa Öğretmen1, Muhammed Celal Tok1 1 Harran Üniversitesi, Bilgisayar Mühendisliği Bölümü, Şanlıurfa [email protected], [email protected], [email protected], [email protected] Özet: Web sunucusu konfigure edilerek kullanıcıların erişim günlükleri yani loglar analiz edilerek modeller çıkartılmaktadır. Üst hedef ise kullanıcılara sunulan web hizmetleri özelleştirilerek amaç odaklı hale getirilmek istenmektedir. Anahtar Sözcükler: Semantik Web, Veri Madenciliği, Web Madenciliği Abstract: Web server logs of user access logs are analyzed models that are mined. Web services offered to users are required to make the privatization goal-oriented. Keywords: Semantic Web, Data Mining, Web Mining 1. Giriş Belirli büyüklükteki ya da durağan olmayan büyüklükteki verilerin işlenerek çıkarımlar yapmak için veri madenciliği tekniklerini kullanmak gerekmektedir. Veri madenciliği 3 ana bileşenden oluşmaktadır. İçerik, yapı madenciliği ve kullanım madenciliği. Bu ayrım kesin olmamakla birlikte farklı yaklaşımlar da bulunmaktadır. Bu alanda yapılan çalışmalarda kullanılan veriler düz metin(*.txt), yarı görselleştirilmiş metin(*.html, *.xhtml, *.shtml), *.xml, medya dosyaları vbdir. Sağlıklı çıkarımlar yapmak için standart ortam hazırlanıp bu ortam kullanılarak veri biriktirmek gerekmektedir. Yapı madenciliği, nesneler arasındaki topolojiyi bulmayı amaçlar. Yani web sitelerindeki hiyerarşiyi çıkartmayı hedefler. Kullanım madenciliği, kullancıların web sayfaları ile olan ilişkileri incelenmektedir. İçerik madenciği ise web sitelerinin içeriğine yoğunlaşır. 1.1 Semantik Web (Anlamsal Ağ) Web içeriklerinin sadece doğal dillerde değil, aynı zamanda ilgili yazılımlar tarafından anlaşılabilir, yorumlanabilir ve kullanılabilir bir biçimde ifade edilebileceği, böylece bu yazılımların veriyi kolayca bulmasını, paylaşmasını ve bilgiyi birleştirmesini sağlamayı amaçlayan, gelişen bir internet eklentisidir[1]. Sekil 1, Anlamsal Web’ in çok iyi bilinen mimarisini göstermektedir[2]. Bu mimari, Anlamsal Web araştırmacıları tarafından bir yol haritası olarak kabul edilmiştir. Anlamsal uygulamalar, uygulama yazarları tarafından bu mimari temel alınarak gerçekleştirilmektedir. Şekil 1 – Anlsamsal Web Mimarisi Anlamsal Web sadece yeni bir veri modeli olarak tasarlanmamıştır; aynı zamanda dağıtık olarak var olan pek çok üst-veri modelinin de bağlantısını sağlamaktadır. Anlamsal Web’in en önemli yanı, farklı veri depolarına bağlı olarak pek çok verinin saklanabilmesi ve bu veriler üzerinde karmaşık işlemlerin yapılıyor olmasıdır. 2. Yöntem Bu bildiride web sitesi ziyaretçi kayıtları baz alınacaktır. Loglardan cinsiyet ve kullanıcı ilgili tahmini öngürüsünde bulunulacaktır. Tahminlerde bulunmak için veri kişiselleştirme analizi uygulaması hazırlanmıştır. Veri deposu belirli zaman aralıklarında erişim günlüklerine erişerek veriyi lokal belleğe çeker. Lokal belleğe çekilen veriler seçim, anlama, temizlik ve dönüşüm işlemlerine tabii tutulur. Bu aşamalar genel veri hazırlama işlemleridir. Bu aşama doğruluk oranını etkilediğinden kesinlikle uygulanmalıdır. Log kayıtları dışında portalde kullanıcı kayıt modülü bulunmaktadır. Ziyaretçi portale üye olurken çeşitli bilgiler girmektedir. Bu bilgiler; cinsiyet, şehir, il, medeni durum ve doğum tarihidir. Bu veriler neticesinden doğrudan çıkarımlar yapılabilmektedir. Kayıtlı kullanıcılar giriş yaptığından çerezler web tarayıcısının geçici alanında tutulur. Ayrıca web sunucu tarafında da log dosyalarına gönderilen her istek işlenir. Bu portal için 24000 adet çerez incelenmektedir. Şekil 2 – Web Madenciliğinde Gnel Mimari Web link yapısı özelleştirilmiş web arayüzü paylaşmak için ek parametreler almalıdır. Şöyle ki çıkarımların doğrudan kullanıcılara yansıtılması için link yapısına ek olarak parametreler olmalıdır. Bu parametreler ile sistem özelleştirilmektedir. Kullanıcılardan parametreler (POST, GET vb...) aracılığıyla HTTP protokolünü kullanarak isteklerini web sunucularına iletirler. İstekler iletilirken IP, Tarayıcı Bilgisi, İşletim Sistemi Bilgisi gibi salt bilgiler de loglara satır olarak kaydedilir. Eğer çerezler aktif edildiyse oturum ID’si ve gecikme zamanı gibi bilgiler tutulmaktadır. Toplamda URL yapısı kullanıcılar için bir içerik paylaşım için yapı değil semantik olarak seyir yapısı olarak yapılandırılmaktadır. Deney ortamları için sınıflandırmalar yapılmaktadır. ClickWorld Projesi için bilgiyi çıkarma ve anlama deneyleri yapılmaktadır. Günlükler aracılığıyla kişiselleştirilmiş çıktılar üretmek hedeflenmektedir. 2 Ayrı deney ortamı hazırlanmaktadır. Bunlardan ilki erişim kayıtlarından cinsiyet öntahmini diğeri ise yine erişim kayıtlarından kullanıcı ilgi ön tahminidir. Anlamsal öneri modeli olarak da kullanıcının bir sonraki ziyaret edebileceği sayfaların belirlenmesidir. Cinsiyet çıkarımı için hazırlanan alt küme %15’i oluşturmaktadır. Bu deney ortamında amaç cinsiyet tahmini için bir model ortaya koymaktır. Web sitesinde bulunan bütün sayfalar için çıkarım yapmak mümkün değildir. Orta büyüklükte bir sitede dahi çok sayıda alt sayfa vardır. 3. Bulgular Semantik olarak web sitesinde bulunan sayfaların ontolojisi çıkarılarak hazırlanır. Statik web anlayışında çıkarım söz konusu olmaksızın rastgele seçim üzerine kurgulanmıştır. Bu hususu iyileştirme anlamında süreç işletilmiştir. İçerik madenciliği yaklaşımı olabilirliğinin yapılıp yapılamayacağı araştırması devam etmektedir. 3.1 Ontoloji Ontoloji, varlıkları ilişkileri ile birlikte tanımlayan felsefecilerin kullandığı bir sözcüktür ve Anlamsal Web en temel bileşenidir. Web Ontolojisi, web üzerindeki bir alanda (domain, özel bir konuya ait bilgi alanı), paylaşılabilinir bilgiye ulaşmak isteyen ihtiyaç sahiplerine nesnelerin1 kurallı tanımı yaparak ortak kelimeler ve anlamlar sunmaktadır[3]. Ontoloji geliştirmeye konu olabilecek alan örnekleri; şarap ontolojisi, araba kiralama ontolojisi, turizm, kara taşımacılığı, doğal gaz boru hattı bakım ontolojisi gibi çeşitli uygulama alanlarından verilebilir. Bu alanlar genelde sosyal, özelde de işletme bilimlerinin alanına girmektedir. 3.1.1. Ontoloji tanımlamak ve geliştirmek Ontoloji tanımlamak ve geliştirmek, alan üzerindeki bilgilerin ve birbirleri ile olan ilişkilerin bilgisayarın anlayabileceği temel kavramlar ile tanımlanması ve gösterilmesi dolayısı ile de anlamının standart hale getirilmesidir[5]. Böylelikle alana ait ortak ve paylaşılan kavramlar sözcükler haline getirilerek, model oluşturulması mümkün olmaktadır. Bu süreçte; kavramların, nesneler ve ilişkilerle gösterilmesi gerekmektedir. Bir ontoloji pratik olarak: kavram veya varlık sınıflarının tanımlanması, sınıfların hiyerarşilerinin düzenlenmesi, varlıklara ait örnekler ve özellikler arasındaki ilişkilerin tanımlanması ile geliştirilmektedir. Bu da teknik olarak ontoloji geliştirme sürecinin, günümüz yazılım endüstrisinde kabul görmüş Nesneye Yönelik Programlama (Object Oriented Programming) ve Birleşik Modelleme Dili (UML, Unified Modelling Language) kurallarına göre yapılması gereken bir süreç olduğunu ortaya çıkarmaktadır. Sınıf, örnek, özellik, kısıt, kural ve kalıtım ilişkilerinin bilinmeden ontoloji modellemesinin yapılması mümkün değildir. Ontoloji oluşturulmasında veya modellenmesinde, öğrenilebilen, genişletilebilen ve bakımı yapılabilen proje adımlarının olması ve çalışma alanının özelliklerine göre de çeşitli geliştirme seçeneklerin bulunduğunun dikkate alınması gereklidir. Bu özelliklerden dolayı ontoloji geliştirmenin güncel yazılım mühendisliği bilgisine sahip kişilerce yapılması gerekmektedir. Ancak önemli olan ontoloji geliştirmenin, sadece yazılım mühendisliği veya ontoloji geliştirme bilgisini içeren bir uzmanlık alanı (ontoloji mühendisliği) olmadığı, kendi çalışma alanını bilen, alanında uzman, sosyal bilimcilerle birlikte yapılması gereken tekrarlamalı bir süreç olduğudur. Çünkü geliştirilmek istenilen ontolojinin sosyal bilimlere ait bir alandaki modelleme çalışması, ancak sosyal bilimlerden gelecek katkılar ile mümkün olabilecektir. 3.1.2. Ontoloji dilleri Ontoloji dilleri, ontoloji geliştirmek ve ontolojilere web ortamındaki nesneleri tanımlamak için kullanılmaktadır. W3C tarafından 2002 yılında geliştirilen OWL (Web Ontoloji Dili, Web Ontology Language) yaygın olarak kullanılmaktadır ve RDF (Kaynak Tanımlama Çerçevesi, Resource Description Framework) bilgisayarlarca işlenecek verinin anlamını temsil edcek olan veri modelinin düzenlenmesini sağlamaktadır. RDFS (RDF Schema) gösterimi ise, RDF veri modelini genişleterek, alanda kullanılacak sözcük kümesini nesneler, nesneler arası ilişkiler, özellikler ve özelliklerin alabileceği değerler açısından tanımlamaktadır. Yukarıdaki ontoloji dillerinin Web üzerindeki standartların belirtilmesinde önemli rol oynayan W3C organizasyonu tarafından geliştirilmiş olması, ileriye yönelik uygulama sürecinde yaygın kullanım alanı bulacağı olarak yorumlanmaktadır. Ayrıca ABD Hükümetinin desteği ile DAML (DARPA Agent Markup Language) ve Avrupa Birliği tarafından geliştirilen OIL (Ontology Interface Layer) ontoloji geliştirme dilleri de tanımlanmıştır. ABD ve AB tarafından ilk olarak 2000 yılında geliştirilen ve 2001 yılında da son sürümü yayınlanan DAML+OIL dili de pek çok araştırıcı tarafından kullanılmaktadır. Stanford Üniversitesi tarafından geliştirilmiş Protege ontoloji editörü de ontoloji geliştirilmesi konusunda kolaylık sağlamaktadır. Grafik arayüzü sayesinde ontolojiler görsel olarak tanımlanmakta ve böylelikle de alan modellenebilmektedir. 4. Öneriler Yaklaşım, kullanıcıların amaç odaklı web sayfalarını özelleştirmek adına önemlidir. 2 Deney ortamı hazırlanıp cinsiyet ve ziyaretçi ilgi parametreleri üzerinden çıkarımlar yapılmaktadır. Bunların yanı sıra “Smart Web” teknolojilerine kaynak olarak kullanılabilir. Ama kontrol parametreleri artırılıp doğrudan sonucu etkileyecek daha fazla parametre üzerinden geliştirme yapılmalıdır. Şöyle ki salt bilgi olarak web sunucusuna gönderilen tarayıcı kayıtlarına göre sitelerin responsible hale getirilmesi süreci örnek alınmalıdır. Yani tarayıcı ve ekran boyutuna göre kullanıcıyla uygun tasarım paylaşılmaktadır. Semantik web, içeriklerin sadece doğal dillerde değil yazılımların da anlayabileceği halde veri tabanlarında tutulması sonrasında yazılımların da verileri kolayca bulabileceği teknolojidir. Ayrıca site haritası olarak bilinene *.xml teknolojisi kullanılarak sitenin salt metinlerinin ve linklerinin tutulduğu hiyarerşi dosyasına da böylece gerek kalmayacaktır. Yani veri topolojisi verilerde saklı olacaktır. Bu durumda kullanıcılara aradıkları en doğru veriyi bulmak için anahtar kelime, meta gibi yapılara gerek kalmayacaktır. 4.1. XML XML (Extensible Markup Language) Anlamsal Web’in en önemli yapı taşlarından biridir. Bağımsız bir kuruluş olan W3C (World Wide Web Consortium) organizasyonu tarafından tasarlanan ve herhangi bir kurumun tekelinde bulunmayan XML’in ana kullanım nedeni, organizasyon içinde ve dışında veri değişiminin sağlanmasıdır. Bu bakış açısından XML, birlikte çalışabilirlik sağlayan önemli bir araçtır. XML dört temel konuda başarı ile Kullanılmaktadır[5]. XML uygulama bağımsız veri ve belge yaratmaktadır. Üst veri (meta data) ortamı için standart bir gösterim sunmaktadır. Veri ve belge için ortak yapısal standartlar sunmaktadır. XML sınanmış bir teknolojidir. XML hem bir dil hem de bir teknoloji olarak, bir verinin biçimlendirilmesi, tanımlanması ve verilerin yapılandırılmasında kullanılmaktadır. Dolayısı ile veriler standart bir şekilde tanımladığından, web'te veya herhangi iki program arasında veri alış verişi kolaylaşmaktadır. Bu özellikleri nedeniyle XML, Anlamsal Web’in geliştirilmesinde önemli bir konuma sahiptir. Kaynaklar [1] Demirli, Cihad, and Ömer Faruk Kütük. "Anlamsal Web (Web 3.0) Ve Ontolojilerine Genel Bir Bakış." (2010). [2] Ulu, Barış, and Banu Diri. "Yazılım Yönetim Ontolojisi." (2007). [3] Kurtel, Kaan. "WEB’in Gelecegi: Anlamsal WEB." Ege Academic Review 8.1 (2008): 205-213. [4] Cooley, Robert, Bamshad Mobasher, and Jaideep Srivastava. "Web mining: Information and pattern discovery on the world wide web." Tools with Artificial Intelligence, 1997. Proceedings., Ninth IEEE International Conference on. IEEE, 1997. [5] DECONTA, M.C.; OBRST, J.L.; SMITH T.K. (2003): The Semantic Web, Wiley.