sz ámítástudományi módszerek a webes szolgáltatásokban

33
Számítástudományi módszerek a webes szolgáltatásokban Rácz Balázs 2009. október 20.

Upload: ketan

Post on 10-Jan-2016

30 views

Category:

Documents


1 download

DESCRIPTION

Sz ámítástudományi módszerek a webes szolgáltatásokban. Rácz Balázs 2009. október 20. Á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. Min-hash fingerprinting. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Sz ámítástudományi módszerek a webes szolgáltatásokban

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

Á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

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

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

Users reading (clicking on) news stories

Page 6: Sz ámítástudományi módszerek a webes szolgáltatásokban

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

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
Page 9: Sz ámítástudományi módszerek a webes szolgáltatásokban

[screenshot of Google News showing personalized stories]

Page 10: Sz ámítástudományi módszerek a webes szolgáltatásokban

Introduction / Motivation Similarity search on the Web

Page 11: Sz ámítástudományi módszerek a webes szolgáltatásokban

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

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

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

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

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

stamas
elkuloniteni, hogy regi tetel vs. mi algoritmusunk animacioval "our methods"-zal
Page 16: Sz ámítástudományi módszerek a webes szolgáltatásokban

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

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

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

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

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

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

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

Experiments #1: path length

Multi-step similarity does make sense!...

Page 24: Sz ámítástudományi módszerek a webes szolgáltatásokban

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

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!

stamas
open problems
stamas
very scalable -> well scalable
Page 26: Sz ámítástudományi módszerek a webes szolgáltatásokban

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

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

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

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

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

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

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

Köszönöm a figyelmet!