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

Slides:



Advertisements
Hasonló előadás
KÉSZÍTETTE: Takács Sándor
Advertisements

Más Valaki Problémája? Mire jó egy MVP?.
Statisztikák. Foursquare • 2014 Januári adatok forrás: foursquare.com/about • Több mint 45 millió felhasználó • Több mint 5 milliárd check-in • Több mint.
Listings: egy méltatlanul elfeledett milliárdos piac? Szávuly Krisztián Sanoma Budapest internet lapigazgató.
Jogában áll belépni?! Détári Gábor, rendszermérnök.
BMEEOVKMKM4 Házi feladat megoldás áttekintés
Sűrűségfüggvény Parzen becslés Mintapontszám, szigma.
A számítógépes hálózatok világa
Címkézett hálózatok modellezése
Streaming Algorithms for k-core Decomposition. K-mag dekompozíció Maximális részgráf, amiben minden csúcshoz legalább k részgráfbeli csúcs csatlakozik.
Virtuális Obszervatórium Korszerű adatbázisok 2014.
Bayes hálók október 20. Farkas Richárd
Új funkciók az EBSCOhost-ban november 21. Egyetemi Könyvtár Szeged.
Hálózati Biológia A sejt funkcionális működésének megértése.
Összefüggés vizsgálatok x átlag y átlag Y’ = a + bx.
Klaszterező algoritmusok smart city alkalmazásokhoz Gonda László Témavezető: Dr. Ispány Márton.
Algoritmizálás Göncziné Kapros Katalin humaninformatika.ektf.hu.
Szoftver bonyolultsági mértékek alkalmazási területei Király Roland 2011.
A digitális számítás elmélete
Kliensoldali Programozás
Memóriák típusai, jellemzői
Szabó Attila, Cross-entrópia alkalmazása a megerősítéses tanulásban.
András A. Benczúr, Károly Csalogány, Tamás Sarlós, Máté Uher.
Számítástechnika a KFKI AEKI-ben
PPKE ITK 2009/10 tanév 8. félév (tavaszi) Távközlő rendszerek forgalmi elemzése Tájékoztatás GY. - 1.
Webes Információs Rendszerek fejlesztése
GRÁFELMÉLET Alapfogalmak 1..
Torr-1 Pierre Fermat, the great French mathematician (and lawyer) asked the following problem from Torricelli, the physician living in Firense: Find.
Vida Andrea SZTE Egyetemi Könyvtár
excel, (visual basic) makrók gyorstalpaló
Fraktálok és csempézések
Alapsokaság (populáció)
A... TANTÁRGY OKTATÁSA KÍSÉRLETI/PROJEKT FORMÁBAN Projekt/kísérlet konkrét címe Név | Tanár neve | Iskola.
Játszani tudni kell - A gamification szabályai az interneten
Belami beszámoló – Doménadaptációs alkalmazások. Problémafelvetés Felügyelt tanulás elvégzéséhez gyakran kevés jelölt adat áll rendelkezésre  doménadaptáció.
Alkalmazói programok Integrált felhasználói rendszerek Számítómunkahelyen szükséges felhasználói programokat egy csomagban, modulokban tartalmazza; az.
Az Internet alkalmazásának lehetőségei Áttekintés.
Egyenesvonalú (lineáris) adatszerkezetek
Magas rendelkezésre állású Hyper-V rendszer építése
Példa Alapú Gépi Fordító Fejlesztése és Vizsgálata a World Wide Web Segítségével Magony Andor Számítógépes fordítástámogatás 2005 wEBMT: Developing and.
IKT az informatikus könyvtáros képzésben az egri főiskolán Dr. Tóvári Judit főiskolai tanár Dr. Tóvári Judit főiskolai tanár.
EGY VERSENY, NÉHÁNY GONDOLAT Hajnal Péter SZTE, Bolyai Intézet.
Dodekaéder Hamilton köre
Miskolci Egyetem Gazdaságtudományi Kar Üzleti Információgazdálkodási és Módszertani Intézet Regresszió-számítás március 30. Dr. Varga Beatrix egyetemi.
Topological phase transitions in equilibrium network ensembles Collegium Budapest, June 2004 Networks and Risks Thematic Institute How do the properties.
Gombos GergőKorszerű Adatbázis 2012/13 tavasz 2 Kik használják?
Többnyelvű információ-kereső rendszerek Douglas W. Oard College of Information Studies and Institute for Advanced Computer Studies University of Maryland,
Innováció az oktatásban – innováció a gazdaságban Készítette: Szabó Gábor Szeged, szeptember 21.
Algoritmusok és adatszerkezetek
Gráfadatbázisok Rácz Gábor.
GPU alapú fotontranszport nagyfelbontású heterogén közegben BME IIT Szirmay-Kalos László Magdics Milán Tóth Balázs.
Hálózatok: új nyelv a tudományban Lovász László Eötvös Loránd Tudományegyetem
Kinetikus Monte Carlo  Bevezetés  Véletlen bolyongás  Residence time algoritmus.
1 / 28 High Speed Networks Laboratory Összefoglalás és gyakorlás.
Simon Péter főtitkár Bolyai János Matematikai Társulat
“Tudásmegosztás és szervezeti problémamegoldás a mesterséges intelligencia korában” Levente Szabados Technológiai Igazgató.
"Shoes on the Danube Bank”
Mennyi? 3! Mi 3? Mi mennyi? platformfüggetlen médiamodell.
Villogó delay függvény használata nélkül
Nem módosítható keresések
Lívia Vasas, PhD 2018 Disszertációk Lívia Vasas, PhD 2018.
Vasas Lívia, PhD 2017 DART-Europe E-theses Portal European Portal for the discovery.
Ajánló rendszerek ápr. 13. Copyright: Dietmar Jannah, Markus Zanker and Gerhard Friedrich (slides based on their IJCAI talk „Tutorial: Recommender Systems”)
Vasas Lívia, PhD december
egyetemi docens, tanszékvezető, KJE
Az internet minőségi információ halmazainak feltárásáról
Lívia Vasas, PhD 2019 Disszertációk Lívia Vasas, PhD 2019.
Algoritmusok és Adatszerkezetek I.
Vasas Lívia, PhD 2016 Europe PMC Vasas Lívia, PhD 2016.
Vasas Lívia Dart Europe European Portal for the discovery of Electronic Theses and Dissertations (ETDs), and they participate in advocacy.
Előadás másolata:

Számítástudományi módszerek a webes szolgáltatásokban Rácz Balázs 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 On the resemblance and containment of documents, A. Broder, 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

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

Users reading (clicking on) news stories

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(U 1, U 2 ) = Translation: Out of all the stories either user has ever clicked on, the more clicks they have in common, the more similar they are

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

[screenshot of Google News showing personalized stories]

Introduction / Motivation Similarity search on the Web

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

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

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

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

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

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

Gains V=no. of pages (~10 9 ) 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)

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ő

PSimRank SimRankPSimRank random walksindependentcoupled Pr(first step meet) next edge choiceuniformmin-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!)

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

Alsó becslés Van-e pontos algoritmus? Nincs. Tétel  Az egzakt feladathoz D = Ω(V 2 ) 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

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

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

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

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!

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ő!!!

Teljes személyre szabás Monte Carlo szimuláció, nem hatványiteráció Előállítunk közelítő PPV(r i )-t minden kezdőlaphoz Skálázhatóság: kvázilineáris előfeldolgozás & konstans lekérdezés Linearitás:

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

Külső táras indexelés Cél: N független séta, minden egyes pontból Bemenet: webgráf V ≈ 10 10, E ≈ V+E > memória Hozzáférés az élekhez:  Adatfolyam: az élek végigolvasása  Az élek a kiindulópont szerint rendezettek

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ük Rendezzük az utak végeit Összefésül Összefésül a gráffal megáll Minden séta megáll c vszg-gel E E( #séták ) = (1-c) k ∙N∙V k iteráció után

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

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

Köszönöm a figyelmet!