Webhakkında Herşey
Hoş Geldiniz!

Bugün : 10 Eylül 2010 Cuma











Bilgisayar ve İnternet


 








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 bir
saniyeden 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 uygun sonuç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 işlemler.



"Spidering" denilen tabir, ağ ve örümcek ilişkisi gibi arama motorunun
yuvası olan ağı dolaşıp nerede ne var bilmesi anlamına geliyor. Kısaca
interneti taramak diyebiliriz. Bu işi yapan, internet sitelerini
okuyarak kaynak kodu analiz eden ve bağlantıları takip eden algoritmalar
oldukça özel. Bu sayfaları kaydedip daha sonra detaylı bir şekilde
analiz ediyorlar. İnternette bu "Web crawler", "web robot" veya "bot" da
denilen programları yazmanın yolu yordamı da var. Ancak işin
incelikleri, arama motorlarının kullandığı başarılı sürümlerin sırları
saklı.



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
botun gezmesi gereken adres sayısını artırıyor. Birden fazla resim
dizilimi, küçük resim boyutu, dosya formatı seçeneği derken bunların
varyasyonları sayı olarak katlanarak 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ında gü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 hızlı 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ında aranan
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 sorun kullanılan her
dilde kelimelerin ekli, çekimli hallerinin bulunması. Ekler ve 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 Googlea sökmüyor.



Google ve gittikçe basitleşen listeler



Listelenen kelimelerin karşılarına sayı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 kullanım ağırlığı sıralamaya yansıdı.



Şimdi elde dev bir kelime listesi var, aranan kelimelere buradan
bakı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 tablodan
alınarak arama sonucu olarak kullanıcının karşısına adresler
getiriliyor. Kelimelerin karşısına gelen veriler direk doküman numarası
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 bir Bitmap
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ğin trilyon 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ık
sağlıyor. Bitmap üzerinde satır ve sütunlarda bu aranan iki veya daha
çokkelime ve yer aldıkları belgeler kolaylı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-posta dosyaları 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.



Gelelim Googleın farkına, Sergey Brin ve Larry Page, Stanford
Üniversitesindeyken 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 Googledır. Bu Googolun yanlış okunuşudur. Googol
ise 10un yüzüncü kuvveti demek oluyor. İsmin gizemini de böylede
aydınlatmış olduk. Brin ve Page arama sonuçlarını daha iyi hale getirmek
için PageRank isimli bir algoritma kullanmaya karar verirler. Bu Larry
Pagein 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ın sı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ç itibariyle iç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 etkili yöntem bu.


Tarih : 15 Ağustos 2009 Cumartesi
Hit : 125

Copyright © webhakkinda