Hlavní navigace

Nové trendy ve vyhledávání

Michal Illich

V dávných dobách Internetu fulltextové vyhledavače neexistovaly - uživatelé se pohybovali po stránkách svých výzkumných ústavů, případně používali bookmarky na domácích stránkách ostatních. Když se objevili roboti, kteří Internet pročesávali a umožňovali vyhledat stránky obsahující zadaná slova, byl to velký přelom.

Nyní má ale Internet několik miliard stránek a dříve používané algoritmy vyhledavačů již nefungují. Stránek, které splňují nějaké kritérium (např. obsahují slovo „lupa“), bývají tisíce nebo milióny – uživateli jich je ale vráceno obvykle jen deset. Vyhledávač musí vybrat ty, které uživateli přinesou největší užitek (v našem příkladu by to pro českého uživatele mohla být třeba adresa /). Velkým tématem jak současných hledačů tak i tohoto článku je relevance výsledků a její zvyšování. Dnes se podíváme na algoritmy, které používají analýzu hyperlinků.

Síla v odkazech

Internet, ač velmi chaotický (nebo demokratický, volný, anarchistický, svobodný), má také svůj řád a strukturu. Ta je daná propojením jednotlivých stránek. Kromě vlastního těla stránky má vyhledavač tedy k dispozici ještě informaci, která leží MIMO tuto stránku. Ta bývá často dokonce důležitější než obsah posuzované stránky, a umožňuje přesnější zhodnocení jejího tématu, typu či důležitosti.

Všechny moderní vyhledavače v menší či větší míře informaci z hyperlinků posuzují. Toto tvrzení se bohužel netýká veřejně přístupných hledačů českých, z pokud vím, neumí to ani jediný. Nyní se podíváme, jaké konkrétní informace můžeme z hyperlinků vyčíst:

Známost stránky

Nejjednodušší, co můžeme posuzovat, je počet odkazů, které na danou stránku ukazují. Dá se pak předpokládat, že více linkovaná stránka je známější. Tato úvaha má ale několik chyb – nepochytí rozdíl mezi tím, jestli na stránku ukazuje milión jednotlivých uživatelů nebo někde jediný robot vygeneroval milión umělých stránek, které mají stránku podpořit svými hyperlinky. Navíc také není totéž, že vás z hlavní stránky linkuje Yahoo nebo vás zmiňuje váš kamarád Honza.

Před dvěma lety přišel s dobrým řešením tehdy neznámý Google. Zakládá si na své veličině pojmenované PageRank (jak podle svého autora Larryho Pagee, tak přeložitelné jako „hodnost stránky“). Google interpretuje hyperlink jako hlas pro cílovou stránku. Tyto hlasy ale nemají stejnou váhu – stránka, která má sama vyšší PageRank, má pak větší váhu při hodnocení ostatních. S určitým zjednodušením se dá říct, že PageRank nějaké stránky je součet PageRanků stránek, které na ni odkazují.

Představte si, že „náhodný surfer“ sedí před svým počítačem, prohlíží si stránky na Internetu a náhodně kliká na odkazy. Čas od času ho to přestane bavit a přeskočí na jinou, zcela náhodnou stránku. Z definice PageRanku vyplývá, že je to pravděpodobnost, že se tento náhodný surfer bude v kterémkoliv okamžiku nacházet na dané stránce. Google tak nejen aproximuje známost nějaké stránky, ale také její návštěvnost.

Tento algoritmus dobře řeší dříve zmíněné problémy. Uměle vygenerovaným stránkám nepřizná větší váhu, než jakou si zaslouží (tedy obvykle žádnou, protože na ně nikdo nelinkuje), a odkazy z důležitých a dobře spravovaných zdrojů jako je např. Yahoo nebo DMOZ dobře ocení. V prvním prototypu Google nedělal nic jiného, než že vzal stránky, které mají hledané slovo v titulku a seřadil stránky podle PageRanku. I samotní autoři byli překvapeni, že takto jednoduchý postup funguje obvykle lépe než konkurenční Altavista.

Distribuce textu odkazu

Ve světě platí jednoduchá závislost: Lepší pozice ve vyhledavači znamená více návštěvníků, to pak znamená více peněz. Každého webmastera pak dříve či později napadne upravit svou stránku, aby se používaným vyhledavačům co nejvíc líbila – a někteří jdou tak daleko, že svou stránku prošpikují desítkami opakovaných (a často irelevantních) slov a tím hloupější vyhledávače úplně popletou. Co pak zmůže vyhledávač, když někteří uživatelé na svých stránkách úmyslně matou? Odpověď jsme již jednou zmínili – musí použít informaci, kterou webmaster stránky nemá pod kontrolou. Obecně tomu můžeme říkat externí validace.

Ve své nejjednodušší formě to může znamenat vzít texty odkazů (tedy ta podtržená slova) a připsat je cílovým stránkám. Při vhodné statistické reprezentaci (která zohledňuje různorodost odkazujících serverů) pak máme informaci, kterou v podstatě nelze nijak zkompromitovat. Pokud např. 60% odkazů, které mají ve svém textu slovo Yahoo, ukazují na www.yahoo.com, můžeme z toho dobře usoudit na relevanci této stránky k dotazu „yahoo“. Složitější algoritmy zohledňují i texty kolem odkazu (což mohou být třeba popisky v katalozích) nebo celou stránku.

Tuto techniku používá opět Google (původně jen vlastní texty odkazů, nyní údajně i jejich okolí), dále Excite (celý obsah domény, tzv. theming) a také Altavista (přinejmenším ve svých výzkumech, na výsledcích jejího vyhledávání to není nijak znát).

Příště

Přes mou snahu nějak do tohoto článku ještě vtěsnat informace o Clever Search od IBM nebo o určování podobnosti stránek se tento text poměrně rozrostl a tak si tato témata necháme na příště. Můžete také očekávat informace o rozeznávání významu slov, automatické kategorizaci a psaní popisků. Uvítám vaše komentáře a názory v diskusním fóru.

Našli jste v článku chybu?