Wyszukiwarka pod lupą

Rywalizacja serwisów wyszukiwawczych trwa, a stawką są dziesiątki milionów zapytań dziennie dla najlepszego serwisu. Warto więc spytać, jak działają wyszukiwarki?

Rywalizacja serwisów wyszukiwawczych trwa, a stawką są dziesiątki milionów zapytań dziennie dla najlepszego serwisu. Warto więc spytać, jak działają wyszukiwarki?

Serwisy wyszukiwawcze nie działałyby bez robotów, zwanych również potocznie pająkami. Ich głównym zadaniem jest pobieranie i indeksowanie stron WWW w bazie danego systemu wyszukiwawczego. Prawdopodobnie ze względu na to drugie określenie i nazywanie Internetu "światową pajęczyną" przypisuje się im właściwość, której... nie mają. Otóż pająki nie przemieszczają się z serwera na serwer, co byłoby niemożliwe ze względów bezpieczeństwa. Są to zwykłe programy, które chcąc pobrać jakiś dokument, zgłaszają zapytania do serwerów prawie dokładnie tak, jak przeglądarka w chwili, gdy polecasz jej wczytanie strony WWW. Liczba dokumentów elektronicznych zindeksowanych do tej pory przez takie systemy wyszukiwawcze, jak Google, AllTheWeb czy Teoma, uzmysławia, że działanie robotów, które nie tylko pobierają nowo tworzone strony WWW, ale też regularnie odwiedzają już zindeksowane, musi generować olbrzymi ruch w Internecie. Warto dodać, że obecnie działa co najmniej kilkaset robotów, a najlepsze potrafią zindeksować w ciągu doby około miliona stron (listę pająków wraz z ich dokładniejszym opisem można znaleźć pod adresem www.robotstxt.org). Nie cieszy to właścicieli stron lub serwerów, którzy nie są na przykład zainteresowani tym, aby roboty zajmowały łącza podczas skanowania całej zawartości serwera, ograniczając internautom dostęp do serwisów. Tym bardziej, że na wielu serwerach znajdują się dane do niczego robotom niepotrzebne, w tym skrypty CGI, których pobieranie może powodować niepożądane skutki.

Savoir-vivre bota

Strony T1, T2, T3, ... Tn zawierają odnośniki do strony A.

Strony T1, T2, T3, ... Tn zawierają odnośniki do strony A.

Aby ułatwić życie zarówno właścicielom stron, jak i programistom tworzącym pająki, opracowano specjalny zestaw reguł, swoisty savoir-vivre tych wirtualnych zwierzaków. Po pierwsze, twórcy internetowych pająków powinni tak konstruować programy, aby zgłaszając zapytanie do serwera, jednoznacznie mu się przedstawiały. Zgłaszane zapytanie powinno zawierać nazwę pająka, np. GoogleBot, adres e-mail osoby odpowiedzialnej za jego obsługę oraz krótki opis, w jakim celu program odwiedza daną stronę. Informacje te umieszczone są w zarezerwowanych polach nagłówka http. Dzięki nim właściciel serwera WWW wie, do kogo ma się zwrócić, gdy źle napisany robot zasypuje serwer lawinami zapytań lub częściej, niż jest to wskazane, odwiedza stronę.

Po drugie, pająki, indeksując zawartość serwisu, zobowiązane są przestrzegać reguł określanych przez standard Robot Exclusion Protocol (w wolnym tłumaczeniu protokół wykluczania robotów). Jeśli właściciel serwera WWW chce udzielić robotom wskazówek zgodnie z tym standardem, musi utworzyć plik robots.txt, określając w nim, których części serwisu nie powinny indeksować.

Rozwiązanie to ma jednak wadę. Żeby pająki widziały plik robots.txt, należy go umieścić w katalogu głównym domeny. Przeważnie uniemożliwia to tworzenie czy modyfikację pliku przez osoby umieszczające swoje strony na serwerze - ze względu na brak uprawnień do modyfikacji i zapisu plików w tym katalogu. Oczywiście twórcy stron WWW mają narzędzie dające pewną kontrolę nad pająkami: metaznaczniki, którymi należy odpowiednio (patrz ramka "Metapolecenia dla robota") opisać każdy dokument htm/html wchodzący w skład serwisu.

Strona na indeksie

Aby zlecić pająkowi załadowanie dokumentu elektronicznego, system wyszukiwawczy musi dysponować wyjściową pulą adresów, na przykład z utworzonego przez człowieka katalogu stron WWW. Gdy robot pobierze dokument, wyszukiwarka może rozpocząć jego indeksowanie. W tym procesie zdecydowana większość systemów wyszukiwawczych przywiązuje istotne znaczenie do sposobu sformatowania tekstu elektronicznego dokumentu. Dlatego analizując go pod względem zawartości słów, wyszukiwarki zapamiętują również rozmiar czcionki, pogrubienie, zastosowanie dużych liter oraz to, czy dany wyraz znajduje się w nagłówku, czy nie. Informacje te służą do przypisania słowu odpowiedniej wagi. Jako ważniejsze ocenione zostanie słowo występujące w nagłówku niż np. napisane bardzo małą czcionką. Pająki interesują się również obrazkami na indeksowanej stronie WWW. Na razie jedyną powszechnie stosowaną metodą analizy treści elementu graficznego strony jest analiza tekstu alternatywnego zdefiniowanego w atrybucie ALT znacznika IMG oraz tekstu znajdującego się w sąsiedztwie obrazka.

Metapolecenia dla robota

Dzięki elementowi ROBOTS znacznika META można wydać odpowiednie dyrektywy pająkom indeksującym strony WWW. Na przykład kod: <META NAME="ROBOTS" CONTENT= "index, nofollow"> wskazuje robotom, że dana strona może być indeksowana (parametr index), natomiast strony, do których prowadzą łącza w bieżącym dokumencie - nie (parametr nofollow).

W Internecie nie brak serwisów oferujących utworzenie odpowiedniego nagłówka z metadanymi mniej zaawansowanym twórcom stron WWW. Pod adresem www.searchengines. pl/podstawy_meta_generator.php3 lub www.submitexpress.com/metatags. html można wypełnić formularz, podając tytuł strony, kilkuzdaniowy opis zawartości serwisu i słowa kluczowe. Informacje zostaną przetworzone przez skrypt. Wygenerowany kod należy umieścić w sekcji HEAD strony WWW. Warto pamiętać, że o pozycji strony w wynikach zwracanych przez wyszukiwarkę decydują przede wszystkim: tytuł, kilkaset pierwszych znaków opisu umieszczanego w elemencie DES-CRIPTION oraz... zawartość serwisu.

W czasie indeksowania wychwytywane są również odnośniki do dalszych dokumentów i jeśli system uzna je za nowe, wzbogacają wyjściową pulę adresów.

Jeśli autorzy serwisu wyrazili zgodę na to, aby robot podążał za łączami na stronie, wybiera jedno z nich i cała operacja zaczyna się od początku. Oczywiście pobrany przez pająka dokument WWW nie musi być od razu zindeksowany, często zostaje skompresowany i czeka na swoją kolej.

Analiza treści obrazów cyfrowych to bardzo poważne zadanie serwisów wyszukiwawczych. Informacje tekstowe, które wyszukiwarka pobiera ze strony, indeksując grafikę, bardzo często nie wystarczają. Nie wszyscy twórcy stron WWW wykorzystują atrybut ALT znacznika IMG do opisu umieszczanej na stronach grafiki. Nikt nie zagwarantuje też, że indeksowany przez pająki tekst okalający obrazek będzie zawierał jakiekolwiek informacje o jego treści.

Trudność z opracowaniem dobrego systemu rozpoznawania obrazów spowodowana jest tym, że oprócz trafności musi on jeszcze działać bardzo szybko, tak by jego komercyjne wdrożenie było w ogóle możliwe.

Sekretny search engine

Zindeksowana strona zostaje umieszczona w bazie. Gdy internauta skieruje zapytanie do serwisu wyszukiwawczego, baza przeszukiwana jest przez specjalny algorytm. Kryteria wartościowania stron i sposób, w jaki algorytm stwierdza, które ze stron najtrafniej odpowiadają na zapytanie, to pilnie strzeżony element serwisu wyszukiwawczego. Największe różnice pomiędzy poszczególnymi wyszukiwarkami, - włączając sposób prezentacji wyników i funkcjonalność serwisów, związane są właśnie z działaniem tego algorytmu.

Aby zwiększyć trafność odpowiedzi, współczesne systemy wyszukiwawcze kojarzą wyniki przeszukiwania bazy z dodatkowymi metodami ewaluacji wartości strony. Dobrym przykładem takiej metody jest PageRank.

PageRank, czyli przełom

Do czasu wprowadzenia przez Google technologii PageRank (dosłownie "ranga strony") wyszukiwarki oceniały, czy dana strona odpowiada zapytaniu, odwołując się w zasadzie wyłącznie do informacji o słowach, zgromadzonych na etapie indeksowania. Zupełnie nie wykorzystywano wówczas tego, co zakodowane jest w strukturze drzewa, które tworzą łącza hipertekstowe.

Metapolecenia dla robota

Jeśli strony T1,T2,T3,... Tn zawierają łącze do strony A, C(A) zaś oznacza liczbę wszystkich odnośników umieszczonych na tej stronie i wprowadzi się parametr d przyjmujący wartości od 0 do 1, wówczas PageRank strony A obliczany jest następująco:

PR(A) = (1-d) + d*[PR(T1)/C(T1) +...+PR(Tn)/C(Tn)]

PageRank ma również interpretację probabilistyczną. Gdybyś otworzył dowolną stronę internetową i zaczął surfować po Internecie, losowo wybierając łącza do kolejnych stron, wówczas PageRank danej strony określałby prawdopodobieństwo, że ją odwiedzisz. Obecnie Google korzysta ze znacznie bardziej skomplikowanego algorytmu wyliczania wartości PageRank, co nie zmienia iterpretacji powyższego uproszczonego wzoru.


Zobacz również