Pages

28 Mayıs 2010 Cuma

Google ve arama motoru yöntemleri temel bilgiler

----

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 tarayıp 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 okuyup 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ı.

2

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'un 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 Google'a sökmüyor.

3

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.

4

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.


5

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 iyi hale 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'ı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

6

Bunu biraz daha anlatmak gerekirse bir sayfaya atanan PageRank aslı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 alaka bağ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 sayede Google 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'ın sunucu ç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.

Kaynak: Chip
----

0 yorum:

Yorum Gönder