PageRank

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.[1])

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 ) = u B a R ( u ) N u {\displaystyle R(a)=\sum _{u\in B_{a}}{\frac {R(u)}{N_{u}}}}

kde B a {\displaystyle B_{a}} je množina všech stránek, které odkazují na a, a N u {\displaystyle 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). 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 ( u B a R ( u ) N u ) + ( 1 c ) R ( a ) {\displaystyle R'(a)=c\left(\sum _{u\in B_{a}}{\frac {R'(u)}{N_{u}}}\right)+(1-c)R'(a)}

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

V maticovém zápisu zapíšeme uvedenou rovnici jako R = R ( c A + ( 1 c ) E ) {\displaystyle R'=R'(cA+(1-c)E)} , kde A je stochastická incidenční matice, kde na pozici (a,u) je 1 / N u {\displaystyle 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 {\displaystyle \|R\|_{1}=\|R'\|_{1}=1} .

Výpočet PageRanku

Jak již bylo zmíněno, PageRank lze spočítat postupnou iterací:

  1. Zvolme počáteční vektor hodnocení S (například můžeme použít E)
  2. R 0 = s {\displaystyle R_{0}=s}
  3. Cyklus:
    1. R i + 1 = A R i {\displaystyle R_{i+1}=AR_{i}}
    2. d = R i 1 R i + 1 1 {\displaystyle d=\lVert R_{i}\rVert _{1}-\lVert R_{i+1}\rVert _{1}}
    3. R i + 1 = R i + 1 + d E {\displaystyle R_{i+1}=R_{i+1}+dE}
    4. δ = R i + 1 R i {\displaystyle \delta =\lVert R_{i+1}-R_{i}\rVert }
  4. Opakujeme cyklus, dokud δ > ε {\displaystyle \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). 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

Reference

  1. „Google Press Center: Fun Facts“. www.google.com. Archivováno z původní stránky dne 2009-04-24.

Externí odkazy

  • Logo Wikimedia Commons Obrázky, zvuky či videa k tématu PageRank na Wikimedia Commons
  • M. Hejlová: Google PageRank: Relevance webových stránek a problém vlastních čísel, bakalářská práce, TUL, 2015 (detailní popis zavedení PageRanku včetně matematického pozadí)
  • Google PageRank (vysvětlení na stránkách Dušana Janovského)
  • Toolbarový PageRank (vysvětlení zeleného měřítka zobrazovaného Google Toolbarem)
  • Lawrence Page, Sergey Brin, Rajeev Motwani, Terry Winograd: The PageRank Citation Ranking: Bringing Order to the Web Archivováno 15. 9. 2005 na Wayback Machine., Stanfordova univerzita, November 1999 (anglicky)
  • Chris Ridings, Mike Shishigin: PageRank Uncovered, version 3.0, September 2002 (anglicky)
Google
Přehled

  • Historie
  • Seznam fúzí a akvizicí Googlu
  • Produkty
  • Kritika
  • Cenzura
  • Domény
  • Easter eggy
  • Don't be evil
Reklama

Komunikace

Software

Platformy

Vývojářské nástroje

Publikování

Vyhledávač (časová osa)

Algoritmy
  • PageRank
  • Panda
  • Penguin
  • Hummingbird
Funkce
  • Web History
  • Personalized
  • Real-Time
  • Instant Search
  • SafeSearch
  • Hlasové vyhledávání
  • Analýza
  • Insights for Search
  • Trendy
  • Knowledge Graph
  • Knowledge Vault
  • Ukončené

    • Aardvark
    • Answers
    • Browser Sync
    • Base
    • Buzz
    • Checkout
    • Chrome Frame
    • Click-to-Call
    • Cloud Connect
    • Code Search
    • Currents
    • Desktop
    • Dictionary
    • Dodgeball
    • Fast Flip
    • Gears
    • GOOG-411
    • Google TV
    • Jaiku
    • Knol
    • Health
    • iGoogle
    • Image Labeler
    • Labs
    • Latitude
    • Lively
    • Mashup Editor
    • Poznámkový blok
    • Offers
    • Orkut
    • Pack
    • Page Creator
    • Picnik
    • PowerMeter
    • Q & A
    • Reader
    • Script Converter
    • SearchWiki
    • Sidewiki
    • Slide
    • Squared
    • Talk
    • Updater
    • Urchin
    • Videos
    • Video Marketplace
    • Wave
    • Web Accelerator
    Lidé

    Zakladatelé
    • Eric Schmidt
    • Alan Eustace
    • John Doerr
    • John L. Hennessy
    • Ray Kurzweil
    • Ann Mather
    • Paul Otellini
    • Ram Shriram
    • Shirley M. Tilghman
    • Matt Cutts
    • Al Gore
    • Rajen Sheth
    • Vint Cerf
    • Alan Mulally
    • David Drummond
    • Patrick Pichette
    • Amit Singhal
    • Jeff Dean
    • Omid Kordestani
    • Rachel Whetstone
    • Salar Kamangar
    • Sundar Pichai
    • Susan Wojcicki
    • Urs Hölzle
    Další

    • Art Project
    • Calico (společnost)
    • Current
    • Chrome Experiments
    • Code-in
    • Code Jam
    • Developer Day
    • Google Business Groups
    • Data Liberation
      • Takeout
    • Google Developer Expert
    • Google for Work
    • Waymo
    • Earth Outreach
    • Fiber
    • Google China
    • Google Express
    • Googlization
    • Grants
    • Google.org
    • Logo
    • Google Doodle
      • 1998–2009
      • 2010
      • 2011
      • 2012
      • 2013
      • 2014
      • 2015
    • Lunar X Prize
    • Material Design
    • Motorola Mobility
    • Ventures
    • WiFi
    • X
    Události

    • Science Fair
    • Searchology
    • I/O
    • Developer Day
    • AtGoogleTalks
    • Code Jam
    • Highly Open Participation Contest
    • Code-in
    Projekty

    Nemovitosti
  • 111 Eighth Avenue
  • Googleplex
  • Příbuzná témata

    • .google
    • AI Challenge
    • Bomba
    • Goojje
    • Monopoly City Streets
    • Unity