Google algoritmi za rangiranje stranica
This presentation is the property of its rightful owner.
Sponsored Links
1 / 45

Google algoritmi za rangiranje stranica PowerPoint PPT Presentation


  • 66 Views
  • Uploaded on
  • Presentation posted in: General

Elektrotehnički fakultet Univerziteta u Beogradu. Google algoritmi za rangiranje stranica. Diplomski rad. Student: Mentor: Branko Golubović prof. Veljko Milutinović. This material was developed with financial help of the WUSA fund of Austria. Pregled. Uvod Google pretraživač

Download Presentation

Google algoritmi za rangiranje stranica

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Google algoritmi za rangiranje stranica

Elektrotehnički fakultet Univerziteta u Beogradu

Google algoritmi za rangiranje stranica

Diplomski rad

Student: Mentor:

Branko Golubović prof. Veljko Milutinović

This material was developed with financial help of the WUSA fund of Austria.


Pregled

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


Google algoritmi za rangiranje stranica

Uvod


Pretra ivanje kroz istoriju

Pretraživanje kroz istoriju

  • Papirus

  • Pergament

  • Papir

  • Štamparska mašina

  • WWW

Google algoritmi za rangiranje stranica


Mre a je

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


Pretra iva i

Pretraživači

  • Ocenjivanje performansi pretraživača:

    • preciznost

    • odziv

    • brzina

    • zahtevnost

Google algoritmi za rangiranje stranica


Google pretra iva

Google pretraživač


Google od nastanka do danas

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


Google pretra ivanje

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


Google pretra iva1

Google pretraživač

Kako radi Google


Elementi pretra iva a

Elementi pretraživača

Korisnik

W

W

W

Modul za obilaženje Mreže

Modul za skladištenje stranica

Modul za indeksiranje

Upit

Rezultat

Modul za obradu upita

Modul za rangiranje

Indeksi

Sadržaj

Specijalni

Struktura

Pretraživač

Google algoritmi za rangiranje stranica


Modul za obradu upita

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


Modul za obradu upita1

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


Modul za rangiranje

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


Google pretra iva2

Google pretraživač

Skor sadržaja

(content score)


Content score

Content score

  • Sadržaj stranice

  • META tag

    • page title

    • description

    • keywords

  • Heading

  • Alt atribut

  • Tekst hiperlinkova (anchor text)

Google algoritmi za rangiranje stranica


Content score1

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


Google pretra iva3

Google pretraživač

Skor popularnosti

(popularity score)


Popularity score

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


Originalna formula pagerank a

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

Google algoritmi za rangiranje stranica


Originalna formula pagerank a1

Originalna formula PageRank-a

2

5

3

4

1

6

  • Graf:

  • Matrica prelaza:

Google algoritmi za rangiranje stranica


Pagerank

PageRank

  • Ako je p(k)T PageRank vektor u k-toj iteraciji,

    tada je:

    p(k+1)T= p(k)TH

    iterativna formula za dobijanje PageRank-a

    u matričnom obliku

Google algoritmi za rangiranje stranica


Matrica prelaza h

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


Konvergiranje procesa

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


Problemi sa matricom h

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


Markovljevi lanci

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


Prilago avanje matrice h

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

Google algoritmi za rangiranje stranica


Prilago avanje matrice h1

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 < a< 1

    • 1/n eeT = E matrica teleportacije (uniformna)

Google algoritmi za rangiranje stranica


Posledice modifikacije

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


Izra unavanje pagerank vektora

Izračunavanje PageRank vektora

  • Power method – pronalazi dominantne sopstvene vrednosti i sopstvene vektore matrice

    • jednostavan:

      p(k+1)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


Parametri u pagerank modelu

Parametri u PageRank modelu

  • a faktor(PageRank – a= 0.85):

    G = aS + (1 - a)E

  • hiperlink matrica H:

  • matrica teleportacije E:

    E = 1/n evT

    gde je vTvektor teleportacije (personalizacije)

Google algoritmi za rangiranje stranica


Google pretra iva4

Google pretraživač

Osobine i implementacija

PageRank algoritma


Ubrzavanje izra unavanja pagerank a

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


Ubrzavanje izra unavanja pagerank a1

Ubrzavanje izračunavanja PageRank-a

PageRank

PageRank sa quadratic ekstrapolacijom

  • quadratic ekstrapolacija – smanjuje broj iteracija:

    • eliminisanje uticaja l2i l3

    • prednosti: 50-300% bolji rezultati od originalnog PR

    • mane: zahtevno izračunavanje (svaka 20-ta iteracija)

Google algoritmi za rangiranje stranica


Ubrzavanje izra unavanja pagerank a2

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


Osve avanje pagerank vektora

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


Osve avanje pagerank vektora1

Osvežavanje PageRank vektora

  • Aproksimativna agregacija:

    • S – skup stanja osveženog Markovljevog lanca

    • L – sadrži stanja na koje je uticala promena

  • Egzaktna agregacija

Google algoritmi za rangiranje stranica


Osve avanje pagerank vektora2

Osvežavanje PageRank vektora

  • Iterativna agregacija:

    • što je |L| = lveć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


Budu nost pretra iva a

Budućnost pretraživača


Spam i ostale zloupotrebe

SPAM i ostale zloupotrebe

  • Algoritmi za detektovanje Link farmi

  • BadRank

  • Sponzorisani linkovi

Google algoritmi za rangiranje stranica


Specijalizovani pretra iva i

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


Personalizovane pretrage

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


Klasifikacija i klasterovanje

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


Fuzija podataka

Fuzija podataka

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

Google algoritmi za rangiranje stranica


Google algoritmi za rangiranje stranica1

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 [email protected]

Branko [email protected]

Google algoritmi za rangiranje stranica


  • Login