Sz ámítástudományi módszerek a webes szolgáltatásokban
description
Transcript of Sz ámítástudományi módszerek a webes szolgáltatásokban
![Page 1: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/1.jpg)
Számítástudományi módszerek a webes szolgáltatásokban
Rácz Balázs
2009. október 20.
![Page 2: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/2.jpg)
Áttekintés
Matematikai módszer: min-hash fingerprinting Alkalmazás: perszonalizáció a Google News
szolgáltatásban SimRank hasonlósági függvény Személyre szabott PageRank
![Page 3: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/3.jpg)
Min-hash fingerprinting
On the resemblance and containment of documents, A. Broder, 1997.
Dokumentum: szavak halmaza Két dokumentum hasonlósága:
Jaccard-együttható Véletlenített módszer a Jaccard-együtthatók
torzítatlan becslésére
ba
ba
DD
DD
![Page 4: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/4.jpg)
Min-hash fingerprinting
Legyen h egy véletlen függvény a szavak halmazán A D dokumentum ujjlenyomata
Az ujjlenyomatok megegyezési valószínűsége egy adott h függvény esetén pont a Jaccard-együttható
Monte Carlo közelítés: N független ujjlenyomatból átlagolva torzítatlan becslés a hasonlósági mértékre
)(minarg)( whDF Dwh
![Page 5: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/5.jpg)
Users reading (clicking on) news stories
![Page 6: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/6.jpg)
Users reading news stories
• Represent a user u by all the stories they clicked on:
• Find similar users and recommend their clicks to u• User similarity = Sim(U1, U2) =
• Translation: Out of all the stories either user has ever clicked on, the more clicks they have in common, the more similar they are
![Page 7: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/7.jpg)
Min-hash fingerprinting alkalmazása Jaccard-együtthatóval definiáljuk a
felhasználók hasonlóságát N véletlen permutációból számított
ujjlenyomattal közelíthető, ezek letárolhatóak Hasonló felhasználók által olvasott híreket
javasolunk
![Page 8: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/8.jpg)
![Page 9: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/9.jpg)
[screenshot of Google News showing personalized stories]
![Page 10: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/10.jpg)
Introduction / Motivation Similarity search on the Web
![Page 11: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/11.jpg)
Approaches / Related Results
Text-based Classic IR Min-hash fingerprinting (Broder ’97)
Pure link-based Single-step: cocitation, bibliographic coupling, … Multi-step:
Companion (Dean, Henzinger, ‘98) SimRank (Jeh, Widom, ‘02)
Hybrid Anchor text based (Haveliwala et al. ‘02)
random access
quadratic
![Page 12: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/12.jpg)
Skálázhatóság: a probléma mérete Hány lap van a weben?
Végtelen sok Indexelhető lapok száma
2004: 11,5 milliárd; ma: legalább 60 milliárd Más források: 120 milliárd
Mennyi a hasznos lapok száma? Átlagos fokszám
Legalább 10
![Page 13: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/13.jpg)
Skálázhatóság: követelmények Előfeldolgozás (indexelés)
Input konstans sok végigolvasása futási idő < 1 nap
Indexadatbázis mérete Lineáris
Lekérdezés Konstans sok adatbázishozzáférés; <1 sec
Párhuzamosíthatóság Akár 1000 kisebb gép alkalmazása
![Page 14: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/14.jpg)
SimRank
Jeh and Widom, 2002
“the similarity of two pages is the average similarity of their referring pages”
Formalized as a PageRank-like equation:
Power iteration: quadratic storage and time Goal: quadratic linear
![Page 15: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/15.jpg)
Randomization For pages u and v, start two random walks
from them, following the links backwards. Let τ be the first meeting time Jeh, Widom: sim(u,v)=expected value of cτ
Our algorithm: Monte Carlo method
simulate N independent pair of random walks approximate sim with the average of cτ
Index DB: N random walk for each page Query: calculate meeting times
![Page 16: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/16.jpg)
Derandomization
(partially) trick #1: pair-wise independence is enough trick #2: anything after the first meeting is
irrelevant coalescing (sticky) walks
Allows very efficient representation
![Page 17: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/17.jpg)
Gains
V=no. of pages (~109) N=no. of indep. simulations (100) Indexing: stream access to the graph, V cells
of memory (or external memory) Index Database size: N·V (~500 GB) Query: 2N disk seeks, time proportional to
the number of results Parallelizable to N machines (5 GB storage, 2
disk seeks/query each)
![Page 18: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/18.jpg)
Ipari alkalmazhatóság
Párhuzamosíthatóság Minden számítógép egy független ujjlenyomat
Hibatűrés N-1 ujjlenyomatból számítjuk az eredményt
Terheléselosztás Nagy terhelés esetén csökkentjük N-et
Inkrementális indexelési algoritmusok Klaszter kapacitása a gépek számában
lineárisan nő
![Page 19: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/19.jpg)
PSimRank
SimRank PSimRank
random walks independent coupled
Pr(first step meet)
next edge choice uniform min-hash
Coupling walks “attract” each other, like they were walking towards the same goal
Still, PSimRank can be computed within the same Monte Carlo similarity search framework (all scalability properties still hold!)
![Page 20: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/20.jpg)
Konvergenciasebesség
N ujjlenyomat átlagából számított értékekre Rögzített abszolút hiba Hibavalószínűség exponenciálisan 0 Uniform: a csúcsoktól függetlenül A gráftól függetlenül Hasonlóan a toplista-felidézésre is Következmény: N tekinthető aszimptotikusan
konstansnak
![Page 21: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/21.jpg)
Alsó becslés
Van-e pontos algoritmus? Nincs. Tétel
Az egzakt feladathoz D = Ω(V2) méretű index kell Tétel
A közelítő feladathoz D = Ω(V) méretű index kell Lehet-e javítani ez utóbbit?
A mi algoritmusunk D = O(V logV) méretű adatbázist igényel a 2.3. tézis által adott kódolással
![Page 22: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/22.jpg)
Experimental evaluation
Evaluation methodology: Haveliwala et al. ’02 Uses Open Directory Project (dmoz.org) Ground truth similarity in directory
familial distance: documents in the same class are more similar as those in different classes
Compare orderings of familial distance and calculated similarity
Stanford WebBase: 80M pages; including 200K ODP pages
![Page 23: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/23.jpg)
Experiments #1: path length
Multi-step similarity does make sense!...
![Page 24: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/24.jpg)
Experiments #3: number of simul. N
Note: recall (# of results) grows linearly.
![Page 25: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/25.jpg)
Similarity search with SimRank Approximation algorithm for multi-step/
recursive similarity functions Uses simulated random walks Monte Carlo method Scalable
New similarity functions First sight of these on real(ly big) web data
Yes, they do make sense!
![Page 26: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/26.jpg)
Perszonalizált PageRank PageRank(Brin,Page,’98)
PV PageRank vektor, r egyenletes eloszlás vektora Globális minőségértékelés Előfeldolgozás: hatványiterációval kiszámítjuk PV-t Lekérdezés: PV értékei alapján rendezzük a találatokat
Personalized PageRank(Brin,Page,’98) r felhasználó preferenciavektora, lekérdezési időben adott PPV(r):=PV személyes minőségértékelés Előfeldolgozás: r nem ismert. Mit számítsunk ki? Lekérdezés: hatványiteráció. 5 óra válaszidő!!!
rMPVPV cc)1(
![Page 27: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/27.jpg)
Teljes személyre szabás Monte Carlo szimuláció, nem hatványiteráció Előállítunk közelítő PPV(ri)-t minden kezdőlaphoz Skálázhatóság: kvázilineáris előfeldolgozás &
konstans lekérdezés Linearitás:
)()()( 1111 kkkk rPPVrPPVrrPPV
![Page 28: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/28.jpg)
Alapötlet Tétel (Jeh, Widom ’03, Fogaras ’03)
Indítsunk egy véletlen sétát az u csúcsból Egyenletes lépés 1-c , megállunk c val.séggel PPV(u,v)=Pr a megállási pont v
Monte Carlo algoritmus Előfeldolgozás
Az u-ból szimulálunk N független véletlen sétát Indexadatbázis ujjlenyomatokból: A megállási pontok az
összes kiinduló csúcsra Lekérdezés
PPV(u,v) : = # ( u→v séták ) / N Lineáris kombinációval tetszőleges r vektorokra
![Page 29: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/29.jpg)
Külső táras indexelés
Cél: N független séta, minden egyes pontból Bemenet: webgráf V ≈ 1010, E ≈ 1011 V+E > memória Hozzáférés az élekhez:
Adatfolyam: az élek végigolvasása Az élek a kiindulópont szerint rendezettek
![Page 30: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/30.jpg)
Külső táras indexelés (2)
Cél: N független séta, minden egyes pontból Szimuláljuk az összes sétát egyidőben
Ciklus: 1 lépés = 1 futam
RendezzükRendezzük az utak végeit
ÖsszefésülÖsszefésül a gráffal
Minden séta megállmegáll c vszg-gel
EE( #séták ) = (1-c)k∙N∙V
k iteráció után
![Page 31: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/31.jpg)
Elosztott indexelés M számítógép gyors helyi hálózatba kötve memória < V+E ≤ M∙(memória)
Párhuzamosítás: N∙V séta
A gráf részei memóriában
Üzenetküldés: csomagok
M=3
![Page 32: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/32.jpg)
Példa: gyakorlati alkalmazhatóság Web-gráf 10 milliárd csúccsal Külső táras indexelés
256 TB I/O 60 diszk * 24 óra
Elosztott indexelés 100 számítógép memóriája elegendő 48 TB hálózati forgalom ~1 óra
![Page 33: Sz ámítástudományi módszerek a webes szolgáltatásokban](https://reader036.fdocument.pub/reader036/viewer/2022062422/568141d9550346895dadb3f7/html5/thumbnails/33.jpg)
Köszönöm a figyelmet!