Mantıksal Ağ (Semantik Web)

Arama algoritmaları web’deki veri kaosuyla başa çıkmakta güçlük çekiyor. Bununla birlikte, gelecekte işe yarar arama sonuçlarının sırrı, yapısal depolama yöntemlerinde yatıyor.
İnternet bir dönüm noktası daha yaşıyor.” Web günlüklerinden makalelere, konferanslara, toplantılara kadar birçok yerde karşımıza çıkan fikir bu. “Semantik web” (Anlamsal ağ) yavaş yavaş oluşuyor ve belge merkezli ağ kavramından bağlam merkezli ağa doğru bir geçiş yaşanıyor. Uluslararası Semantik Ağ Konferansı (ISWC) ya da Semantik Teknoloji Konferansı (SemTech) gibi konferanslarda her sene çalışmaların sonuçlarını görebiliyoruz. Hatta World Wide Web Konsorsiyumu (W3C) standartları belirledi ve yayınladı bile.
Gerçek senaryo: Makineler web’deki bilgiyi okuyamıyor
Web bugün insanların başka insanların kullanımına sunduğu sitelerle dolup taşıyor. Bir okur, herhangi bir sitede karşılaştırdığı bilgiyi anlayabilir ve bunu başka bilgilerle ilişkilendirebilir. İşte, makinelerle aramızdaki temel fark da budur. Bununla birlikte, bu labirentten spesifik bir bilgiyi cımbızla çekip çıkarmak zordur. Google ya da Yahoo gibi arama motorları sadece istatistiksel yöntemlerle hazırlanmış arama terimleri için sonuç listeleri sunabilir. Peki, bunların gerçekten istediğiniz bilgiyi içerdiğini söyleyebilir misiniz? Ne yazık ki hayır.
Uygun bir yanıt bulmak için genellikle bir sürü site gezmeniz gerekir ve arama motorlarının sonuçları boş çıkar. Örneğin “Piton” (Python) diye aratacak olsanız, karşınıza yılanlarla ilgili bilgi de gelir, Python programlama diliyle de. Bu durumda, asıl aradığımız ya da istediğimiz şey terim tabanlı, daha anlamsal ya da içerik tabanlı bir arama. Web’deki bilgiler farklı şekilde formüle edildiğinden doğrudan kıyaslama yapmak neredeyse imkânsız.
Dolayısıyla internetteki bilgiyi özetlemek ve tutarlı bir şekilde sunmak da güç. Eğer “anlamsal ağ” (semantic web) terimlerini aratacak olursanız içeriği örtüşen, birbirini tamamlayan ya da birbirine ters düşen birçok siteye rastlayabilirsiniz. Bu da arama sonuçlarının kişiyi doğrudan yanıta götürmemesine, istenilen bilgiyi farklı sitelerden toplama zorunluluğuna yol açıyor. Üstelik kastettiğimiz şey soruların yanıtları da değil. Soru cümlesi şeklinde yapılan aramalar neredeyse her zaman birden çok sorgu ve sonuçlar üzerinde zahmetli bir çalışma gerektiriyor. Bu durumda en iyi şey aranacak anahtar terimleri virgülle ayırarak yan yana yazmak olabilir.
Çözüm: Web içeriğini organize edip ilişkilendirmek
“Anlamsal ağ” terimi internetteki veriyi makinelerin mantıksal işlem yapabileceği şekle dönüştürme fikri için kullanılıyor. Anlamsal ağ siteleri saf meta bilgisinin yanı sıra, bilgiler arasındaki ilişkileri de meta metin olarak alıyorlar. Bunu mümkün kılmak için W3C bir dizi açık standart belirlemiş. XML, RDF (Schema), OWL ve SPARQL gibi bilgisayar dilleri başrol oynuyor. Bu diller ontolojiler ve taksonomiler (Standartlar – RDF kısmında ayrıntılı bilgi bulabilirsiniz) şeklinde anlamsal olarak formüle edilmiş bilgiyi kaydetmeye yarıyor. SPARQL ise RDF ontolojileri için olgulnluğa erişmiş bir sorgu dili.
W3C nedir?
1989′da CERN araştırma merkezindeki çalışması sırasında World Wide Web’i icat eden Tim Berners-Lee, 1994′teki kuruluşundan bu yana World Wide Web Konsorsiyumu’nun (W3C) başkanı. W3C, web standartları ve kılavuzları geliştiriyor ve bunları “tavsiyeler” adı altında sunuyor. ABD’deki MIT Bilgisayar Mühendisliği ve Yapay Zeka Laboratuvarı (CSA-IL), Fransa merkezli Avrupa Enformatik ve Matematik Araştırma Konsorsiyumu (ERCIM) ve Japon Keio Üniversitesinle işbirliği içinde bu çalışmayı yürütüyor. W3C’nin ürünleri, üyelerinin katılımları, araştırma fonları ve kamu ve özel finans kaynakları şeklinde. Tim Berners-Lee, “anlamsal ağ” hayalini daha 1999′da açıklamıştı.
Yöntemler: Anlamsal ağa giden üç yol

Peki, web’i nasıl belge merkezli olmaktan çıkarıp bağlam merkezli hale getireceğiz? Bunu yapmanın ilk yolu, daha önce anlamsal olarak yapılandırılmış bilgileri internete aktarmak. Bilginin başından beri bu şekilde yapılandırıldığı disiplinler mevcut.
Ama ya çoğunluğu oluşturan belge tabanlı bilgi? İşte, programcılar bunun için yapay zekâdan ve bilgisayarlı dilbilimden (linguistics) yararlanmayı tasarlıyor.
Doğal Dil İşleme (Natural Language Processing) terimi, bir insan okuru taklit ederek konuşulan dili analiz etme yöntemlerini içeriyor. Bu durumda, herhangi bir metin cümlelere bölünüyor. Daha önceden bilinen bir yapının (örneğin, özne-nesne-yüklem sıralaması) yardımıyla anlamsal içeriği ayrıştırmak kolay.
Bundan yola çıkarak bir arama sorgusunun kişileri, mekânları, nesneleri ve olayları ayırt etmesi ve sonuçlardaki hata oranını azaltmak için bunları birbiriyle ilişkilendirmesi kolay. Bu “yukarıdan aşağıya” yaklaşımının bir örneğini yazının Uygulamalar bölümünde görebilirsiniz.
Bilinen bir diğer yöntem ise “Microformats” (Mikrobiçimler) olarak geçiyor ve Haziran 2008 de üçüncü yılını kutladı (http://microformats.org). Buradaki düşünce, mevcut (X)HTML sitelerini özel X(HTML) unsurlarıyla genişletmek ve makinelerin okuyabileceği hale dönüştürmek. Böylece kişi listelerini, randevuları ve yer imlerini belirtmek için özel biçimler olabilecek. MobileME, Evenful, Facebook, Flickr, Google Maps, Technorati ve Yahoo daha şimdiden bu biçimleri kullanıyor.
Ayrıntısını Standartlar kısmında bulabileceğiniz RDFa ile W3C de geleneksel (X)HTML sitelerine makinelerin okuyabileceği bilgiler ekleme seçeneği sunuyor. Mikrobiçim geliştiricileri en önemli gereksinimleri en az maliyetle karşılamaya çalışıyorlar. W3C ise meta verilerini tümleştirmek için bir genel çerçeve belirlemenin peşinde. Ancak bu yaklaşımın uygulaması daha pahalıya çıkıyor. Yine de RDFa bir “tavsiye” olarak yayımlanmak üzere ve bu sayede gelecekte Mikrobiçimlerin yerini alma olasılığı var.
Standartlar: Web programcıları için doğru araçlar
Şu an anlamsal ağda hangi standartlar kullanılıyor? İşte size en önemli programlama ve sorgu araçlarının bir listesi.
EXTENSIBLE MARKUP LANGUAGE (XML)
Anlamsal ağın temel standartlarından biri, XML meta dili. Diğer işaretleme dillerini tanımlamakta kullanılabilecek bilgi yapılandırmasını kolaylaştıran XML’de, sözdizimi (syntax), yani belgelerin içermek zorunda olduğu karakterleri ve karakter dizelerini yapılandırma kuralları belirlenmiş. Bunun bilinen örneklerinden biri, HTML’in XML tabanlı bir sürümü olan XHTML işaretleme dili. RDF ve OWL ise yapılandırılmış belgeler yaratmak için gereken temel teknolojiyi temsil ediyor ve iki dil de XML sözdiziminden faydalanıyor.
RESOURCE DESCRİPTİON FRAMEWORK (RDF)
RDF, yapılandırlmış bilginin tanımlanması için kullanılan biçimsel bir dil. HTML ile kıyaslandığında, içeriğin doğru şekilde temsilinden çok bilginin işlenmesi ya da başka bilgilerle birleştirilmesi amacını taşıyor.
Bir RDF belgesi, bir yönlü çizgeyi (oriented graph) betimler. Bu çizge de grafiksel olarak bir ok şeklinde gösterilen ve birbirine doğrularla bağlanan bir dizi düğümden (node) oluşur. Her doğru ve her düğüm, Uniform Resource Identifier (URI) adlı özel bir tanıma sahiptir. Bu karakter dizisi temelde sözdiziminden oluşur ve bir özeti ya da fiziksel kaynağı belirtir.
URI’ler web adresi ya da e-posta adresi olabilir. URI kavramı web’den bağımsız olarak özel tanımlar yaratmaya yönelik genel bir mekanizma biçiminde de kullanılabiliyor. Bu yüzden RDF belgelerindeki URI’ler genelde mevcut web sitelerini işaret etmiyor.
Bir RDF çizgesi (bir ontolojinin görsel hali) kenarları belirtilerek tanımlanabilir. Her bir kenar bir üçlüye (özne, nesne, yüklem) karşılık gelir. Bu da çizgenin XML tabanlı bir betiğe dönüştürülebilmesini sağlar.Elbette RDF’leri temsil etmenin üçlü söz-dizim (turtle) gibi başka yolları da var. Ama XML yapılandırılmış bilgi hazırlamada ve yaratmada yaygın olarak kullanıldığından bu yollara nadiren başvuruluyor. RDF(S) (S, şema anlamındaki schema sözcüğünü ifade ediyor) RDF’nin bir uzantısı ve terminolojik bilginin ya da şema bilgisinin belirtilmesini sağlıyor.
Burada, RDF önce nesneleri, sonra bu nesnelerin başka nesnelerle ilişkisini tanımlıyor. RDF(S) ek olarak bu nesneleri bir sınıfa da atayabiliyor. Bu sınıf bir ya da birden çok sınıfın üst ya da alt öğesi olabilir. Bunun sonucunda, sınıf hiyerarşilerini belirlemek kolaylaşıyor. Bunun bir örneği, biyolojideki taksonomiler. Önemli olan, bir nesnenin sadece kendi sınıfının bir örneği değil, sınıfındaki tüm alt sınıfların da bir üyesi olması.
“Özellik” (property) ise bir başka uzantı.Bu, bir nesnenin özelliklerini tanımlamada kullanılıyor. “MutluBirŞekildeEvlidir” gibi bir özellik, “Evlidir” gibi bir ya da birden çok özelliğin alt kümesi olabilir. Özellikler söz konusu olduğunda, tanım sahası ve değer sahası sınıflarla sınırlanabiliyor. Bu örnekte iki alanı da “kişiler” sınıfıyla sınırlandırmak yararlı olur. Bunun için kaynakların “kişiler” olarak belirtilmesi gerekir.
RDF(s), ifadelerin modellenmesinde sınıf belirteci olarak “rdf:Statement” sözcüğünü kullanıyor. Bu da nesneleri bir ifadeye atayabiliyor. Böylece “Ali tüm kuşların mavi olduğunu öne sürüyor” gibi bir cümle genel geçer bir cümle değil de bu kişinin yorumu olarak saklanabiliyor.
WEB ONTOLOGY LANGUAGE (OWL)
Aslında WOL olan kısaltma, İngilizcede baykuş anlamındaki “OWL” sözcüğüne uysun diye değiştirilmiş. OWL’un temelinde RDF(S)’teki gibi sınıflar ve özelliklerin yanı sıra RDF sınıf örnekleri olarak belirlenen bireyler yatıyor. OWL bu sınıflar ve özellikler arasında karmaşık ilişkiler kurabiliyor.
Ayrıca sınıfları aynı ya da ayrı olarak belirtebiliyor. Bunları kapayabiliyor, böylece hangi bireyin hangi sınıfa ait olduğunu saptayabiliyorsunuz. Sistemi iyileştirmek için “Birleştirme”, “kesme” ve “tamamlama” gibi yığın işlemleri yapılabiliyor. Roller kısıtlanarak bir sınıfın örneklerini de kısıtlamak ya da hariç tutmak mümkün oluyor. “En az bir”, “tümü”, “En az X” ya da “En çok Y” gibi örnek sayısı içeren ifadeler de ek bilgi sağlıyor.
OWL, her biri bir diğerine dayanan üç alt dil halinde bulunuyor. OWL Lite, OWL DL ve OWL Full. Sonuncusu, bilgi tanımlamada en yüksek özgürlüğü sunuyor, ama OWL DL ve OWL Lite’ın geliştirilmesine yol açan da bu özgürlüğün getirdiği problemler. OWL DL bu sorunlar oluşmasın diye tasarlanmış. Bu yüzden mevcut uygulamalar tarafından tamamen destekleniyor (Uygulamalar kısmına bakın, Protege, Pellet, KAON2). OWL Lite ise dilin sadece temel özelliklerini içeriyor ve pratikte daha az önem taşıyor.
SIMPLE PROTOCOL AND RDF QUERY LANGUAGE (SPARQL)
Yukarıda tarif ettiğimiz ontolojilerden nasıl bilgi elde edersiniz? Bunun için RDF, SPARQL adında yeni oluşturulmuş bir RDF sorgulama ve sonuç temsil standardı kullanıyor. Bu durumda, bir sorgu üç ana kısımdan oluşuyor: “PREFIX”, bir isim alanı seçmek için, “SELECT” görüntüleme biçimini belirlemek için, “WHERE” ise asıl sorguyu formüle etmek için. “WHERE” kısmında süzgeç koşulları formüle edilebiliyor. Bunlar, özelliklerin değerlerini doğruluyor. Belirli bir özelliğe sahip nesneleri aratmak olanaklı. Sonuçları “SORT BY” komutuyla sıralamak ve “OFFSET” komutuyla da nesne sayısını sınırlamak elinizde.
W3C henüz OWL için bir sorgu diline sahip değil. Ama SPARQL’i OWL ontolojileri için de kullanmak isteyen girişimler mevcut. RDF’nin aksine, OWL DL ifadeleri dilin bir parçası olarak sunuyor. Bu da bir sınıf tanımıyla ilgili tüm örnekleri bulmada kullanılabiliyor. OWL DL ile ilgili diğer sorgular içinse, sorgunun temel biçimi olarak bağlaçlı sorular kullanılıyor. Yine de, belirttiğimiz gibi, resmi bir sorgu dili bulunmuyor.
RESOURCE DESCRIPTION FRAMEWORK IN ATTRIBUTES (RDFA)
RDFa, tıpkı Mikrobiçim gibi, varolan (X)HTML sitelerini meta verileriyle güncelle-mek için kullanılıyor. Bunun için, RDFa isim alanlarını ve bilgiye işaret eden kendi sözlüğünü kullanıyor. The Dublin Core Metadata Initiative (http://dublincore.org) Dublin Core’u (DC) 1994te yayımladı. Bu, belgeler hakkında yazar, başlık ya da yaratım tarihi gibi bilgileri kaydedebilen, sıkça kullanılan bir sözlük.
RDFa’da bu sözlük şu şekilde kullanılıyor: “xmlns:dc”, Dublin Core ad alanını belirtiyor. “dc:title” aslında aslında http://purl.org/dc/elements/l.l/title yazmanın yerini tutuyor ve belgenin başlığını berlitiyor. “dc:creator” ise yazarı tanımlıyor. Bu bilgiyi bir RDF üçlüsü şeklinde (document, dc:title, title) ve (document, dc:creator, author) olarak da belirtmek mümkün, “about” ise web sitesinin bir unsuruna hitap ediyor. Örneğin sonucunda, yazar ve başlık ayrıntılarını içeren bir görüntü oluşuyor.
Bir diğer ad alanı olan Friend-of-a-Friend (FOAF, www.foaf-project.com) ise temas bilgilerini tanımlayan bir sözlük sunuyor, “typeof” ile bir HTML unsurunu bir tipe atamak mümkün, “foaf.name”, “foaf:mbos” ve “foaf:phone” ise kontak bilgilerini makinelerin okuyabileceği biçimde tanımlıyor.
Uygulamalar: mevcut semantik editörler ve arama motorları
Ontolojiler nasıl yaratılıyor ve hangi araçlar ontolojilerden faydalanabiliyor? En iyi bilinen ontoloji editörü Protege (http://protege. stanford.edu) Açık Kaynak Kodlu ve ücretsiz. Bu programla ontolojileri idare etmek, görselleştirmek, bireyleri sınıflara atamak ve dışa aktarmak mümkün.
Çıkarsama motoru Pellet (http://darkparsia.com/pellet) ve KAON2 (http://kaon2.semanticweb.org) ise OWL ontolojilerinden yeni ifadeler oluşturmaya olanak tanıyor. Pellet de Açık Kaynak kodlu ve ücretsiz. Ama KAON2 sadece ticari olmayan maksatlar için ücretsiz kullanılabiliyor. Editörler ve çıkarsama motorları, anlamsal ağ teknolojisini kullanan bir dizi uygulamanın giriş düzeyini oluşturuyor.
Metaweb Technologies’in yarattığı Freebase açık veritabanı (www.freebase.com) yapılandırılmış bilgiyi hem insanların hem makinelerin kullanabileceği şekle dönüştürme hedefinde. Bu verilerin temeli, Wikipedia ya da MusicBrainz (http://musicbrainz.org) gibi çok bilinen açık veritabanlarının makaleleri. Bu sitelerin içeriği çözümleniyor, sonra ontolojiye ekleniyor. Böylelikle Freebase şu anda üç milyondan fazla konuyu, 750.000′den fazla kişiyi, 450.000 mekanı, 50.000 firmayı ve 40.000 filmi içeriyor. Ancak Freebase kendi ontolojisini ve SPARQL’dan farklı, özel bir sorgu dilini kullanıyor.
RDF’e dayanan bir açık veritabanı da Dbpedia (http://dbpedia.org). Makalelerini yine Wikipedia’dan alan bu veritabanında 2,5 milyon konu (108.000 kişi, 392.000 yer, 57.000 müzik albümü ve 36.000 film) bulunuyor. Bu veriler SPARQL ile sorgulanabiliyor. Ayrıca bir dizi uygulama da arama bağlamında faydalı olabiliyor. Karmaşıklığından ötürü, genel kullanım için çok uygun değğil.
Powerset adlı semantik arama motoru ise (www.powerset.com) iki bilgi kaynağının içeriğini ilişkilendiriyor. Wikipedia’nin ve daha yeni tarihli olarak Freebase’in zaten makineler tarafından okunabilen, semantik olarak hazırlanmış makalelerini kullanıyor. Power-set doğal dilde arama sorgularına da izin veriyor. Bu durumda, sonuçlardan yola çıkarak gerçeklere ulaşılması gerçekten ilginç. Örneğin “How old is…” kalıbıyla bir politikacının yaşı sorulduğunda, gün ve tarih bilgisinin yanı sıra, bu sonucu içeren belgelerin bir listesi de dönüyor.
True Knowledge anlamsal arama motoru (www.trueknowledge.com) aynı sonuçları sunuyor ve dışarıdan Powerset’e çok benziyor. Ancak diğer sorgu biçimlerini de destekliyor. Örneğin, “Is Barack Obama older than Hillary Clinton” (Barack Obama, Hillary Clintondan yaşça büyük müdür?) gibi sorular sorabiliyorsunuz. Üretici firma şu anda ikinci yılında.
“Yukarıdan aşağı” yaklaşımını benimseyenlerden biri de Open Calais. Document Viewer adlı ürün (www.opencalais.com/DocViewer) geleneksel bir web belgesinde bilgi satırlarında geçen nesneleri, olayları ve değerleri RDF biçiminde özetliyor. Firefox eklentisi Gnosis (http://addons.mozilla.org/firefox/3999) uygulama alanlarının bir örneği.
Beklentiler: anlamsal ağ geleceğin teknolojisi

Anlamsal ağ (semantik web) aradığınızla gerçekten ilgili bilgiyi bulmak, farklı kaynaklardan alınan bilgiyi birleştirmek ve örtük bilgi sorunundan uzak durmak için çözüm kümeleri üretiyor.
Bilgiyi tanımlama standartları mevcut ve iyice yerleşmişdurumda. Örtülü bilgiyi erişilebilir kılacak yöntemler bulunuyor. Tüm bunların temelindeki veri hala kısıtlı. Klasik çözümleme yaklaşımları ve web sitelerini anlamsal olarak geliştirmek ya da RDFa ile meta verilerini güncellemek, içerik odaklı sitelere geçişin olanaklı olduğunu ve hatta bu geçişin başladığını gösteriyor. Wikipedia ya da MusicBrainz gibi açık veritabanlarından içerik aktarımı bunun ilk adımı.
Anlamsal ağ sadece içeriğin çeşitlenme-siyle mümkün. Bu durumda içerik daha kolay bulunacak, bilgiler arası bağlantı ve ilişkiler daha rahat tespit edilebilecek. Kontak bilgileri ya da randevular gibi unsurlar daha kolay işlenebilecek.”Terim arama”nın yerini “doğal dilde sorulara bırakması gelecekte yayınlaşacak.
Kategori: İnternet

Makinelerin WEB’deki mevcut bilgiyi okyabilmesi için, semantik Web arama motorları için web sitelerimizi uygun bir standarda getirmeye başlayabiliriz artık sanıyorum. Düzgün ve standarda uygun girildiğinde veya Opengraph kullanıldığında Web3.0′ın istediği anlamları katabiliyoruz.
HTML kodunda yapılabilecekler şurada Türkçe olarak anlatılıyor, yardımcı olabilir:
Web Sitelerinin İletişim Sayfalarının Standartlaştırılması:
http://www.klavyemonitor.com/Web_Sitelerinde_Iletisim_Sayfasi_Standardi.html