21
PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank, Hubs and Authorities Szegedi Tudományegyetem Adatbányászat

Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

AdatbányászatWebbányászat

PageRank, Hubs and Authorities

Szegedi Tudományegyetem

Adatbányászat

Page 2: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

Miért akarjuk rangsorolni a Weboldalakat?

Mert ”tudásra szomjazunk”Mert a Google-nak megéri. Pontosan hogy is?Mert állatorvost keresünk, pizzázni akarunk, meg akarjuktalálni a szállásunkat, köszi esszét akarunk írni,. . .

Adatbányászat

Page 3: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

Milyen a Web felépítése?

Nagy erősen összefüggő, központi komponensKisebb erősen összefüggő komponensek, melyek a központiEÖK-hoz be,-vagy kiélekkel csatlakoznakA központi EÖK-hoz beélekkel csatlakozó komponens elemei ésaz ahhoz kiélekkel csatlakozó komponens elemei közötti linkekLeszakadó komponensek

Adatbányászat

Page 4: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

Mi kell a hatékony információvisszakereséshez?

Ismerni kell a dokumentumok tartalmát ⇒ indexelésproblémaköre(Esetleg többszavas) keresőkifejezésre vissza kell tudni adni,mely dokumentumokban szerepeltek

SzótövezésTermek relevancia szerinti súlyozása, pl. tf-idf súlyozás (ésannak számtalan variánsa)

Keresőkifejezést tartalmazó találatok rangsorolása várhatóhasznosság tekintetében

Adatbányászat

Page 5: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

ZsákutcákPókháló struktúrákPerszonalizált PageRankTrustRank

Weboldalak rangsorolása

Miben mérjük egy oldal fontosságát?Látogatottság?Linkek?

Rekurzív definíciónkban egy oldal fontossága legyen aránybana rá mutató oldalak fontosságával

rang(j) =∑i→j

rang(i)

fokszám(i)

Mit okoz, ha magas egy csúcs befoka? És ha a kifoka?

Adatbányászat

Page 6: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

ZsákutcákPókháló struktúrákPerszonalizált PageRankTrustRank

Sztochasztikus mátrixok

M mátrix sor-sztochasztikus, amennyiben ∀mi ,j ≥ 0, továbbá

∀i ∈ {1, . . . , n}n∑

j=1mi ,j = 1

Hasonlóan adható meg az oszlop-sztochasztikusság definíciójaM mátrix mi ,j elemének jelentése? ⇒ M átmenet/tranzíciósmátrix, mely segítségével Markov folyamatok írhatók leMilyen jelentés társítható pᵀ1 = pᵀ0M és p1 = Mp0szorzatokhoz?És milyen pᵀi = pᵀi−1M = pᵀ0M

i -hez?

Adatbányászat

Page 7: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

ZsákutcákPókháló struktúrákPerszonalizált PageRankTrustRank

Sztochasztikus mátrixok stacionárius eloszlása

Irreducibilitás: bármely pontból bármely másikba vezessenirányított útAperiodicitás: ∀i∃n′ : P(σn = i |σ0 = i , n > n′) > 0⇒ ∃p∗ᵀ sztochasztikus vektor, mely M stacionárius eloszlásaStacionárius eloszlás: p∗

ᵀ= lim

t→∞pᵀ0M

t

Kicsit másképp: azon pᵀt , melyre pᵀt ≈ pᵀt−1M

Hatványiteráció: szorozzuk pᵀ-t M-el, amíg nem konvergálA konvergencia vonatkozhat az oldalak rangbéli változásának(valamilyen norma szerinti) összességére, de a sorrendjükre is

M =

0 1

313

13

12 0 0 1

21 0 0 00 1

212 0

1

2

3

4

Adatbányászat

Page 8: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

ZsákutcákPókháló struktúrákPerszonalizált PageRankTrustRank

Ergodikus Markov lánc – Hatványiteráció

M2 =

12

16

16

16

0 512

512

16

0 13

13

13

34 0 0 1

4

M3 =

14

14

14

14

58

112

112

524

12

16

16

16

0 38

38

14

p0 p1 p2 p3 . . . p6 . . . p9

0,25 0,375 0,313 0,344 . . . 0,332 . . . 0,3330,25 0,208 0,229 0,219 . . . 0,224 . . . 0,2220,25 0,208 0,229 0,219 . . . 0,224 . . . 0,2220,25 0,208 0,229 0,219 . . . 0,224 . . . 0,222

Mennyire meglepő, hogy 3 pont fontossága is végig teljesen egyező?

Adatbányászat

Page 9: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

ZsákutcákPókháló struktúrákPerszonalizált PageRankTrustRank

A Web azonban nem ergodikus – Zsákutcák

Léteznek olyan oldalak, amelyekről nem mutat kimenő linkAz ilyen oldalak ”elnyelik” a hálózat szereplőinek fontosságátLegegyszerűbb ilyen gráf

M =

(12

12

0 0

)⇒ M i = 1

2i−1M ⇒ ∀v , limi→∞

vᵀM i = ~0

Adatbányászat

Page 10: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

ZsákutcákPókháló struktúrákPerszonalizált PageRankTrustRank

A zsákutcák lehetséges feloldása – példa

”Fejtsük vissza” a gráfot, amíg zsákutcamentes nem leszA zsákutca jelenséget okozó csúcsok eltávolításával sokszorújabb zsákutca csúcso(ka)t generálunkHatározzuk meg a zsákutcamentesített gráf csúcsainak rangját,és abból származtassuk a korábban eltávolított csúcsok rangjátEzzel az eljárással a rangok összege meghaladja 1,0-t (perszenormalizálhatunk utólag)

M =

0 1

313

13 0

12 0 0 1

2 00 0 0 0 10 1

212 0 0

0 0 0 0 0

Adatbányászat

Page 11: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

ZsákutcákPókháló struktúrákPerszonalizált PageRankTrustRank

A Web azonban nem ergodikus – Pókháló struktúrák

”Kijártat” nélküli ”csapda” komponens a hálózatban, amimagába gyűjti az összes oldal fontosságátLegegyszerűbb megjelenése: hurokélen túli éllel nemrendelkező csúcs (persze elképzelhetők nagyobb csapdák is)

M =

0 1

313

13

12 0 0 1

20 0 1 00 1

212 0

p0 p1 p2 p3 . . . p6 . . . p9

0,25 0,125 0,104 0,073 . . . 0,029 . . . 0,0110,25 0,208 0,146 0,108 . . . 0,042 . . . 0,0160,25 0,458 0,604 0,712 . . . 0,888 . . . 0,9570,25 0,208 0,146 0,108 . . . 0,042 . . . 0,016

Adatbányászat

Page 12: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

ZsákutcákPókháló struktúrákPerszonalizált PageRankTrustRank

A pókháló struktúrák lehetséges feloldása – példa

A weben történő véletlen bolyongás modellezésébe vegyük belea ”teleportálás” lehetőségétA véletlen böngészés során β(≈ 0, 8− 0, 9) valószínűséggelkövessük az adott tartózkodási helyünkből kimenő élek egyikét(1− β) valószínűséggel találjuk magunkat egy randomweboldalon ⇒ megszüntetjük a beragadást

pᵀ(i+1) = pᵀ(i)βM + (1− β) ~1csúcsok száma

Esetleg pᵀ(i+1) = pᵀ(i)(βM + (1−β)n~1~1ᵀ), ahol n a csúcsok

száma, ha az jobban tetszik

Adatbányászat

Page 13: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

ZsákutcákPókháló struktúrákPerszonalizált PageRankTrustRank

A pókháló struktúrák lehetséges feloldása – példa

βM =

0 4

15415

415

25 0 0 2

50 0 4

5 00 2

525 0

Mekkora volt β a példában?p0 p1 p2 p3 . . . p6 . . . p9

0,25 0,150 0,137 0,121 . . . 0,105 . . . 0,1010,25 0,217 0,177 0,157 . . . 0,134 . . . 0,1300,25 0,417 0,510 0,565 . . . 0,627 . . . 0,6390,25 0,217 0,177 0,157 . . . 0,134 . . . 0,130

Adatbányászat

Page 14: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

ZsákutcákPókháló struktúrákPerszonalizált PageRankTrustRank

Perszonalizált PageRank

Mennyire objektív a PageRank által kapott sorrendje aweboldalaknak?Eltérő emberek számára ugyanarra a keresőkifejezésre másszámít releváns találatnakMinden ember számára legyen eltérő súlyozása aweboldalaknak?Sőt, ugyanannak az embernek is eltérő időpontokban eltérőtalálatok kellhetnekMinden ember minden lelkiállapotához legyen eltérő súlyozásaa weboldalaknak, amiket tárolunk is?

Adatbányászat

Page 15: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

ZsákutcákPókháló struktúrákPerszonalizált PageRankTrustRank

Perszonalizált PageRank – ”Elfogult” véletlen séták

Általában egy topikon belül van szükségünk egy találatra (pl.jaguár a sport vagy autózás témakörében)Következtetni lehet, hogy mely doménre kíváncsi az emberaktuálisan

Keresési előzményekbőlA keresés helyéből (pl. sportoldal keresődobozából)Az ember meg is adhatja a témakört (implicit vagy explicit)

Előnye, hogy árnyaltabb képet képes adni a hagyományosPageRank-nál

Adatbányászat

Page 16: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

ZsákutcákPókháló struktúrákPerszonalizált PageRankTrustRank

Perszonalizált PageRank – Példa

pᵀ(i+1) = pᵀi βM + (1− β) ~1r|adott témában releváns oldalak|

~1r vektor annyi trükköt tartalmaz, hogy csak azoknak apontoknak megfelelő pozíciókon tartalmaz 1-eseket, amelyoldalak az adott témára nézve relevánsak, más elemei 0-k

βM =

0 4

15415

415

25 0 0 2

545 0 0 00 2

525 0

Adatbányászat

Page 17: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

ZsákutcákPókháló struktúrákPerszonalizált PageRankTrustRank

A PageRank meghackelése

Linkfarmok létrehozásával az igazi relevanciával nem bíróoldalak fontosabb színben tüntethetők fölTrustRank: Perszonalizált PageRank alkalmazása, mely sorána kedvezményezett ”témakört” a (valamilyen kritérium alapján)megbízhatónak titulált oldalak képzik

A megbízható oldalak meghatározása történhet emberi erővel,de – várhatóan némileg alacsonyabb hatékonyság mellett –osztályozhatjuk őket automatikusan is

Adatbányászat

Page 18: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

Hubs and Authorities – Gyűjtőlapok és tekintélyek

PageRank-hez hasonló, de az oldalakat tipizálja is gyűjtőlapminőségük és tekintélyük szerintA rekurzivitás itt is megjelenikA releváns, magas tekintélyű oldalakra valószínű sokgyűjtőoldal fog mutatniFordítottja is igaz

Adatbányászat

Page 19: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

A gyűjtőlapság és tekintélyesség formalizálása

A web A (illetve Aᵀ) szomszédsági mátrixára támaszkodikSztochasztikus az A mátrix?

h és a vektorok i-dik elemei az i-dik weblap gyűjtőlap,-éstekintélyértékeit tartalmazzákh = ξAa :

∑ni=1 hi = 1 vagy max(h) = 1, illetve

a = νAᵀh :∑n

i=1 ai = 1 vagy max(a) = 1Kicsit másképp: h = ξνAAᵀh, illetve a = νξAᵀAaAAᵀ, illetve AᵀA szeretnek ”besűrűsödni” ⇒ aszinkron update

Adatbányászat

Page 20: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

HITS algoritmus aszinkron megvalósítása

Algorithm 1 HITS algoritmusInput: A szomszédsági mátrixOutput: a és h vektorok1: h := ~12: while nem konvergál do3: a = Aᵀh4: a = a/max(a)5: h = Aa6: h = h/max(h)7: end while8: return a,h

Adatbányászat

Page 21: Adatbányászat - Webbányászat PageRank, Hubs and Authorities · PageRank algoritmus Hubs and Authorities Adatbányászat Webbányászat PageRank,HubsandAuthorities Szegedi Tudományegyetem

PageRank algoritmusHubs and Authorities

HITS algoritmus – példa

1

2

3

4

5

A =

0 1 1 1 01 0 0 1 00 0 0 0 10 1 1 0 00 0 0 0 0

h0 a1 h1 a2 h2 a3 h3 . . . a10 h10

1 0,5 1 0,3 1 0,24 1 . . . 0,21 11 1 0,5 1 0,41 1 0,38 . . . 1 0,361 1 0,17 1 0,03 1 0,007 . . . 1 01 1 0,67 0,9 0,69 0,84 0,71 . . . 0,79 0,721 0,5 0 0,1 0 0,02 0 . . . 3,5e-07 0

Adatbányászat