Principy fungování vyhledávacích strojů
Klíčová slova: vyhledávací stroje, search engine
Úvod
Motivací této práce je snaha popsat základní procesy, které probíhají ve vyhledávacích strojích. Vyhledávací stroje jsou velmi populární a velmi využívané. Z toho plyne, že o nich existuje velmi mnoho článků v populárně odborném tisku. Většinou se zabývají tím, jak vyhledávací stroje využívat, tj. především dotazovacím jazykem popisovaného vyhledávacího stroje nebo popisem konfigurací počítačů, na kterých jsou vyhledávací stroje porvozoványPrací o tom, jak vyhledávací stroje fungují "uvnitř", je velmi málo. To je způsobeno především velmi tvrdou konkurencí a pochopitelnou neochotou zveřejňovat jakékoliv informace o vnitřních principech fungování. S podivem ovšem je, že ani v akademické obci nevzniklo mnoho popisů toho, jak vyhledávací stroje fungují. Pokud se taková práce objeví obvykle, se zabývá pouze jednotlivými dílčími procesy. Sručným nastíněním principů bych chtěl přispět ke změně tohoto stavu.
V článku se budu zabývat pouze všeobecnými vyhledávacími stroji, nikoliv specializovanými. Všeobecnými vyhledávacími stroji myslím takové, které zpracovávají všechny dokumenty ne webu bez omezení.
Existuje celá řada specializovaných vyhledávacích strojů. Vyznačují se specializací na některý typ informací, které zpracovávají. Existují stroje specializované na vyhledávání adres elektronické pošty, na geografickou oblast, na některou oblast lidského snažení a podobné.
Získávání dokumentů
První z procesů, které musí vyhledávací stroj (VS) provést, je získání dokumentů. V této fázi jsou získané dokumenty pouze uloženy pro další zpracování na sdílené paměťové médium. Od kvality tohoto procesu, především počtu získaných dokumentů a jejich úplnosti, se pak dále odvíjí kvalita celého vyhledávacího stroje. I když počet dokumentů není zdaleka nejdůležitějším předpokladem dobrého fungování VS.Získávání dokumentů probíhá v první fázi práce (při vzniku) VS tak, že autoři nastaví úvodní dokument. Z toho dokumentu vyhledávací stroj vyjde. Uloží si jeho kopii, získá z něj všechny hypertextové odkazy, přesněji URL (Uniform Resource Locator). Použije URL pro získání dalších dokumentů a celý proces se opakuje až do splnění podmínky, kterou mu autoři zadali. Tak lze teoreticky získat všechny dokumenty, které se na webu nacházejí (přesněji všechny na které existuje odkaz z jiných dokumentů).
Ve druhé fázi práce VS, kdy už je v běžném provozu, je umožněno přidávání URL i samotným uživatelům.
Mluvíme-li o podmínkách, které mají být splněny pro ukončení získávání, pak je to obvykle kombinace následujících:
- získání daného počtu dokumentů
- čas pro získávání dokumentů
- omezení na určitou doménu např. .cz
- omezení na typ dokumentu (to platí spíše pro specializované VS)
- omezení na jazyk získávaných dokumentů
Navíc se VS při získávání řídí podle robot excluding protocol, který definuje, zda VS může z daného počítače dokumenty získat či nikoliv.
Aktualizace zpracovávaných dokumentů
Aktualizace získaných dokumentů je velkou výzvou pro vyhledávací stroje. Dokumenty se na webu mění velmi dynamicky takže, v momentě, kdy jsou splněny podmínky pro získávání dokumentů (viz výše) tak je potřeba začít znovu, neboť dokumenty jsou již zastaralé. Vzhledem k tomu, že získání všech dokumentů je technicky velmi obtížné a časově i finančně velmi náročné a není to, alespoň podle mého názoru nijak zvlášť přínosné, bylo potřeba tento problém řešit.Došlo k vytvoření systému pořádání dokumentů, které budou získávány přednostně. VS podle frekvence aktualizace a v některých případech i podle "důležitosti"(viz dále) dokumentu určuje pořadí získávaných dokumentů. Frekvenci, jak často jsou dokumenty aktualizovány, se VS naučí tím, že v pravidelných intervalech (dny až týdny) prochází již získané dokumenty a kontroluje, zda se změnily. U vybraných např. úvodní stránky daného webu si poznamená, jak často je měněna a pak přizpůsobí interval, v jakém bude stránky navštěvovat.
Důležitost daného dokumentu VS určuje podle počtu odkazů, které na daný dokument vedou. Nebo chcete-li, podle citovanosti dokumentů. Na Internetu stejně jako v reálném světě se vytvářejí kopie dokumentů. Vyhledávací stroje jsou schopny zjistit originál a odlišit ho od kopie. Pak považují originál za "důležitější" a upřednostňují ho při získávání dokumentů nebo dokonce tyto kopie nezpracovávají. Tímto způsobem jsou schopny výrazně omezit množství dokumentů, které musí zpracovávat.
Lze říci, že aktualizaci dnešní VS stroje zvládají v době od jednoho dne po několik měsíců.
Zpracování získaných dokumentů
Při tomto procesu dochází k indexaci dokumentů. Některé vyhledávací stroje, převážně v prvních verzích, zpracovávaly pouze slova z názvu dokumentů popř. několik desítek či stovek slov od počátku dokumentu.Dnes v podstatě všechny indexují plný text dokumentů. Vyhledávací stroje tedy pracují jako plnotextové databáze.
Ve webovém dokumentu lze definovat pomocí metatagů různé doplňující informace, ať již jsou to klíčová slova, autor, společnost apod. Při indexování jsou tato slova také indexována, pak jsou preferována při prezentaci výsledků hledání.
Indexování stejně jako získávání dokumentů je v podstatě nikdy nekončící proces. Dochází při něm k vytváření tzv. indexů, což je v podstatě seznam slova a k nim odpovídající dokumenty, ve kterých se slovo vyskytuje. Tyto indexy jsou poměrně velké (stovky GB) Prohledávání takového množství dat uložených na pevných discích je i přes jejich dobrou organizaci náročné. Proto dochází k rozprostření indexu na několik počítačů, přičemž je index uchováván v operační paměti těchto počítačů. Ta je až o sedm řádů rychlejší, proto je prohledávání indexu tak rychlé. Při tomto rozprostíraní existují dva přístupy. Jeden propaguje většina velkých vyhledávacích strojů. Je to rozprostření indexu na několik desítek až stovek málo výkonných počítačů. Druhý využívá několik málo velmi výkonných počítačů s velkým množstvím operační paměti.
Vyřizování dotazů
Vyřizování uživatelských dotazů probíhá následujícím způsobem. Uživatel komunikuje s počítačem (nazveme ho bránou), který tvoří zprostředkovatele mezi počítači, které uchovávají index a uživatelem. Existují dvě možnosti, co se děje po zadání dotazu.V prvním případě brána předá požadavek všem strojům, které udržují index. Ty pak vyhledají ve své části indexu dokumenty, odpovídající dotazu. Výsledek předají bráně. Ta je zpracuje, vybere z nich nejlepší a ty předá uživateli.
V druhém případě brána ví, které počítače udržují index toho konkrétního slova a pak se dotazují přímo jeho. Pak opět počítače vrátí seznam dokumentů, ve kterých se slovo vyskytuje bráně. Ta z nich vybere nejlépe odpovídající a ty vrátí uživateli.
Hodnocení relevance dokumentů
Při procesu výběru nejlepšího dokumentu se postupuje následovně. Existuje sada kritérií hodnocení, každé má svoji váhu. Dokumenty, které navrátí stroje, které provádějí indexování, jsou podrobeny analýze. Při této analýze se podle daných kritérií vypočítá relevance dokumentů.Kritéria hodnocení jsou tato:
- pozice slova v dokumentu
- počet opakování slova
- výskyt slova v url, především v názvu domény nebo serveru
- existence slova v metatagu
- zvýraznění slova v textu (např. kurzívou nebo velikostí písma)
Na druhou stranu stejně jako všude jinde je znalost těchto kritérií zneužívána. Proto většina VS má zabudované mechanismy, které penalizují a snižují hodnocení dokumentů, které se snaží o zneužití těchto kritérií. Příkladem může být dokument v němž se stokrát opakuje jedno slovo za sebou.
Kritéria hodnocení se neustále vyvíjejí a vylepšují. Bohužel komercializace pronikla i do VS a tak se stává, že prodávají pozice ve výsledcích vyhledávání. Tím jsou VS ovšem degradovány na reklamní plátky.
Závěr
Závěrem bych chtěl říci, že přestože jsou VS již poměrně velmi propracované, jejich autory čeká ještě mnoho práce než o nich budou moci říci, že jsou dokonalé. Nejvíce práce bude potřeba udělat v hodnocení relevance výsledků. Pokrok v této oblasti je nejvíce patrný. Další práci bude potřeba udělat v oblasti aktualizace a zvyšování počtu zpracovávaných dokumentů.Zajímavé vyhledávací stroje
Google a DirectHit jsou zajímavé způsobem hodnocení relevance dokumentůAll the Web, All the Time je zajímavý tím, že chce indexovat celý web
WordCruncher
Literatura:
BRIN, S, Page, L. The anatomy of a large-scale hypertextual Web search engine. Computer networks and ISDN systems, 1998, vol. 30, no. 4, s. 107-117NOTESS, G. Internet search engine update. ONLINE, 1999, vol. 23, no. 7 s. 17
Li, YH. Toward a qualitative search engine. IEEE Internet computing, 1998, vol. 2, no. 4, s. 24-29