Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware/© Roger Casadejús Pérez | ExatiendaQuè és I c...
Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware/© Roger Casadejús Pérez | ExatiendaPer exempl...
Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware/© Roger Casadejús Pérez | ExatiendaAlgorisme ...
Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware/© Roger Casadejús Pérez | ExatiendaLa Matriu ...
Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware/© Roger Casadejús Pérez | ExatiendaCert. La g...
Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware/© Roger Casadejús Pérez | ExatiendaXarxa-Embo...
Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware/© Roger Casadejús Pérez | ExatiendaOn recorde...
Upcoming SlideShare
Loading in …5
×

Què és i com funciona el pagerank?

246 views
183 views

Published on

Què és i com funciona el pagerank?

Més manuals a: http://www.exabyteinformatica.com

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
246
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Què és i com funciona el pagerank?

  1. 1. Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware/© Roger Casadejús Pérez | ExatiendaQuè és I com funciona el Pagerank de GooglePageRank és una marca registrada i patentada per Google el 9 de gener de 1999 que emparauna família dalgorismes utilitzats per assignar de forma numèrica la rellevància delsdocuments (o pàgines web) indexats per un motor de cerca. Les seves propietats són moltdiscutides per experts en optimització de motors de cerca.El sistema PageRank és utilitzat pel popular motor de cerca Google per ajudar-li a determinarla importància o rellevància duna pàgina. Va ser desenvolupat pels fundadors de Google, LarryPage i Sergey Brin, a la Universitat de Stanford.PageRank confia en la naturalesa democràtica de la web utilitzant la seva vasta estructuradenllaços com un indicador del valor duna pàgina en concret. Google interpreta un enllaçduna pàgina A a una pàgina B com un vot, de la pàgina A, per a la pàgina B."importants", és a dir amb un PageRank elevat, valen més, i ajuden a fer a altres pàgines"importants". Per tant, el PageRank duna pàgina reflecteix la importància de la mateixa aInternet.Com funciona el Pagerank?El valor del PageRank que observem és un valor comprès entre 0 i 10. Però en realitat, elPageRank és un valor numèric molt més alt, calculat en funció dels enllaços que reben lesnostres pàgines.El valor real sol ser de lordre de milers dunitats. No obstant això, Google pren el seu valorlogarítmic per fer-ho visible als usuaris. La base daquest logaritme és desconeguda.
  2. 2. Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware/© Roger Casadejús Pérez | ExatiendaPer exemple, per a una base 7, tindríem els següents valors:Valor PR PR Real0 0 - 31 3 - 192 19 - 1303 130 - 9074 907 - 63515 6351 - 444586 44458 - 3112097 311209 - 21784668 2178466 - 152492629 15249262 - 10676560710 > 106765607Si una pàgina té un PageRank real -per exemple- de 500000, quin valor li transmetria a unaaltra a la qual enllaça?.La resposta a aquesta pregunta es contesta en el ja famós text de Sergey Brin i Larry Page(fundadors de Google), anomenat The Anatomy of a Large-Scale Hypertextual Web SearchEngine .En ell, plantejaven la següent fórmula per calcular el PageRank duna pàgina web anomenadaA:PR(A) = (1-d) + d * [ PR(T1)/C(T1) + ... + PR(Tn)/C(Tn) ]On:- d és el factor datenuació. Un valor podria ser 0,85.- Ti és cada pàgina que enllaça a A. i pren els valors 1, 2, ... fins a N. N és el nombre depàgines que enllacen a A.- PR(Ti) és el PageRank de cadascuna de les pàgines que enllacen a A.- C(Ti) és el número denllaços que surten des de cada pàgina Ti.Per tant, la nostra pàgina de 500000 de PageRank transmetrà a una altra en cas de tenir unúnic enllaç, un valor de 0,85500000 = 425000. Generalment les pàgines posseeixen més dunenllaç dins delles, així que aquest valor caldria dividir-ho entre el nombre denllaços.Com es pot comprovar, el valor del PageRank de cada pàgina no és constant en el temps, jaque depèn dels enllaços que anem rebent i, al seu torn, del PR de les pàgines que ens enllacen.Per això, una vegada al mes aproximadament, Google recalcula el valor daquest PageRank ques’anomena el Google Dance.
  3. 3. Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware/© Roger Casadejús Pérez | ExatiendaAlgorisme del Pagerank(Mètode per a la jerarquització de nodes en una base de dades enllaçada)La patent més famosa de Google és una dels principals avantatges competitius que vapermetre a aquesta companyia aixafar als seus competidors en el camp de les cerques ainternet i fer-se el gegant que són avui*. El Page Rank, com tots el coneixem, és una idea genialper trobar el valor o "importància" que té una pàgina web determinada. Aquesta"importància" sempra després per mostrar els resultats de major qualitat quan realitzem unacerca en Google. La qualitat dels resultats de Google emprant aquest mètode (combinat, perdescomptat, amb altres algorismes) és el que ens va fer a tots abandonar els nostres anticscercadors (Altavista, Metacrawler) i passar-nos al cercador de Larry i Sergei. En aquest postanem a explicar lalgorisme fins al final intentant emprar la quantitat mínima de matemàtiquespossibles.Si alguna vegada thas interessat pel tema, hauràs llegit que:1. La "importància" duna pàgina web només depèn de les pàgines web que lenllacen.Si tens una pàgina web i aquesta és enllaçada des de pàgines importants (dalt Page Rank,posem www.uoc.edu) tu rebràs una part daquesta importància. Totes les pàgines que enllacisdes de la teva pàgina web rebran, al seu torn, una part de la importància de la teva pàgina. Perser més exactes:2. Una pàgina web reparteix per igual la seva importància entre totes les pàgines a les qualsenllaça.És a dir: Si tenllaça una pàgina important que enllaça 3 o 4 pàgines a part de la teva és moltmillor que si tenllaça una pàgina igual dimportant que enllaci 30 o 40 (toca més Page Rank arepartir).També hauràs sentit parlar dels Spiders (aranyes). Això no són més que veloços programesautomàtics que van recorrent internet com si fossin un usuari humà, prement tots els enllaçospossibles, extenent-se així per la "xarxa" (daquí el nom) i creant un mapa de la mateixa. Aixíque tenim:3. Els Spiders proporcionen a Google un mapa de la xarxa on es pot veure quina pàgina apuntaa quina pàgina.Això no significa que sapiguem ja el Page Rank. De fet, tot això és molt bonic però… comcalculem el Page Rank?. Per quina pàgina comencem?. Suposant que comencéssim per una, sino tenim el Page Rank de les quals enllacen a aquesta, com podem calcular alguna cosa?. I elque és pitjor: A internet hi ha vint-i-cinc mil milions de pàgines apuntant-se unes a les altres(nombre que puja ràpidament), com crear un algorisme que sigui capaç de bregar ambsemblant brutalitat denllaços?. En el pitjor cas totes les pàgines sapunten entre si i el numerototal denllaços és de vint-i-cinc mil milions, al quadrat!.Aquí és on realment arriba lartilleria matemàtica. Prometem que si saps el que és una matriu,com se sumen i com es multipliquen (i tens una mica de fe) ja pots entendre lalgorisme deLarry i Sergei fins al final.
  4. 4. Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware/© Roger Casadejús Pérez | ExatiendaLa Matriu de repartiment de Page Rank HD’acord, no sabem com és el page Rank de cap pàgina abans de començar, però si hi ha unacosa que sabem: Quant del seu desconegut Page Rank reparteix una pàgina entre les pàginesque enllaça. Pel que sha dit anteriorment, si una pàgina enllaça 5 pàgines transmetrà un 1/5del seu Page Rank a cadascuna. A causa del nombre de pàgines que enllaça cada pàgina hosabem. És més, podem construir una taula H de vint-i-cinc mil milions de files per vint-i-cinc milmilions columnes (no, no cap en un Din-A4), que contingui tots els enllaços possibles. Per adues pàgines qualsevol (una com enllaçadora i laltra com enllaçada) tenim un requadre de lataula que ens indica quina proporció del Page Rank transfereix la enllaçadora a lenllaçada. Perorientar-nos una mica: La diagonal daquesta taula representaria el que la pàgina es transmet asi mateixa (si senllacés). Qualsevol requadre per sota de la diagonal i el seu simètric per sobrede la diagonal indiquen respectivament el que es transmeten dues pàgines quan una actuacom enllaçadora i laltra com enllaçada i viceversa. Si una pàgina no enllaça a una altra, es posaun 0 en el requadre (lògicament no li pot transmetre gens de Page Rank).Matriu (Vector) Invariant IEl que ve a continuació no és idea de Larry Page o Sergei Brin, fa un segle que es coneix, però sique requereix la poca fe que et demanem reservar. Aquesta taula (llegeixi’s Matriu), que hemcreat amb lajuda de la informació proporcionada pels Spiders, representa en realitat ladificultat (o facilitat) per al "flux" de Page Rank duna pàgina a una altra. Podem veure el fluxcom a aigua que passa amb menor o major dificultat duna pàgina a una altra dacord al valorcorresponent al requadre de la taula H. Aquest aigua/transferència de Page Rank fluiria dunapàgina a una altra a través dels seus enllaços sense parar i eventualment podria arribar a unequilibri (si no hi arribés no hi hauria Page Rank algun). Doncs bé les matemàtiques,concretament el teorema de Ruelle-Perron–Frobenius (engonals) ens garanteix el següent:4. Sota determinades condicions, que veurem, sacabarà aconseguint aquest equilibri. No ésque Frobenius (engonals) sabés el que és una pàgina web al 1900, si no que el problema ésmatemàticament idèntic a un conegut problema de dinàmica de sistemes (engonals). Després,hi ha gent que diu que Larry i Sergei són llicenciats en filosofia.5. Lequilibri queda representat pel vector invariant I. Això és: Una taula duna sola columna(una matriu, més concretament vector) de vint-i-cinc mil milions de valors, que compleix queen multiplicar-la per la matriu de repartiment H ens dóna una altra vegada ella mateixa (I). Elque expressaríem:Aquest vector invariant I de vint-i-cinc mil milions de valors, quina casualitat, un per a cadapàgina web, és el Page Rank. Faltarà refinar-ho, escalant-lo d1 a 10, i “discretitzant-lo” perquèno doni valors intermedis. Intueixo que el valor “discretitzat” (1 a 10 sense decimals), que esmostra en la Google toolbar, és solament de cara al públic i internament empressin elsdecimals que surtin també.Sí, molt bé però i referent a les 25.000.000.000 pàgines?
  5. 5. Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware/© Roger Casadejús Pérez | ExatiendaCert. La gent que hagi sofert àlgebra de primer haurà reconegut a I com un vector propi devalor propi 1 de la matriu H. I segurament recordarà amb horror que per calcular-ho calresoldre un polinomi que en aquest cas tindria grau 25.000.000.000. Vaja no ho calculariemaixí ni de broma. Afortunadament, sobretot per a les persones a les quals lanterior els hasonat a xinès, existeix un mètode per calcular I iterativament (en passos successius) i molt moltsenzill. Tan senzill que consisteix que ens inventem una taula de 25.000.000.000 valors delPage Rank a l’atzar (un vector I0 creat aleatòriament), ho multipliquem per H i el resultat seràuna altra taula de 25.000.000.000 valors I1 però més propers al valor correcte del vectorinvariant I. Repeteixis això un munt de vegades fins que el resultat de multiplicar per H ja noprodueixi cap canvi i ja està. Ja tenim el vector invariant. Aquest algorisme, que es diu elmètode de les potències (engonals), sexpressaria matemàticament així:On k no és més que líndex que indica quantes vegades hem multiplicat per la matriu H. Elprimer vector, que crearíem a l’atzar seria k = 0, el segon, procedent de multiplicar per H seriak =1, etc. Per expressar de forma general que cada terme sobté mitjançant una transformacióde lanterior sempren els índexs k+1 i k. Cal tenir en compte que els mètodes iteratius tenenlavantatge que no necessitem acumular massa valors, la qual cosa redueix la quantitat dememòria que necessitem per computar el Page Rank i accelera tot el procés de càlcul.Segueixen sent una bestiesa de nombres però almenys és factible.Gran problemaSembla fàcil, oi?. Òbviament falla alguna cosa i aquesta cosa és el punt (4). Resulta que no escompleixen les condicions de convergència del teorema Ruelle-Perron–Frobenius. És a dir queaplicant el mètode a dalt explicat no hi ha garantia que arribem al vector invariant. No entraréen els detalls, no fa falta. Utilitzant lanalogia del "flux" de Page Rank es pot entendreperfectament que és el que falla i com es pot solucionar.Pàgina Embornal:Què ocorre quan el flux de Page Rank arriba a una pàgina com la 2 que no té enllaços a caplloc?. Doncs simplement que no surt daquí. Aquesta pàgina es torna un embornal de PageRank i lalgorisme donarà resultats incorrectes. Com ho resolem?. Si fem la pàgina 2 enllaçtotes les pàgines de la web per igual (imagina milions de petites fletxes sortint de 2 cap a toteslás pàgines), això donarà sortida al flux de Page Rank però la influència en els resultats ésmínima, ja que cada pàgina rep solament 1/25.000.000.000 del Page Rank de 2.Matemàticament, això equival a sumar-li a H una matriu Al fet que tingui tot 0s menys en lescolumnes de les pàgines embornal que tindran tota la columna plena d1/25.000.000.000.Daquesta forma en comptes de la matriu H empraríem la matriu S=H+A en el mètode de lespotències.
  6. 6. Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware/© Roger Casadejús Pérez | ExatiendaXarxa-Embornal:Un cas similar és el de les sub-xarxes de pàgines dins de la xarxa, com la 5-7-6-8, que no tenenenllaços de tornada. Aquestes xarxes es converteixen en xarxes-embornal. El problema és queaquestes pàgines sí enllacen altres pàgines i no podem simplement carregar-nos aquestainformació i enllaçar totes les pàgines de la xarxa des delles. Per donar sortida al flux de PageRank, anem a recórrer a una solució al més pur estil "enginyer".Gran solucióNecessitem garantir la sortida del flux de Page Rank de qualsevol pàgina o sub-xarxa, és a dir,que tota pàgina apunti a una altra pàgina. No ens val amb crear un enllaç a qualsevol pàgina al’atzar perquè (a part destar falsejant el Page Rank), si resulta en una xarxa tancada com 5-7-6-8 no hem solucionat gens. Ara, imaginem un cas ideal on totes les pàgines apuntessin a totesles pàgines. Aquí el Page Rank sempre tindria algun enllaç per on escapar, fins i tot de les sub-xarxes, i lalgorisme funcionaria. Però clar, es perdria tota la jerarquia que donen els enllaços,la matriu de repartiment tindria tots els seus elements iguals a 1/25.000.000.000 i totes lespàgines tindrien el mateix Page Rank.Doncs res, sumar la matriu de repartiment real, calculada amb la informació dels Spiders ambla ideal en la qual totes les pàgines sapunten entre si i ho dividim per dos. La matriu resultanttindrà sempre enllaços sortints de cada pàgina i tenim el flux de Page Rank garantit. Que enbarrejar a parts iguals la matriu real i la ideal ens surten els resultats massa aleatoris? (perinfluència de la ideal). Bé, doncs en comptes de meitat i meitat les barregem amb 85% de lamatriu real i un 15% de la ideal i llestos. I ja que parlem del tema, aquí teniu la famosa matriude Google:
  7. 7. Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware/© Roger Casadejús Pérez | ExatiendaOn recordem que S=H+A és la matriu real amb el problema dels embornals individuals resolt,1/n×1, amb n = 25.000.000.000 és la matriu ideal i α = 0.85 ens dóna la citada barreja al 85%.Algun lector espavilat pot dir: Però… al ficar-hi un 15% de aleatorietat, no falseja dalgunamanera el Page Rank?Per acabar si emprem G en comptes dH en el mètode de les potències i juguem una mica ambels termes obtenim la formula que apareixia al principi del post. Emprant la fórmula a la dretade ligual obtindrem cada nou vector Ik+1 en cada iteració.Anotacions finals- El valor òptim del paràmetre α es determina experimentalment i regula també la velocitat deconvergència del mètode de les potències, a major percentatge de matriu real, menorvelocitat de convergència. Google diu que amb nhi ha prou amb k=50-100 iteracions percalcular el Page Rank, cosa que triga diversos dies. Imagino que treballant amb diversosordinadors en paral·lel. Això es coneix com Google Dance i en TSS no ens fa gens de gràcia.- Matemàticament, la condició de convergència de lalgorisme emprat per Google és que totsels elements de la matriu de repartiment de Page Rank siguin estrictament majors que 0, cosaque compleix la ruda solució que acabem de veure. Això no és una condició de convergènciadel mètode de les potències si no una condició per a lexistència del vector invariant segons elteorema de Ruelle-Perron–Frobenius.

×