Download - Google algoritmi za rangiranje stranica
![Page 1: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/1.jpg)
Google algoritmi za rangiranje stranica
Diplomski rad
Student: Mentor:Branko Golubović prof. Veljko Milutinović
Elektrotehnički fakultet Univerziteta u Beogradu
![Page 2: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/2.jpg)
Google algoritmi za rangiranje stranica 2/45
Pregled
• Uvod
• Google pretraživač• Kako radi Google• Skor sadržaja• Skor popularnosti• Osobine i implementacija PageRank algoritma
• Budućnost pretraživača
![Page 3: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/3.jpg)
Uvod
![Page 4: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/4.jpg)
Google algoritmi za rangiranje stranica 4/45
Pretraživanje kroz istoriju
• Papirus
• Pergament
• Papir
• Štamparska mašina
• WWW
![Page 5: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/5.jpg)
Google algoritmi za rangiranje stranica 5/45
Mreža je:
• ogromna (oko 30 milijardi stranica)
• dinamična (23% stranica se menja svakog dana)
• samo-organizovana
• povezana (hiperlinkovi)
![Page 6: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/6.jpg)
Google algoritmi za rangiranje stranica 6/45
Pretraživači
• Ocenjivanje performansi pretraživača:• preciznost• odziv• brzina• zahtevnost
![Page 7: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/7.jpg)
Google pretraživač
![Page 8: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/8.jpg)
Google algoritmi za rangiranje stranica 8/45
Google od nastanka do danas
• 1996. – istraživački projekat na Stenfordu Larija Pejdža i Sergeja Brina
• 1997. – zakupljen domen google.com• 1998. – osnovana kompanija Google;
indeksirano 60 miliona stranica• 2001. – patentiran PageRank algoritam• 2004. – indeksirano 8.1 milijardi stranica• 2008. – indeksirano preko 25 milijardi stranica;
250 miliona upita dnevno; odziv ispod 0.5s
![Page 9: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/9.jpg)
Google algoritmi za rangiranje stranica 9/45
Google pretraživanje
• Pored pretraživanja stranica na MrežiGoogle nudi pretragu:• slika• vesti• proizvoda• mapa• e-mail-a• video zapisa• open source code• patenata• itd.
I will use Google before asking dumb questions
![Page 10: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/10.jpg)
Google pretraživač
Kako radi Google
![Page 11: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/11.jpg)
Google algoritmi za rangiranje stranica 11/45
Modul za obilaženje
Mreže
Modul za skladištenje
stranica
Modul za indeksiranje
Modul za obradu upita
Modul za rangiranje
Specijalni Struktura
Indeksi
WWW
Sadržaj
Upit Rezultat
Korisnik
Elementi pretraživača
Pretraživač
![Page 12: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/12.jpg)
Google algoritmi za rangiranje stranica 12/45
Modul za obradu upita
• Filteri:• Izostavljanje termina• Jezik• Tip dokumenta• Pretraga u baznog URL-a• Datum• Pozicija termina na stranici• Region• Brojevni opseg• SafeSearch• Prava korišćenja
![Page 13: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/13.jpg)
Google algoritmi za rangiranje stranica 13/45
Modul za obradu upita
• Ekspanzija upita:• Balansiranje stabla (term reordering)
• Odbacivanje uobičajenih reči (stop words)
• Koren reči (stemming)
• Provera pravopisa
• Sinonimi
• Asocijacija reči
![Page 14: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/14.jpg)
Google algoritmi za rangiranje stranica 14/45
Modul za rangiranje
• Verovatno najvažniji deo pretraživača
• Ukupan skor se dobija sabiranjem:
• skora sadržaja (content score) i
• skora popularnosti (popularity score)
![Page 15: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/15.jpg)
Google pretraživač
Skor sadržaja(content score)
![Page 16: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/16.jpg)
Google algoritmi za rangiranje stranica 16/45
Content score
• Sadržaj stranice• META tag
• page title• description• keywords
• Heading• Alt atribut• Tekst hiperlinkova (anchor text)
![Page 17: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/17.jpg)
Google algoritmi za rangiranje stranica 17/45
Content score
• Content score se izračunava u realnom vremenu
• Ubrzavanje upita – smanjivanje izračunavanjau realnom vremenu
• Proširivanje indeksa deskriptorima:
termin n (avion) – 7, 152 [1, 0, 1, 8], 7342
![Page 18: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/18.jpg)
Google pretraživač
Skor popularnosti(popularity score)
![Page 19: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/19.jpg)
Google algoritmi za rangiranje stranica 19/45
Popularity score
• Do 1998. webgraph je bio neiskorišćenkao izvor informacija za rangiranje
• Link sa stranice A ka stranici B se tumači kao preporuka
• Ovaj link je:• izlazni link stranice A• ulazni link stranice B
![Page 20: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/20.jpg)
Google algoritmi za rangiranje stranica 20/45
Originalna formula PageRank-a
• Ako je rang strane Pi označen kao r(Pi), tada se on može izračunati kao suma rangova svih strana koje pokazuju na Pi:
• Iterativna formula:
• Proces je iniciran početnim vrednostima r0(Pi)=1/n
iPj BP j
ji P
PrPr
)()(
iPj BP j
jkik P
PrPr
)()(1
![Page 21: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/21.jpg)
Google algoritmi za rangiranje stranica 21/45
Originalna formula PageRank-a
• Graf:
• Matrica prelaza:
2
1
3
5
6
4
0010002/102/10002/12/1000003/1003/13/10000000002/12/10
H
![Page 22: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/22.jpg)
Google algoritmi za rangiranje stranica 22/45
PageRank
• Ako je (k)T PageRank vektor u k-toj iteraciji,tada je:
T=TH
iterativna formula za dobijanje PageRank-au matričnom obliku
![Page 23: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/23.jpg)
Google algoritmi za rangiranje stranica 23/45
Matrica prelaza H
• Osobine matrica prelaza H:
• svaka iteracija sadrži množenje vektora i matrice - O(n2)
• H je retka matrica – stepen složenosti se smanjuje O(n)
• iterativni proces primenjen u formuli se nazivastepeni metod (eng. Power method) primenjen na H
• H je substohastička, jer viseće stranice proizvode 0 redove
![Page 24: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/24.jpg)
Google algoritmi za rangiranje stranica 24/45
Konvergiranje procesa
• Važna pitanja:
• Da li će i pod kakvim uslovima proces konvergirati?
• Da li će konvergirati ka jedinstvenom rešenju?
• Da li konvergencija zavisi od početnog vektora (0)T?
• Koja je brzina konvergiranja?
• Da li će rešenje ka kome sistem konvergira biti od koristi za rangiranje stranica?
![Page 25: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/25.jpg)
Google algoritmi za rangiranje stranica 25/45
Problemi sa matricom H
• Inicijalni vektor je T=1/neT, gde je eT vektor jedinica dimenzije n
• Problemi sa takvim sistemom:• rank sink• ciklusi
• H podseća na stohastičku matricu verovatnoće prelaza Markovljevih lanaca
![Page 26: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/26.jpg)
Google algoritmi za rangiranje stranica 26/45
• Za bilo koji inicijalni vektor, matrica P u Markovljevom lancu konvergira ka jedinstvenom pozitivnom vektoru (stacionarni vektor), ako je P:
• stohastička
• nesvodljivaprimitivna
• aperiodična
Markovljevi lanci
![Page 27: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/27.jpg)
Google algoritmi za rangiranje stranica 27/45
Prilagođavanje matrice H
• Model slučajnog surfera (eng. random surfer)• Stohastička matrica S (stohastička modifikacija):
S = H + a(1/n eT), gde je a dangling node vector
0010002/102/10002/12/1000003/1003/13/16/16/16/16/16/16/10002/12/10
S
![Page 28: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/28.jpg)
Google algoritmi za rangiranje stranica 28/45
Prilagođavanje matrice H
• Google matrica G (modifikacija primitivnosti):
G = S + (1 - )1/n eeT,
gde je:• 1 - verovatnoća teleportacije (verovatnoća da surfer
skoči na proizvoljnu stranu)• 0 < < 1• 1/n eeT = E matrica teleportacije (uniformna)
![Page 29: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/29.jpg)
Google algoritmi za rangiranje stranica 29/45
Posledice modifikacije
• Matrica G je:• stohastička
• nesvodljiva (sve strane su međusobno povezane)
• aperiodična (linkovi Gii)
• u potpunosti gusta, ali:G = S + (1 - )1/n eeT =
= (H + 1/n aeT) + (1 - )1/n eeT == H + (a + (1 - )e)1/n eT
• veštačka, u smislu da je nastala modifikacijom H
![Page 30: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/30.jpg)
Google algoritmi za rangiranje stranica 30/45
Izračunavanje PageRank vektora
• Power method – pronalazi dominantne sopstvene vrednosti i sopstvene vektore matrice• jednostavan:
T=TG == T S + (1 - )/n T eeT == T H + (T a + 1 - )eT/n,
gde je Te = 1.• matrix-free• storage friendly• zahteva svega 50-100 iteracija
![Page 31: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/31.jpg)
Google algoritmi za rangiranje stranica 31/45
Parametri u PageRank modelu
• faktor (PageRank – = 0.85):G = S + (1 - )E
• hiperlink matrica H:
• matrica teleportacije E:E = 1/n evT
gde je vT vektor teleportacije (personalizacije)
0010002/102/10002/12/1000003/1003/13/10000000002/12/10
H
0010002/102/10002/12/1000003/1003/13/10000000003/13/20
H
![Page 32: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/32.jpg)
Google pretraživač
Osobine i implementacija PageRank algoritma
![Page 33: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/33.jpg)
Google algoritmi za rangiranje stranica 33/45
Ubrzavanje izračunavanja PageRank-a
• adaptivni Power metod – smanjuje izračunavanje:• prednosti: ubrzanje od 17%• mane: nepreciznost (lokalni minimumi), teškoće kod
implementacije na velike sisteme
• ekstrapolacija – smanjuje broj iteracija:• asimptotska brzina konvergencije Power metoda
je brzina kojom |2/1|k teži nuli• G je stohastička: 1 = 1• G je primitivna: |2| < 1• ekstrapolacija – eliminisanje uticaja 2
• mane: zahtevnost (svaka deseta iteracija)
![Page 34: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/34.jpg)
Google algoritmi za rangiranje stranica 34/45
Ubrzavanje izračunavanja PageRank-a
• quadratic ekstrapolacija – smanjuje broj iteracija:• eliminisanje uticaja 2 i 3
• prednosti: 50-300% bolji rezultati od originalnog PR• mane: zahtevno izračunavanje (svaka 20-ta iteracija)
PageRankPageRank sa quadratic ekstrapolacijom
![Page 35: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/35.jpg)
Google algoritmi za rangiranje stranica 35/45
Ubrzavanje izračunavanja PageRank-a
• agregacija – BlockRank:• kompresovanje grafa Mreže po host-ovima• PageRank se primenjuje na hostgraph – HostRank• PageRank se primenjuje na same host-ove• konačan rang stranice se dobija množenjem
HostRank-a host-a i ranga stranice unutar host-a
• mane: dobijaju se aproksimacije• prednosti: aproksimacije su zadovoljavajuće, brzina je
veća nego originalni PageRank
![Page 36: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/36.jpg)
Google algoritmi za rangiranje stranica 36/45
Osvežavanje PageRank vektora
• Jednom mesečno – Google Dance
• PageRank se izračunava od nule
• Promene na WWW:
• promene u strukturi linkova
• promene u strukturi grafa
![Page 37: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/37.jpg)
Google algoritmi za rangiranje stranica 37/45
Osvežavanje PageRank vektora
• Aproksimativna agregacija:
• S – skup stanja osveženog Markovljevog lanca
• L – sadrži stanja na koje je uticala promena
• Egzaktna agregacija
LLS LLS
LLS
LLS
![Page 38: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/38.jpg)
Google algoritmi za rangiranje stranica 38/45
Osvežavanje PageRank vektora
• Iterativna agregacija:• što je |L| = l veće, brža konvergencija i više
izračunavanja• dobro formiranje skupa L:
• stavljanje svih novih i promenjenih stanja u L • dodavanje stanja sa visokim PR u prethodnom izračunavanju
• osobine:• poboljšanje performansi (1/7 vremena potrebnog PR)• što je više podataka, poboljšanja izraženija• mesta za dodatna poboljšanja (npr. ekstrapolacija)• promene broja stranica ne utiču na algoritam
![Page 39: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/39.jpg)
Budućnost pretraživača
![Page 40: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/40.jpg)
Google algoritmi za rangiranje stranica 40/45
SPAM i ostale zloupotrebe
• Algoritmi za detektovanje Link farmi
• BadRank• Sponzorisani linkovi
![Page 41: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/41.jpg)
Google algoritmi za rangiranje stranica 41/45
Specijalizovani pretraživači
• Neki specijalizovani pretraživači:• Najdi.si (geografski lokalizovani pretraživač),• Business.com (poslovni pretraživač),• Hotjobs.com (pretraživač berze rada),• InfoSpace (pretraživač osoba),• Home.co.uk (pretraživač nekretnina), itd.
• Google-ovi specijalizovani pretraživači:• Google Book Search (knjige),• Google Code Search (programski kod),• Google Scholar (obrazovanje),• Google News (vesti), itd.
![Page 42: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/42.jpg)
Google algoritmi za rangiranje stranica 42/45
Personalizovane pretrage
• Google Personalized Search – Web History
• A9.com
• Mnogi sajtovi imaju internu personalizovanu pretragu – npr. Amazon.com
• Problemi sa privatnošću
![Page 43: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/43.jpg)
Google algoritmi za rangiranje stranica 43/45
Klasifikacija i klasterovanje
• Stumble!
• Vivisimo – Clusty
• Upit “cell” je vraćao klase:• cell phones• biology• stem cell• manufacturer/battery • itd.
![Page 44: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/44.jpg)
Google algoritmi za rangiranje stranica 44/45
Fuzija podataka
• Map.Search - www.map.search.ch
![Page 45: Google algoritmi za rangiranje stranica](https://reader033.vdocuments.net/reader033/viewer/2022061602/56815d88550346895dcb93c0/html5/thumbnails/45.jpg)
Google algoritmi za rangiranje stranica 45/45
Google algoritmi za rangiranje stranica
Reference:[1] Amy N. Langvile, Carl D. Meyer. Google’s PageRank and Beyond: The Science of
Search Engine Rankings. Princeton, 2006. Princeton University Press.[2] Junghoo Cho and Hector Garcia-Molina. The evolution of the Web and
implications for an incremental crawler, In Proceedings of the Twenty-sixt International Conference on Very Large Databases. New York, 2000. ACM Press.
[3] Anti Spam - SpamUnithttp://www.spamunit.com/spam-statistics/
[4] Technoratihttp://technorati.com/about/
[5] Wikipedia http://en.wikipedia.org/
[6] Pandia Search Engine News www.pandia.com
[7] Kališen Tara, Dornfest Rel. Google trikovi. Čačak, 2006. Kompjuter biblioteka
Prof. Veljko Milutinović [email protected] Golubović [email protected]