Transcript Google Algoritmi Za Rangiranje Stranica
Slide 1
Elektrotehnički fakultet Univerziteta u Beogradu
Diplomski rad
Google algoritmi
za rangiranje stranica
Student:
Branko Golubović
Mentor:
prof. Veljko Milutinović
This material was developed with financial help of the WUSA fund of Austria.
Slide 2
Pregled
• Uvod
• Google pretraživač
•
•
•
•
Kako radi Google
Skor sadržaja
Skor popularnosti
Osobine i implementacija PageRank algoritma
• Budućnost pretraživača
Google algoritmi za rangiranje stranica
2/45
Slide 3
Uvod
Slide 4
Pretraživanje kroz istoriju
• Papirus
• Pergament
• Papir
• Štamparska mašina
• WWW
Google algoritmi za rangiranje stranica
4/45
Slide 5
Mreža je:
• ogromna (oko 30 milijardi stranica)
• dinamična (23% stranica se menja svakog dana)
• samo-organizovana
• povezana (hiperlinkovi)
Google algoritmi za rangiranje stranica
5/45
Slide 6
Pretraživači
• Ocenjivanje performansi pretraživača:
•
•
•
•
preciznost
odziv
brzina
zahtevnost
Google algoritmi za rangiranje stranica
6/45
Slide 7
Google pretraživač
Slide 8
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
Google algoritmi za rangiranje stranica
8/45
Slide 9
Google pretraživanje
• Pored pretraživanja stranica na Mreži
Google nudi pretragu:
•
•
•
•
•
•
•
•
•
slika
vesti
proizvoda
mapa
e-mail-a
video zapisa
open source code
patenata
itd.
I will use Google before asking dumb questions
Google algoritmi za rangiranje stranica
9/45
Slide 10
Google pretraživač
Kako radi Google
Slide 11
Elementi pretraživača
Korisnik
Modul za
obilaženje
Mreže
Modul za
skladištenje
stranica
Upit
Rezultat
Modul za
indeksiranje
W
W
W
Indeksi
Specijalni
Sadržaj
Modul za
obradu
upita
Modul za
rangiranje
Struktura
Pretraživač
Google algoritmi za rangiranje stranica
11/45
Slide 12
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
Google algoritmi za rangiranje stranica
12/45
Slide 13
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
Google algoritmi za rangiranje stranica
13/45
Slide 14
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)
Google algoritmi za rangiranje stranica
14/45
Slide 15
Google pretraživač
Skor sadržaja
(content score)
Slide 16
Content score
• Sadržaj stranice
• META tag
• page title
• description
• keywords
• Heading
• Alt atribut
• Tekst hiperlinkova (anchor text)
Google algoritmi za rangiranje stranica
16/45
Slide 17
Content score
• Content score se izračunava u realnom vremenu
• Ubrzavanje upita – smanjivanje izračunavanja
u realnom vremenu
• Proširivanje indeksa deskriptorima:
termin n (avion) – 7, 152 [1, 0, 1, 8], 7342
Google algoritmi za rangiranje stranica
17/45
Slide 18
Google pretraživač
Skor popularnosti
(popularity score)
Slide 19
Popularity score
• Do 1998. webgraph je bio neiskorišćen
kao 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
Google algoritmi za rangiranje stranica
19/45
Slide 20
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:
r ( Pi )
•
r ( Pj )
Pj BP
i
Iterativna formula:
rk 1 ( Pi )
rk ( P j )
Pj BP
i
•
Pj
Pj
Proces je iniciran početnim vrednostima r0(Pi)=1/n
Google algoritmi za rangiranje stranica
20/45
Slide 21
Originalna formula PageRank-a
• Graf:
2
5
3
4
1
6
• Matrica prelaza:
H
0
1/ 2
1/ 2
0
0
0
0
0
0
0
0
0
1/ 3
1/ 3
0
0
1/ 3
0
0
0
0
0
1/ 2
1/ 2
0
0
0
1/ 2
0
1/ 2
0
0
0
1
0
0
Google algoritmi za rangiranje stranica
21/45
Slide 22
PageRank
• Ako je p(k)T PageRank vektor u k-toj iteraciji,
tada je:
p(k1)T= p(k)TH
iterativna formula za dobijanje PageRank-a
u matričnom obliku
Google algoritmi za rangiranje stranica
22/45
Slide 23
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 naziva
stepeni metod (eng. Power method) primenjen na H
• H je substohastička, jer viseće stranice proizvode 0 redove
Google algoritmi za rangiranje stranica
23/45
Slide 24
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 p(0)T?
• Koja je brzina konvergiranja?
• Da li će rešenje ka kome sistem konvergira biti od
koristi za rangiranje stranica?
Google algoritmi za rangiranje stranica
24/45
Slide 25
Problemi sa matricom H
• Inicijalni vektor je p(0)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
Google algoritmi za rangiranje stranica
25/45
Slide 26
Markovljevi lanci
• Za bilo koji inicijalni vektor, matrica P u
Markovljevom lancu konvergira ka jedinstvenom
pozitivnom vektoru (stacionarni vektor), ako je P:
• stohastička
• nesvodljiva
primitivna
• aperiodična
Google algoritmi za rangiranje stranica
26/45
Slide 27
Prilagođavanje matrice H
• Model slučajnog surfera (eng. random surfer)
• Stohastička matrica S (stohastička modifikacija):
S
0
1/ 2
1/ 2
0
0
0
1/ 6
1/ 6
1/ 6
1/ 6
1/ 6
1/ 6
1/ 3
1/ 3
0
0
1/ 3
0
0
0
0
0
1/ 2
1/ 2
0
0
0
1/ 2
0
1/ 2
0
0
0
1
0
0
S = H + a(1/n eT), gde je a dangling node vector
Google algoritmi za rangiranje stranica
27/45
Slide 28
Prilagođavanje matrice H
• Google matrica G (modifikacija primitivnosti):
G = aS + (1 - a)1/n eeT,
gde je:
• 1 - a verovatnoća teleportacije (verovatnoća da surfer
skoči na proizvoljnu stranu)
• 0• 1/n eeT = E matrica teleportacije (uniformna)
Google algoritmi za rangiranje stranica
28/45
Slide 29
Posledice modifikacije
• Matrica G je:
• stohastička
• nesvodljiva (sve strane su međusobno povezane)
• aperiodična (linkovi Gii)
• u potpunosti gusta, ali:
G = aS + (1 - a)1/n eeT =
= a(H + 1/n aeT) + (1 - a)1/n eeT =
= aH + (aa + (1 - a)e)1/n eT
• veštačka, u smislu da je nastala modifikacijom H
Google algoritmi za rangiranje stranica
29/45
Slide 30
Izračunavanje PageRank vektora
• Power method – pronalazi dominantne sopstvene
vrednosti i sopstvene vektore matrice
• jednostavan:
p(k1)T= p(k)TG =
= ap(k)T S + (1 - a)/n p(k)T eeT =
= ap(k)T H + (ap(k)T a + 1 - a)eT/n,
gde je pTe = 1.
• matrix-free
• storage friendly
• zahteva svega 50-100 iteracija
Google algoritmi za rangiranje stranica
30/45
Slide 31
Parametri u PageRank modelu
•
•
a faktor (PageRank – a = 0.85):
G = aS + (1 - a)E
hiperlink matrica H:
H
•
0
1/ 2
1/ 2
0
0
0
0
2/3
1/ 3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1/ 3
1/ 3
0
0
1/ 3
0
1/ 3
1/ 3
0
0
1/ 3
0
0
0
0
0
1/ 2
1/ 2
0
0
0
0
1/ 2
1/ 2
0
0
0
1/ 2
0
1/ 2
0
0
0
1/ 2
0
1/ 2
0
0
0
1
0
0
0
0
0
1
0
0
H
matrica teleportacije E:
E = 1/n evT
gde je vT vektor teleportacije (personalizacije)
Google algoritmi za rangiranje stranica
31/45
Slide 32
Google pretraživač
Osobine i implementacija
PageRank algoritma
Slide 33
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 |l2/ l1|k teži nuli
• G je stohastička: l1 = 1
• G je primitivna: |l2| < 1
• ekstrapolacija – eliminisanje uticaja l2
• mane: zahtevnost (svaka deseta iteracija)
Google algoritmi za rangiranje stranica
33/45
Slide 34
Ubrzavanje izračunavanja PageRank-a
• quadratic ekstrapolacija – smanjuje broj iteracija:
• eliminisanje uticaja l2 i l3
• prednosti: 50-300% bolji rezultati od originalnog PR
• mane: zahtevno izračunavanje (svaka 20-ta iteracija)
PageRank
PageRank sa quadratic ekstrapolacijom
Google algoritmi za rangiranje stranica
34/45
Slide 35
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
Google algoritmi za rangiranje stranica
35/45
Slide 36
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
Google algoritmi za rangiranje stranica
36/45
Slide 37
S LL
Osvežavanje PageRank vektora
• Aproksimativna agregacija:
• S – skup stanja osveženog Markovljevog lanca
S LL
S LL
• L – sadrži stanja na koje je uticala promena
• Egzaktna agregacija
Google algoritmi za rangiranje stranica
37/45
Slide 38
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
Google algoritmi za rangiranje stranica
38/45
Slide 39
Budućnost pretraživača
Slide 40
SPAM i ostale zloupotrebe
• Algoritmi za detektovanje Link farmi
• BadRank
• Sponzorisani linkovi
Google algoritmi za rangiranje stranica
40/45
Slide 41
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.
Google algoritmi za rangiranje stranica
41/45
Slide 42
Personalizovane pretrage
• Google Personalized Search – Web History
• A9.com
• Mnogi sajtovi imaju internu personalizovanu
pretragu – npr. Amazon.com
• Problemi sa privatnošću
Google algoritmi za rangiranje stranica
42/45
Slide 43
Klasifikacija i klasterovanje
• Stumble!
• Vivisimo – Clusty
• Upit “cell” je vraćao klase:
•
•
•
•
•
cell phones
biology
stem cell
manufacturer/battery
itd.
Google algoritmi za rangiranje stranica
43/45
Slide 44
Fuzija podataka
• Map.Search - www.map.search.ch
Google algoritmi za rangiranje stranica
44/45
Slide 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 - SpamUnit
http://www.spamunit.com/spam-statistics/
[4] Technorati
http://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ć
Branko Golubović
[email protected]
[email protected]
Google algoritmi za rangiranje stranica
45/45
Elektrotehnički fakultet Univerziteta u Beogradu
Diplomski rad
Google algoritmi
za rangiranje stranica
Student:
Branko Golubović
Mentor:
prof. Veljko Milutinović
This material was developed with financial help of the WUSA fund of Austria.
Slide 2
Pregled
• Uvod
• Google pretraživač
•
•
•
•
Kako radi Google
Skor sadržaja
Skor popularnosti
Osobine i implementacija PageRank algoritma
• Budućnost pretraživača
Google algoritmi za rangiranje stranica
2/45
Slide 3
Uvod
Slide 4
Pretraživanje kroz istoriju
• Papirus
• Pergament
• Papir
• Štamparska mašina
• WWW
Google algoritmi za rangiranje stranica
4/45
Slide 5
Mreža je:
• ogromna (oko 30 milijardi stranica)
• dinamična (23% stranica se menja svakog dana)
• samo-organizovana
• povezana (hiperlinkovi)
Google algoritmi za rangiranje stranica
5/45
Slide 6
Pretraživači
• Ocenjivanje performansi pretraživača:
•
•
•
•
preciznost
odziv
brzina
zahtevnost
Google algoritmi za rangiranje stranica
6/45
Slide 7
Google pretraživač
Slide 8
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
Google algoritmi za rangiranje stranica
8/45
Slide 9
Google pretraživanje
• Pored pretraživanja stranica na Mreži
Google nudi pretragu:
•
•
•
•
•
•
•
•
•
slika
vesti
proizvoda
mapa
e-mail-a
video zapisa
open source code
patenata
itd.
I will use Google before asking dumb questions
Google algoritmi za rangiranje stranica
9/45
Slide 10
Google pretraživač
Kako radi Google
Slide 11
Elementi pretraživača
Korisnik
Modul za
obilaženje
Mreže
Modul za
skladištenje
stranica
Upit
Rezultat
Modul za
indeksiranje
W
W
W
Indeksi
Specijalni
Sadržaj
Modul za
obradu
upita
Modul za
rangiranje
Struktura
Pretraživač
Google algoritmi za rangiranje stranica
11/45
Slide 12
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
Google algoritmi za rangiranje stranica
12/45
Slide 13
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
Google algoritmi za rangiranje stranica
13/45
Slide 14
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)
Google algoritmi za rangiranje stranica
14/45
Slide 15
Google pretraživač
Skor sadržaja
(content score)
Slide 16
Content score
• Sadržaj stranice
• META tag
• page title
• description
• keywords
• Heading
• Alt atribut
• Tekst hiperlinkova (anchor text)
Google algoritmi za rangiranje stranica
16/45
Slide 17
Content score
• Content score se izračunava u realnom vremenu
• Ubrzavanje upita – smanjivanje izračunavanja
u realnom vremenu
• Proširivanje indeksa deskriptorima:
termin n (avion) – 7, 152 [1, 0, 1, 8], 7342
Google algoritmi za rangiranje stranica
17/45
Slide 18
Google pretraživač
Skor popularnosti
(popularity score)
Slide 19
Popularity score
• Do 1998. webgraph je bio neiskorišćen
kao 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
Google algoritmi za rangiranje stranica
19/45
Slide 20
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:
r ( Pi )
•
r ( Pj )
Pj BP
i
Iterativna formula:
rk 1 ( Pi )
rk ( P j )
Pj BP
i
•
Pj
Pj
Proces je iniciran početnim vrednostima r0(Pi)=1/n
Google algoritmi za rangiranje stranica
20/45
Slide 21
Originalna formula PageRank-a
• Graf:
2
5
3
4
1
6
• Matrica prelaza:
H
0
1/ 2
1/ 2
0
0
0
0
0
0
0
0
0
1/ 3
1/ 3
0
0
1/ 3
0
0
0
0
0
1/ 2
1/ 2
0
0
0
1/ 2
0
1/ 2
0
0
0
1
0
0
Google algoritmi za rangiranje stranica
21/45
Slide 22
PageRank
• Ako je p(k)T PageRank vektor u k-toj iteraciji,
tada je:
p(k1)T= p(k)TH
iterativna formula za dobijanje PageRank-a
u matričnom obliku
Google algoritmi za rangiranje stranica
22/45
Slide 23
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 naziva
stepeni metod (eng. Power method) primenjen na H
• H je substohastička, jer viseće stranice proizvode 0 redove
Google algoritmi za rangiranje stranica
23/45
Slide 24
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 p(0)T?
• Koja je brzina konvergiranja?
• Da li će rešenje ka kome sistem konvergira biti od
koristi za rangiranje stranica?
Google algoritmi za rangiranje stranica
24/45
Slide 25
Problemi sa matricom H
• Inicijalni vektor je p(0)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
Google algoritmi za rangiranje stranica
25/45
Slide 26
Markovljevi lanci
• Za bilo koji inicijalni vektor, matrica P u
Markovljevom lancu konvergira ka jedinstvenom
pozitivnom vektoru (stacionarni vektor), ako je P:
• stohastička
• nesvodljiva
primitivna
• aperiodična
Google algoritmi za rangiranje stranica
26/45
Slide 27
Prilagođavanje matrice H
• Model slučajnog surfera (eng. random surfer)
• Stohastička matrica S (stohastička modifikacija):
S
0
1/ 2
1/ 2
0
0
0
1/ 6
1/ 6
1/ 6
1/ 6
1/ 6
1/ 6
1/ 3
1/ 3
0
0
1/ 3
0
0
0
0
0
1/ 2
1/ 2
0
0
0
1/ 2
0
1/ 2
0
0
0
1
0
0
S = H + a(1/n eT), gde je a dangling node vector
Google algoritmi za rangiranje stranica
27/45
Slide 28
Prilagođavanje matrice H
• Google matrica G (modifikacija primitivnosti):
G = aS + (1 - a)1/n eeT,
gde je:
• 1 - a verovatnoća teleportacije (verovatnoća da surfer
skoči na proizvoljnu stranu)
• 0• 1/n eeT = E matrica teleportacije (uniformna)
Google algoritmi za rangiranje stranica
28/45
Slide 29
Posledice modifikacije
• Matrica G je:
• stohastička
• nesvodljiva (sve strane su međusobno povezane)
• aperiodična (linkovi Gii)
• u potpunosti gusta, ali:
G = aS + (1 - a)1/n eeT =
= a(H + 1/n aeT) + (1 - a)1/n eeT =
= aH + (aa + (1 - a)e)1/n eT
• veštačka, u smislu da je nastala modifikacijom H
Google algoritmi za rangiranje stranica
29/45
Slide 30
Izračunavanje PageRank vektora
• Power method – pronalazi dominantne sopstvene
vrednosti i sopstvene vektore matrice
• jednostavan:
p(k1)T= p(k)TG =
= ap(k)T S + (1 - a)/n p(k)T eeT =
= ap(k)T H + (ap(k)T a + 1 - a)eT/n,
gde je pTe = 1.
• matrix-free
• storage friendly
• zahteva svega 50-100 iteracija
Google algoritmi za rangiranje stranica
30/45
Slide 31
Parametri u PageRank modelu
•
•
a faktor (PageRank – a = 0.85):
G = aS + (1 - a)E
hiperlink matrica H:
H
•
0
1/ 2
1/ 2
0
0
0
0
2/3
1/ 3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1/ 3
1/ 3
0
0
1/ 3
0
1/ 3
1/ 3
0
0
1/ 3
0
0
0
0
0
1/ 2
1/ 2
0
0
0
0
1/ 2
1/ 2
0
0
0
1/ 2
0
1/ 2
0
0
0
1/ 2
0
1/ 2
0
0
0
1
0
0
0
0
0
1
0
0
H
matrica teleportacije E:
E = 1/n evT
gde je vT vektor teleportacije (personalizacije)
Google algoritmi za rangiranje stranica
31/45
Slide 32
Google pretraživač
Osobine i implementacija
PageRank algoritma
Slide 33
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 |l2/ l1|k teži nuli
• G je stohastička: l1 = 1
• G je primitivna: |l2| < 1
• ekstrapolacija – eliminisanje uticaja l2
• mane: zahtevnost (svaka deseta iteracija)
Google algoritmi za rangiranje stranica
33/45
Slide 34
Ubrzavanje izračunavanja PageRank-a
• quadratic ekstrapolacija – smanjuje broj iteracija:
• eliminisanje uticaja l2 i l3
• prednosti: 50-300% bolji rezultati od originalnog PR
• mane: zahtevno izračunavanje (svaka 20-ta iteracija)
PageRank
PageRank sa quadratic ekstrapolacijom
Google algoritmi za rangiranje stranica
34/45
Slide 35
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
Google algoritmi za rangiranje stranica
35/45
Slide 36
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
Google algoritmi za rangiranje stranica
36/45
Slide 37
S LL
Osvežavanje PageRank vektora
• Aproksimativna agregacija:
• S – skup stanja osveženog Markovljevog lanca
S LL
S LL
• L – sadrži stanja na koje je uticala promena
• Egzaktna agregacija
Google algoritmi za rangiranje stranica
37/45
Slide 38
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
Google algoritmi za rangiranje stranica
38/45
Slide 39
Budućnost pretraživača
Slide 40
SPAM i ostale zloupotrebe
• Algoritmi za detektovanje Link farmi
• BadRank
• Sponzorisani linkovi
Google algoritmi za rangiranje stranica
40/45
Slide 41
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.
Google algoritmi za rangiranje stranica
41/45
Slide 42
Personalizovane pretrage
• Google Personalized Search – Web History
• A9.com
• Mnogi sajtovi imaju internu personalizovanu
pretragu – npr. Amazon.com
• Problemi sa privatnošću
Google algoritmi za rangiranje stranica
42/45
Slide 43
Klasifikacija i klasterovanje
• Stumble!
• Vivisimo – Clusty
• Upit “cell” je vraćao klase:
•
•
•
•
•
cell phones
biology
stem cell
manufacturer/battery
itd.
Google algoritmi za rangiranje stranica
43/45
Slide 44
Fuzija podataka
• Map.Search - www.map.search.ch
Google algoritmi za rangiranje stranica
44/45
Slide 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 - SpamUnit
http://www.spamunit.com/spam-statistics/
[4] Technorati
http://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ć
Branko Golubović
[email protected]
[email protected]
Google algoritmi za rangiranje stranica
45/45