Google küçük bir anahtar kelime yardımıyla ilgili sonuçları nasıl buluyor; diğerlerinden farkı ne?
Google gibi arama motorları nasıl oluyor da aradığımız bilgiyi birsaniyeden kısa bir sürede karşımıza getiriyor? Nasıl çalışıyor hiçmerak ettiniz mi?
Arama motorlarının hızlı ve doğru arama sonuçları sunmak için yaptığıüç işlem var. Devamlı interneti tarayarak sayfaları bulmak,okumak ve endeksleyerek arama geldiğinden içinden uygunsonuçları sıraya dizip kullanıcının karşısına getirmek. Üçten fazla mı oldu? Hayır, temelde arama, kıyaslama ve sıralama üçlüsü var, diğerleri ara islemler.
“Spidering” denilen tabir, ağ ve örümcek ilişkisi gibi arama motorununyuvası olan ağı dolaşıp nerede ne var bilmesi anlamına geliyor. Kısaca interneti taramak diyebiliriz.
Bir bot internetteki bağlantıları takip ederken diyelim ki bir resme denk geldi. Resmi sitede görmek için farklı boyut seçenekleri var. Bu bot’ungezmesi gereken adres sayısınıartırıyor. Birden fazla resim dizilimi, küçük resim boyutu, dosya formatıseçeneği derken bunlarınvaryasyonları sayı olarakkatlanarak büyüyor. İnternetin dev gibi, devamlı büyüyen bir yer olduğu düşünülürse, programların bile devamlı dolaşıp içerik hakkındagüncel bilgi edinmesinin ne kadar zor olduğu anlaşılır. Google yılmadan donanıma ve yazılıma yatırım yaparak interneti tarama kapasitesini devamlı arttırıyor.
Google rakiplerini hem bu alanda aştı, hem de hepsinden hızlı endeksleme sayesinde hizli ve doğru sonuçlar sundu. Zaten Google tasarımındaki basitlikten de kazanıyor. Çok hızlı açılan bir sayfa. Sonuçları hızlı olduğu kadar tutarlı çünkü sıralama algoritması çok iyi çalışıyor. İyi çalışmanın ötesinde rakiplerinden farklı ama bu farka daha sonra değineceğiz.
Klasik arama motorları kopyaladıkları nternet sayfalarındaki sözcüklerin bir listesini ve her kelimenin kullanıldığı sayıyı not alarak bir önem tablosu çıkartıyor. Bu sayede program arama sonuçlarındaaranan kelimelerden en çok bahseden sonuçları üst sıraya çıkartıyor. Tabii ki bunu böyle ifade edince çok kolay görünüyor. Ama sorunkullanılan her dilde kelimelerin ekli, çekimli hallerinin bulunması. Eklerve noktalama işaretleri, internet adresleri derken kelimelerin ufak tefek farklı yazılışları onların ayrı kelimeler olarak algılanmasına sebep oluyor. Bunu düzeltmek için kural üzerine kural yazılıyor ve daha mantıklı sonuçlar ortaya konuyor.
Bu yöntemin esas sorunu, yöntemin farkında olan sitelerin kendilerine daha fazla ziyaretçi çekmek için hile yaparak siteleri çok aranan kelimelerle dolduruyor olması. Ancak işte bu Google’a sökmüyor.
Listelenen kelimelerin karşılarınasayılar diziliyor. Endeksteki bu sayılar ise doküman numarası oluyor.Kelime anahtar, o anahtarla aranan karşısındaki dokümanlar oluyor. Her dokümandaki kelimelerin listesinden, kullanım ağırlıklarından bu duruma geldik. Artık liste tersine döndü ve kelimelerin kullanim ağırlığı sıralamaya yansıdı.
Şimdi elde dev bir kelime listesi var, aranan kelimelere buradanbakılıyor ve karşılık gelen doküman numaraları alınarak doküman isimleri, adresleriyle onlara atanmış sayıların olduğu diğer tablodanalınarak arama sonucu olarak kullanıcının karşısına adresler getiriliyor. Kelimelerin karşısına gelen veriler direk doküman numarasi olduğu için de bu ana endeks sıkıştırılabiliyor.
Sıkıştırma yöntemi olarak da sayıları depolamak yerine dev birBitmap hazırlanıyor. Sayıları yazmak yerine satır ve sütun numarası kelimeyi ve karşılığı olan sayıyı belirtecek yer dolduruluyor veya boşbırakılıyor. Bu sayede büyük miktarda yer kazanılmış oluyor. Çünkü tablodaki çoğu kelimenin karşısında çok fazla doküman yok. Örneğintrilyon sayfayı endeksleyen bir arama motorunda böyle bir resim 130 GB kadar yer tutuyor. Sıkıştırıldığında ise daha az tutuyor ve az evvel söylediğimiz gibi çoğunluğu boş olduğundan sıkıştırılmaya çok müsait.
Dahası bu sıkıştırma metodu birden çok kelime arandığında da kolaylıksağlıyor. Bitmap üzerinde satır ve sütunlarda bu aranan iki veya daha çokkelime ve yer aldıkları belgelerkolaylıkla bulunup aktarılabiliyor. Ortaya sadece aranan sonuçları içeren yeni bir Bitmap çıkıyor.
Google gibi dev bir arama motorunda bitmapler birden çok sunucuya yayılabiliyor. Bunların çok daha fazla sayıda da kopyası tutuluyor. Yine de bu yöntem arama süresini inanılmaz kısaltıyor. Bir kullanıcının evindeki PDF, Office ve e-postadosyaları için de bu “inverted file” endeksleme metodu kullanıldığında arama süreleri yine çok kısalıyor. Google Desktop da zaten masaüstü için bunu yapıyor.
İnternette yapılan aramalarla ilgili önemli bir nokta da kullanıcıların genellikle sadece ilk sayfadaki sonuçlara bakması. İlk arama sonuçlarına göre kullanıcı aradığına yakın bir sonucu hemen karşısında görmezse aradığı kelimeleri gözlemlerine göre değiştirerek tekrar deniyor. Sabırlı kullanıcılar bile arama sonuçlarının en fazla ilk birkaçsayfasını inceliyor.
Ve esas fark bu kelimede gizli: PageRank

Gelelim Google’ın farkına, Sergey Brin ve Larry Page, Stanford Üniversitesi’ndeyken akademik bir makale yayınlarlar. Türkçe olarak adı “Büyük Ölçekli bir Hipermetin Ağ Arama Motorunun Anatomisi“dir. Burada yeni arama motorlarının prototipiniçizmişlerdir.
Arama motorunun ismi Google‘dır. Bu Googol‘un yanlış okunuşudur. Googol ise 10′un yüzüncü kuvveti demek oluyor. İsmin gizemini de böylede aydınlatmış olduk. Brin ve Page arama sonuçlarını daha iyihale getirmek için PageRank isimli bir algoritma kullanmaya karar verirler. Bu Larry Page’in ismini taşımaktadır.
PageRank sayfalarını anahtar sözcüklerle doldurarak üst sıralara çıkmak isteyen siteleri çok şaşırtmıştı. Google bu algoritma sayesinde gerekten işe yarar sonuçları büyük bir tutarlılıkla kullanıcıların karşısına getiriyordu. Aslında hala da getiriyor. Peki bu PageRank’ınsırrı nedir?
PageRank sitelerin bağlantılarını inceleyerek önem sırasına dizen bir sistem. Çok fazla bağlantı alan, kaynak olarak gösterilen bir sitenin PageRank’ı haliyle yüksek oluyor. O site bir kaynak olarak üst sıralara taşınıyor. Önemli siteler de başka sitelere bağlantı verdiklerinde onları daha önemli hale getiriyorlar. Sonuç itibariyleiçeriğinden en çok yararlanılan siteler üst sıraları kapıyor. Kullanıcılar da aradıklarını rahatlıkla ve esas kaynağından bulabiliyorlar. Her zaman kusursuz çalışmasa da şimdiye kadar geliştirilmiş en etkiliyöntem bu.
Bunu biraz daha anlatmak gerekirse bir sayfaya atanan PageRankaslında sadece önem sırası değil.
Belli sayfaları gezen bir kullanıcının, bir sonraki adımında o sayfayı ziyaret etme ihtimali de işin içinde. Bu alakabağları ortaya gerçekçi sonuçlar koyuyor.
Google’ın ticari sırrı olan bir formül PageRank’ı 0 ila 10 arasında belirliyor. PageRank’ı 0 olanlar henüz pek kaynak gösterilmemiş yeni siteler. 10 olan ise şimdilik sadece Google var. Wikipedia, Twitter ve Yahoo!gibi bilgi kaynakları PageRank 9′a sahipler. Facebook 8′de kalıyor. Sonuçta önem ve kalite sırası sayesinde kullanıcılar ihtiyaçlarına kolayca ulaşabiliyor. Şu anda okumakta olduğunuz CHIP Online ise PageRank 7‘ye sahip yani internetteki önemli, üst düzey siteler arasında yer alıyor.
Nicelik yerine niteliğe önem veren bir sistem olan PageRank, sayfaların önem ve yaygınlık ağırlığını ölçerek çalışıyor. İşte bu sayedeGoogle başarılı oluyor, bugün bu buluş sayesinde Microsoft‘a rakip oluyor. Arama motoru olarak yüzde 65′lik dilimi elinde bulunduran Google elbette sadece bu algoritmayla işi götürmüyor. Google’ınsunucu çiftlikleri, bu işe ayırdığı para ve zaman da inanılmaz ölçülerde. Bu sayede çok daha iyi bir algoritma geliştirilmedikçe, yeni bir arama motorunun arkasında Microsoft gibi bir sermaye ve güçolmadıkça Google’a rakip olması çok zor. Sihirli formül şimdilik çok iyi çalışıyor ve artık siz de nasıl çalıştığını biliyorsunuz.
C# ile Windows Registry Islemleri(Microsoft.Win32)

