İnternet Üzerinde Arama Nasıl Yapılır?

Şadi Evren Şeker’in “İnternet Nasıl Çalışır?” adlı video serisinden yola çıkarak, kendisi ile birlikte bir e-kitap yayınladıktan sonra, Kodlayarak Hayat üzerinde de herkesin videoların özetine ve kaynaklarına kolaylıkla ulaşabileceği bir eğitim serisi oluşturmak istedim. Serideki tüm yazıları bu kategori altından bulabileceğiniz gibi; her bölümde, bölümün konusuna ilişkin video’ya da erişmeniz mümkün.

Veri Koleksiyonu (Data Collection)

Web üzerindeki siteleri otomatik olarak gezen yapılara web robotu adı verilmektedir. Web Crawler ya da Spider olarak da bilinen bu kavram bir web robotudur ve bu robot internet üzerinde birbirine bağlı olan ağlar arasında, bir sayfadan başlar ve linkleri takip ederek devam eder.

Web Crawler kavramını daha iyi açıklayabilmek için örnek vermek gerekirse, ağlar üzerinde link takibini yapan ve sayfaları dolaşan kişinin bir robot (bot) yazılım olduğunu düşünün. Web sitelerinin içeriklerini alarak kendisine bir indeks oluşturmakta ve bundan yararlanarak, ilerleyen zamanlarda kullanıcıların önüne bu veya ilgili sayfaları sunabilmektedir.

Bu kısımda bazı sorunlar ortaya çıkmaktadır. Bunlardan bir tanesi de internet ile ilgili gerçeklik (veracity) problemidir. Gerçeklik probleminde, sitelerin ne kadar zaman aralığında güncellendiğine bağlı olarak, bir siteden diğerine bilginin değişebilirliği söz konusu olabildiği gibi, girdiğiniz bir siteye, tekrar erişememeniz de söz konusu olabilmektedir.

Bu tip sayfaları hangi periyotlarda takip etmeniz gerektiğini analiz eden ve sayfa üzerinde sadece yapılan değişikliği fark etmesini sağlayan yazılımlara web crawler adı verilmektedir.

Web crawler, topladığı bilgiler ile bir indeks oluşturduğu ve bu bilgileri diskte değilde, sunucu çiftliğinde bulunan Ram üzerinde tuttuğu için istediğiniz anda hızlı bir şekilde erişim elde etmenizi sağlayabilmektedir.

NOT: Sunucu Çiftlikleri (Server Farms), birçok sunucunun bir arada bulunduğu yerlerdir. Sunucular, Ram üzerinde bilgileri tutarak, anlık olarak gelen bir isteğe cevap vermek için hazırda beklemektedirler.

Arama Modeli

Arama motoru kullanıcıya belirli aramalar sonucunda, ilgili sonuçları hazırlamaktadır. Bu aşamadan bir sonraki adım ise, arama çubuğuna yazdığımız anahtar kelimeye bağlı olarak, sonuçların nasıl getirileceğidir. 

Hangi site en üstte yer almalı, hangisi kullanıcının ilgisini daha fazla çekebilir, hangi site aranan kelimeler ile daha fazla ilgilidir vb. gibi olasılıklar arasından bir analiz yapması gerekmektedir. Tarayıcılar bu sorulara göre geliştirdikleri algoritmaları paylaşmamaktadırlar. Her tarayıcının kendine özgü olarak geliştirilmiş algoritmaları bulunmaktadır. Aynı zamanda bu sonuç gösterme yöntemlerini kişiye özgü olarak da özelleştirebilmeleri mümkündür.

Kelime Hafızası

Kelime kutuları olarak düşünebileceğiniz bu yapı Google olmadan önce ve sonra olmak üzere iki kısma ayırabilmek mümkündür. Genel yapısı itibari ile kelimelerin kategoriler halinde bölümlere ayrılıyor olmasından oluşmaktadır.

Örneğin bir spor sitesinde geçen kelimeler, geçme sıklığı (frekans özelliği/frequency) baz alınarak bir kutuya girebilmekte ve magazin sitesinde geçen kelimeler başka bir kutuda yer alabilmektedir.

Arama çubuğuna girdiğiniz anahtar kelimelerden yola çıkarak, sitenin hangi konu/kategori ile ilgili olduğu ayırt edilebilmektedir.

Bunun için kelimelerin köklerine ayrılmasını sağlayan bir kelime dedektörünü kullanabilmek mümkündür. Bu yöntem ile kelimelerde yer alan yapım ve çekim ekleri algılanabilmekte ve çekim eklerini kelimeden çıkartarak kelimenin köküne inilmektedir. Böylece kelimenin anlamı öğrenilerek, doğru kategoriye ulaşılması sağlanmaktadır.

NOT: Yapım ekleri, kelimelere eklendiği zaman kelimenin anlamını değiştiren eklerdir.

Çekim ekleri ise kelimelere eklendiği zaman anlamı değiştirmeyen eklerdir. Dolayısı ile çekim eklerinin çıkarılması, kelimenin köküne inebilmek için yardımcı olmaktadır.

Otorite Bazlı Arama (Authority Based Search)

İnternet üzerinde bir otorite oluşturulmakta ve sayfalar aslında bir otorite belirtmektedirler.

Google arama motoru projesinde yeni olan ve daha önce geliştirilmeyen Page Rang algoritması, üniversite çağındaki iki genç tarafından ortaya çıkarılmıştır. Bu algoritmaya göre, site ne kadar fazla link alırsa (tıklanırsa), sitenin değeri o kadar artırılmaktadır.

Aşağıda yer alan örneğe göre, 9 tane web sayfası arasında en fazla değere sahip olanların, en fazla link aldığını görebilirsiniz.

Page Rang algoritması ile bazı sorunlarda beraberinde gelmektedir. Bunlardan en önemlisi spam sayfalarının oluşmaya başlamasıdır. Spam sayfaları da page rang algoritmasından yüksek değer alarak ve hatta yüksek değer almak için para ödeyerek sıralamada üst kısımlarda yer alabilmektedirler. Bu sorunun ortadan kaldırılabilmesi için CAPTCHA denilen bir sistem geliştirilmiştir.

CAPTCHA açılımı ‘Completely Automated Public Turing Test To Tell Humans And Computers Apart’ olan ve Türkçeye ‘İnsan ve bilgisayarları ayırt edebilen, tamamen otomatize edilmiş açık turing testi’ olarak çevrilebilmektedir.

İnsan ya da makineleri ayırt etmeye yarayan Turing testlerinin bir örneği aşağıda yer almaktadır.

Robotların oluşması ve çoğalması ve siteler üzerinden bilgi toplamalarına karşılık olarak, linklerin takip edilmesini engellemek için, siteler belirli protokollere uymaktadırlar.

Protokollerin yanı sıra, linklerin takip edilmemesini sağlamak için bir diğer yöntem ise siteniz içerisindeki link kodlarınıza aşağıdaki gibi ‘nofollow’ özelliğini tanımlamanız olabilir.

NOT: Sitelerin içerisinde erişilmesi ve kopyalanması istenilmeyen yerleri görebilmek için, web sayfası adresinin ardından /robots.txt yazmanız yeterlidir. Örneğin Beyaz Saray’ın sitesi için, site içerisinde bilgi alınması engellenen yerleri www.whitehouse.gov/robots.txt yazarak görebilirsiniz.

<html>
<body>

    <a href="https://kodlayarakhayat.com/" rel="nofollow">Kodlayarak Hayat sitesinin linki</a>

</body>
</html>

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.