Arama Motorları Nasıl Çalışır? IR Nedir?

Her gün milyarlarca insan bilgisayar başında internette gezinmekte. İnternette gezindiğimiz süreçte Google, Yahoo, Yandex ve Bing gibi arama motorları ile istediğimiz sayfalara çok rahat bir şekilde ulaşabilmekteyiz. Peki bu arama motorları aradığımız kelimeleri bize nasıl getiriyor? Hayatımızın vazgeçilmez bir parçası olan arama motorları nasıl çalışır?



Bilindiği gibi İnternet bünyesinde çok fazla web sayfası bulunmakta. Örneğin Google bu kadar bilginin arasından bizim aradığımız şeyi nasıl bulabiliyor?

Bunun için bakmamız gereken yer Information Retrieval Systems yani Bilgi Getirimi Sistemleri.

Information Retrieval Systems Nedir?

“Arama motorları nasıl çalışır?” sorusunu biraz daha teknik olarak “IR nedir?” biçiminde de sorabiliriz.

Bilgi Getirimi Sistemlerinin (IR) amacı belirli bir kitaplıktan ya da külliyattan aramanıza ait en yakın sonuçları getirmektir. IR sistemleri her ne kadar arama motorlarıyla çok fazla bağdaştırılsa da, harici diskiniz veya bilgisayarınızın içerisinde bulunan dosyalarınız arasından, istediğiniz bir dosyaya erişmeniz de bir bilgi getirimidir. İnternetin popülerleşmesi, web sayfalarının artması ve arama motorlarının çıkışı ile IR sistemleri de hayatımıza girdi.

IR Sistemlerini 3 ana aşamada inceleyebiliriz :

  1. Doküman Taraması (Arama motorları için web taraması)
  2. İndeksleme
  3. En iyi sonuçları sıralama
arama-motorları-calisma-sistemi
Basit Bir IR Şeması

Doküman Taraması

arama-motolari-dokuman-arama

Örnek olarak, Google’da herhangi bir arama yaptığınızda gerçekten canlı bir şekilde internette arama yapmış olmazsınız. O sırada aslında Google’ın kütüphanesindesinizdir. Bu kütüphane o kadar büyüktür ki Dünya üzerindeki tüm kitaplıkları birleştirseniz yine de Google’ın kütüphanesinin yanında küçük kalacaklardır.

Google “örümcek” adını verdiği bir algoritma ile tüm interneti kendi kütüphanesinde indeksler. Bu örümcek bir web sayfasından başlar. Başladığı web sayfasının erişilebilir olan tüm kısımlarını taradıktan sonra, sayfa içerisindeki linklerden diğer sayfalara gider. Ziyaret ettiği diğer sayfalarda da aynı işlemi yapan örümcek internetin büyük kısmını indeksleyene kadar durmadan böyle devam eder. Google veya başka bir arama motoru bu şekilde internetin küçük bir kopyasını kendi sunucularında kayıt altına almış olur.

İndeksleme

Bir örümcek web sitelerini taradıktan sonra kopyalar ve arama motoruna geri gönderir. Bu siteler arama moturunun veri merkezlerinde saklanır. Örümcek gezdiği her sayfayı indeksler. Bu indeksleme sayesinde arama yaptığımızda, arama motoru tüm verileri aramak yerine sadece aradığımız kelimeleri içeren sayfaları bize getirir. En bilindik indeksleme yöntemi ise Inverted Index yani Tersine İndekslemedir.



Inverted Index (Tersine İndeksleme)

Tersine İndeksleme kelime ve sayılardan oluşan bir şemadır. Bu indekslemede dokümandan kelimeye değil, ters bir şekilde aradığınız kelimeden dokümana ulaşırsınız. Örümcek gezdiği sırada kelimeleri geçtiği dokümanlara göre indeksler.

İki çeşit Tersine İndekseleme yöntemi mevcuttur. Bunlardan biri Kayıt Düzeyinde Tersine İndeksleme. Bu yöntemde veri setinde anahtar olarak kelimeleri, anahtarların değeri olarak ise geçtiği dokümanlar tutulur.

Aşağıdaki örnekte görülebileceği gibi veri setimiz kelimeleri ve dokümanları içermekte. Mesela “best” (en iyi) kelimesi 2 numaralı dokümanda geçiyor. “Blue” (mavi) kelimesi ise 1 ve 3 numaralı dokümanlarda geçmekte.

kayıt-duzeyinde-tersine-indeks
Kayıt Düzeyinde Tersine İndeksleme

Bir diğer tersine indeksleme metodu ise Kelime Düzeyinde Tersine İndeksleme. Bu yöntemde ise anahtarlar yine kelimeler olur, fakat bu sefer anahtarların değerlerinde kelimenin geçtiği doküman ve o dokümandaki pozisyonları yer alır.

Aşağıdaki örnek üzerinden bakıldığında “cold” (soğuk) kelimesi 1 numaralı dokümanda 6. indekste aynı zamanda 4 numaralı dokümanın 8. indeksinde yer almaktadır.

kelime-duzeyinde-tersine-indeks
Kelime Düzeyinde Tersine İndeksleme

Arama motorlarına bir sorgu girdiğimizde kelimeleri ayırır ve bu indeks tablosuna göre bize sayfaları getirir. Peki bu sayfalar neye göre sıralanır? İşte orada arama motoruna ait sıralama sistemleri, algoritmalar devreye girmekte.

En İyi Sonuçları Sıralama

Arama motorları bize aradığımız sorguya göre en iyi sonuçları getirirken bir çok kriteri dikkate alırlar. Bu kriterlerden bazıları sayfanızın konu üzerindeki otoritesi, aradığınız kelime sayfada kaç kere geçmekte, aradığınız sayfanın web adresinde bu kelime geçmekte mi gibi kriterler. Şu anlık bu kriterlerin tamamının ne olduğu açıklanmıyor. Arama motorları rakiplerine göre daha iyi performans göstermek için bu bilgileri saklı tutuyor. Fakat Google’ın bir web sitesinin skorunu belirlemek için 200 farklı kriteri göz önünde bulundurduğu biliniyor.

Her ne kadar arama motorları bu bilgileri gizli tutsalar da siz kendi başına oluşturacağınız bir IR sisteminde daha basit formüller kullanabilirsiniz. En bilindik iki formül aşağıda listelenmiştir.

tf-idf
bm25

En basit haliyle arama motorları bu şekilde çalışmaktadır. Arama motorları bu işlemleri saniyeler içinde yapmakta. Açıklanan verilere göre Google üzerinde bir senede yaklaşık 2 trilyon arama yapılmakta. Bu sayı 1999 yılında sadece 1 milyardı. Artışın ne kadar ciddi olduğunun farkında mısınız?

Teknoloji'den geri kalmamak için e-posta listemize abone olun!

Özgür Doğan (Okunuşu: Özgür Do:an) : Teknoloji içerikleri yazmayı ve okumayı seven kişi, kimse, topluluk.