45
Google algoritmi za rangiranje stranica Diplomski rad Student: Mentor: Branko Golubović prof. Veljko Milutinović Elektrotehnički fakultet Univerziteta u Beogradu

Google algoritmi za rangiranje stranica

  • Upload
    drew

  • View
    62

  • Download
    0

Embed Size (px)

DESCRIPTION

Elektrotehnički fakultet Univerziteta u Beogradu. Google algoritmi za rangiranje stranica. Diplomski rad. Student: Mentor: Branko Golubović prof. Veljko Milutinović. Pregled. Uvod Google pretraživač Kako radi Google Skor sadržaja Skor popularnosti - PowerPoint PPT Presentation

Citation preview

Page 1: Google algoritmi  za rangiranje stranica

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

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

Uvod

Page 4: Google algoritmi  za rangiranje stranica

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

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

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

Google pretraživač

Page 8: Google algoritmi  za rangiranje stranica

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

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

Google pretraživač

Kako radi Google

Page 11: Google algoritmi  za rangiranje stranica

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

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

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

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

Google pretraživač

Skor sadržaja(content score)

Page 16: Google algoritmi  za rangiranje stranica

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

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

Google pretraživač

Skor popularnosti(popularity score)

Page 19: Google algoritmi  za rangiranje stranica

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

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

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

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

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

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

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

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

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

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

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

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

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

Google pretraživač

Osobine i implementacija PageRank algoritma

Page 33: Google algoritmi  za rangiranje stranica

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

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

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

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

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

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

Budućnost pretraživača

Page 40: Google algoritmi  za rangiranje stranica

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

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

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

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

Google algoritmi za rangiranje stranica 44/45

Fuzija podataka

• Map.Search - www.map.search.ch

Page 45: Google algoritmi  za rangiranje stranica

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]