1 / 33

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. Á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.

ketan
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Á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

  3. 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

  4. 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

  5. Users reading (clicking on) news stories

  6. 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

  7. 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

  8. [screenshot of Google News showing personalized stories]

  9. Introduction / Motivation • Similarity search on the Web

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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)

  17. 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ő

  18. PSimRank • 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!)

  19. 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

  20. Alsó becslés • Van-e pontos algoritmus? • Nincs. • Tétel • AzegzaktfeladathozD = Ω(V2) méretű index kell • Tétel • AközelítőfeladathozD = Ω(V) méretű index kell • Lehet-e javítani ez utóbbit? • A mi algoritmusunkD = O(V logV)méretű adatbázist igényel a 2.3. tézis által adott kódolással

  21. 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

  22. Experiments #1: path length Multi-step similarity does make sense!...

  23. Experiments #3: number of simul. N Note: recall (# of results) grows linearly.

  24. 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!

  25. Perszonalizált PageRank • PageRank(Brin,Page,’98) • PV PageRank vektor, r egyenleteseloszlás vektora • Globálisminő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) • rfelhasználó preferenciavektora, lekérdezési időben adott • PPV(r):=PVszemélyesminő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ő!!!

  26. Teljes személyre szabás • Monte Carloszimuláció, nem hatványiteráció • ElőállítunkközelítőPPV(ri)-tminden kezdőlaphoz • Skálázhatóság: kvázilineáriselőfeldolgozás & konstanslekérdezés • Linearitás:

  27. Alapötlet • Tétel (Jeh, Widom ’03, Fogaras ’03) • Indítsunk egy véletlen sétát azucsúcsból • Egyenletes lépés 1-c, megállunkcval.séggel • PPV(u,v)=Pr{ amegállásipontv } • Monte Carlo algoritmus • Előfeldolgozás • Azu-bólszimulálunkNfüggetlen véletlen sétát • Indexadatbázisujjlenyomatokból: A megállási pontok az összeskiinduló csúcsra • Lekérdezés • PPV(u,v) : = # (u→v séták) / N • Lineáris kombinációval tetszőleges r vektorokra

  28. Külső táras indexelés • Cél: N független séta, minden egyes pontból • Bemenet: webgráfV ≈ 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

  29. Külső táras indexelés (2) • Cél: N független séta, minden egyes pontból • Szimuláljukaz összes sétát egyidőben • Ciklus: 1 lépés = 1 futam • Rendezzükaz utak végeit • Összefésüla gráffal • Minden sétamegállc vszg-gel • E( #séták ) = (1-c)k∙N∙V • k iteráció után

  30. Elosztott indexelés • M számítógépgyors helyi hálózatba kötve • memória < V+E ≤ M∙(memória) Párhuzamosítás:N∙V séta Agráfrészei memóriában Üzenetküldés: csomagok M=3

  31. 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

  32. Köszönöm a figyelmet!

More Related