PageRank

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

PageRank je algoritmus pro ohodnocení důležitosti webových stránek, navržený Larry Pagem a Sergeyem Brinem, tvořící základ vyhledávače Google. (Název algoritmu je dvojsmyslný, šlo by ho přeložit jako “stránkové hodnocení” nebo “Pageovo hodnocení”. Podle vyjádření společnosti Google byl algoritmus pojmenován právě po Pageovi.)

Algoritmus využívá strukturu hypertextových odkazů jako vzájemné “doporučování” stránek, ne nepodobné hodnocení vědeckých prací podle počtu citací. Na rozdíl od sledování počtu citací však dovádí tento princip ještě dál: hodnocení stránky se nepočítá z prostého počtu odkazů, které na ni vedou, ale bere se v úvahu i hodnocení odkazujících stránek, signály ze sociálních sítí apod.

...

Princip

Chceme-li tedy spočítat PageRank R(a) stránky a, můžeme použít vzorec (Markovův řetězec)

R(a) = \sum_{u \in B_a } \frac{R(u)}{N_u}

kde B_a je množina všech stránek, které odkazují na a, a N_u je počet odkazů, které vedou z u. Každá stránka tak své hodnocení v podstatě předává dál skrze odkazy.

Distribuce PageRanku mezi provázanými stránkami

Hodnoty PageRanku se dají spočítat pomocí přiřazení libovolných hodnot a následným iterováním výpočtu, dokud hodnoty nezačnou konvergovat. Iterační výpočet je tedy přímo mocninnou metodou pro výpočet (levého) vlastního vektoru odpovídajícího dominantnímu vlastnímu číslu stochastické matice incidence grafu, který reprezentuje odkazy na webu.

Problémem při výpočtu PageRanku jsou uzavřené struktury stránek, u nichž vedou odkazy dovnitř, ale už ne ven. Například dvě vzájemně propojené strany, s odkazem vedoucím zvenku na jednu z nich, by při výpočtu PageRank akumulovaly, ale nic by nepouštěly ven (protože není kudy). +more Tím vzniká jakási past, kterou Page a Brin nazývají rank sink. Rank sinky lze vyřešit přidáním zdroje ranku: výchozí hodnoty, kterou má každá stránka sama od sebe. Pak lze upravený PageRank definovat jako zobrazení, které splňuje rovnici.

R'(a) = c \left(\sum_{u \in B_a } \frac{R'(u)}{N_u}\right) + (1-c)R'(a)

kde c\in[0,1] je kladná konstanta. 

V maticovém zápisu zapíšeme uvedenou rovnici jako R' = R'(cA + (1-c)E), kde A je stochastická incidenční matice, kde na pozici (a,u) je 1/{N_u}, vede-li odkaz z u do a, v ostatních případech 0, a E je matice ze samých jedniček.

Vektor PageRanků R je tedy (levým) vlastním vektorem matice A, vektor R

matice cA+(1-c)E. Vlastní vektor je normovaný tak aby \|R\|_1=\|R'\|_1=1.

Výpočet PageRanku

Jak již bylo zmíněno, PageRank lze spočítat postupnou iterací: # Zvolme počáteční vektor hodnocení S (například můžeme použít E) # R_0 = s # Cyklus: ## R_{i+1} = A R_i ## d = \lVert R_i \rVert_1 - \lVert R_{i+1} \rVert_1 ## R_{i+1} = R_{i+1} + d E ## \delta = \lVert R_{i+1} - R_i \rVert # Opakujeme cyklus, dokud \delta > \varepsilon

Faktor d ovlivňuje rychlost konvergence a zachovává celkovou normu výsledku.

Trochu problematické jsou ve výpočtu tzv. visící stránky (dangling nodes). +more V praxi se často jedná o stránky, ze kterých už žádný odkaz nevede (obrázky jpg, gif, . , často také dokumenty doc, pdf, . , atd). Výše uvedená matice A je právě z důvodů visících stránek trochu poškozena a není stochastická, ale tzv. substochastická. Tento problém se řeší obdobně jako výše zmíněné rank sinky, které, pro změnu, způsobují rozložitelnost matice A. Rozložitelnost i substochasticita negativně ovlivňují proveditelnost výpočtu.

Přizpůsobení PageRanku

Při výpočtu PageRanku se používá vektor zdroje ranku E. Kromě řešení problému “rank sinks” je to i mocný nástroj k hodnocení stránek z “různých perspektiv” - při použití upraveného vektoru E lze například označit vybranou množinu stránek za důležité pro uživatele, a hodnocení stránek ostatních bude určeno jejich relativním postavením v síti odkazů vůči těmto vybraným stránkám.

Tímto způsobem je teoreticky možné vytvořit vyhledávač přizpůsobený pro konkrétního uživatele - stačí zvolit vektor E, který bude vysoko hodnotit třeba obsah složky jeho složky “oblíbené”. Potom například dotaz “baterie” vrátí elektrotechnikovi stránky o elektrickém článku, zatímco fanouškovi vojenství informace o dělostřelbě.

Vzhledem k výpočetní náročnosti přepočítávání PageRanku pro každého uživatele zvlášť se tento postup ovšem nepoužívá.

Odkazy

Související články

Markovův řetězec * Stochastická matice

Reference

Externí odkazy

M. Hejlová: [url=https://www. +morefp. tul. cz/~plesinger/students/Hejlova_2015. pdf]Google PageRank: Relevance webových stránek a problém vlastních čísel[/url], bakalářská práce, TUL, 2015 (detailní popis zavedení PageRanku včetně matematického pozadí) * [url=http://www. jakpsatweb. cz/seo/pagerank. html]Google PageRank[/url] (vysvětlení na stránkách Dušana Janovského) * [url=http://www. lupa. cz/clanky/zahadny-google-toolbar-pagerank/]Toolbarový PageRank[/url] (vysvětlení zeleného měřítka zobrazovaného Google Toolbarem) * Lawrence Page, Sergey Brin, Rajeev Motwani, Terry Winograd: [url=http://www. voelspriet2. nl/PageRank. pdf]The PageRank Citation Ranking: Bringing Order to the Web[/url] , Stanfordova univerzita, November 1999 (anglicky) * Chris Ridings, Mike Shishigin: [url=https://web. archive. org/web/20080912112513/http://dbpubs. stanford. edu:8090/pub/1999-66]PageRank Uncovered[/url], version 3. 0, September 2002 (anglicky).

Kategorie:Vyhledávací algoritmy Kategorie:Google Kategorie:Webometrie Kategorie:Optimalizace pro vyhledávače

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top