• Nem Talált Eredményt

Az egyszer˝u Page Rank

In document 1.1. A tud´asfelt´ar´as folyamata (Pldal 197-200)

13. Webes adatb´any´aszat 195

13.1.1. Az egyszer˝u Page Rank

A Google keres˝orendszerben 1998-ban implement´alt Page Rank (Brin-Page) algoritmus a gya-korlati alkalmaz´asok sor´an nagyon j´o eredm´enyt hozott [110]. A tov´abbiakban az ˝o m´odszer¨uket mutatjuk be.

Rendelkez´es¨unkre ´allNdarab weboldal a hagyom´anyos weboldalak minden tulajdons´ag´aval. Fel-adat lenne ezek k¨oz¨ott egyfajta fontoss´agi sorrendet fel´all´ıtani. Egy oldal fontoss´ag´at, hasznoss´ag´at j´ol t¨ukr¨ozi az oldalt megl´atogat´o emberek sz´ama. A legt¨obb oldal k´esz´ıt˝oi azonban a let¨olt´esek sz´am´at illet˝oen semmilyen audit´al´ast nem v´egez, ´ıgy rangsorol´o algoritmust nem alapozhatunk ezen in-form´aci´okra.

A linkeknek nagy szerep¨uk van a fontoss´agban. Ha valaki saj´at oldal´an egy m´asik oldalra mutat´o linket helyez el, akkor azt az´ert teszi, mert szerinte, a m´asik oldal hasznos inform´aci´ot tartalmaz, kapcsol´odik az oldal t´em´aj´ahoz, valamilyen szempontb´ol fontos. A Page Rank algoritmus (´es minden kifinomult keres˝o rendszer) az oldalak k¨oz¨otti linkstrukt´ura alapj´an defini´alja a fontoss´agot.

Egy oldal fontoss´ag´at az oldal rangja adja meg. Elk´epzel´eseinknek megfelel az az ´all´ıt´as, hogy ha valahova sok link mutat, akkor az fontos oldal, tov´abb´a, ha egy oldal fontos, akkor az ´altala mutatott lapok is azok. Inform´alisan egy rekurz´ıv defin´ıci´ot adn´ank a fontoss´agnak: ”egy oldal fontos, ha fontos oldalak mutatnak r´a”.

A rang meghat´aroz´as´ahoz sz¨uks´eg¨unk van az oldalak k¨oz¨otti linkstrukt´ura ismeret´ere. Defini´aljuk azN weblaphozA N×N-es sor-sztochasztikus m´atrixot az al´abbiak szerint: amennyiben az i. lapon nlink tal´alhat´o, akkor

Ai j= 1

n ha j-re mutat link i-r˝ol 0 egy´ebk´ent

AzAm´atrix (sor-)sztochasztikus, azaz∀i-reNj=1Ai j=1,Ai j≥0. A sor-sztochasztikus m´atrixokra igaz a k¨ovetkez˝o t´etel:

13.1. t´etel. Legyen A sor-sztochasztikus m´atrix (N×N-es), j= (N1, . . . ,N1). Ekkor p=mlim→∞jAm

l´etezik ´es pA=p.

13.2. defin´ıci´o. A p= (p1, . . . ,pN)∈RN+vektor a lapok rang-vektora (teh´at az i-edik lap rangja pi).

Az algoritmus menete a k¨ovetkez˝o:

I. K´esz´ıts¨uk el azAm´atrixot az adott weblapok topol´ogi´aj´ab´ol.

II. Kezdetben minden oldal rangja N1, teh´atp= (N1, . . . ,N1), III. v´egezz¨uk el pi+1piAiter´aci´ot,

IV. ha teljes¨ulnek a le´all´asi felt´etelek akkor STOP, ellenkez˝o esetben ugr´as az el˝oz˝o utas´ıt´asra.

Le´all´asi felt´etel lehetne az, hogy aprang-vektor egy adott k¨usz¨obn´el kisebbet v´altozik. Az eredeti c´elunk azonban az egyes oldalak rangsorol´asa, nem pedig a pontos rang´ert´ekek meghat´aroz´asa. Ez´ert sokkal ´esszer˝ubb, ha akkor ´all´ıtjuk le az iter´aci´ot, ha a rang-vektor alapj´an fel´all´ıtott sorrend nem v´altozik egy adott sz´am´u iter´aci´o ut´an. A fent kimondott t´etel a garancia arra, hogy az iter´aci´o sor´an

prang-vektor egy vektorhoz konverg´al, amib˝ol k¨ovetkezik, hogy az algoritmus minden esetben le fog

´allni.

K´epzelj¨uk azt, hogy kezdetben minden oldal fontoss´aga N1, ´es minden lap a k¨ovetkez˝o l´ep´est hajtja v´egre: a saj´at fontoss´ag´at egyenl˝o m´ert´ekben sz´etosztja az ´altala mutatott oldalak k¨oz¨ott. K¨onny˝u v´egiggondolni, ha a fenti l´ep´est hossz´u id˝on kereszt¨ul folytatj´ak, akkor minden lap fontoss´aga meg fog egyezni a fent defini´alt rang-vektor laphoz tartoz´o rang´ert´ek´evel.

A fenti algoritmus elfogad´as´ahoz egy m´asik intuit´ıv magyar´azat lehetne az al´abbi: Tegy¨uk fel, hogy a ”sztochasztikus sz¨orf¨ol˝o” egy olyan, az Interneten barangol´o l´eny, aki a kiindul´asilapot, egyen-letes eloszl´as szerint, v´eletlenszer˝uen v´alasztja ki, valamint minden k¨ovetkez˝o oldalt az aktu´alisr´ol el´erhet˝ok k¨oz¨ul v´alasztja ki hasonl´oan v´eletlenszer˝uen. Bel´athat´o, hogy annak a val´osz´ın˝us´ege, hogy v´egtelen sok l´ep´es ut´an a szesz´elyes sz¨orf¨ol˝o azi-edik lapra ker¨ul, pi.

Az algoritmus vitathatatlan el˝onye, hogy gyors (N·j·AM j´ol sz´am´ıthat´o) ´es k¨onnyen programoz-hat´o.

N´ezz¨unk egy nagyon egyszer˝u p´eld´at az algoritmusra. 3 oldalt kell rangsorolnunk, amelyek link-strukt´ur´aja a k¨ovetkez˝o ´abr´an l´athat´o.

X

Z

Y

13.1. ´abra. P´elda az egyszer˝u Page Rank algoritmusra A topol´ogia alapj´an azAm´atrix:

A=

Az els˝o h´arom iter´aci´o ut´an a rang vektorN-szerese:

N·p1= (1,1,1)

Ennek az egyszer˝u algoritmusnak k´et nagy hib´aja van, melyeket zs´akutca, illetve p´okh´al´o probl´em´anak h´ıvunk.

Zs´akutca probl´ema

Zs´akutc´anak nevezz¨uk azt az oldalt, amir˝ol nem mutat link semmilyen m´as lapra, de m´as lapr´ol mutat r´a. Amennyiben az oldalak k¨oz¨ott zs´akutca van, akkor az Am´atrix ehhez az oldalhoz tartoz´o sora csupa 0 elemet fog tartalmazni. Ekkor azAm´atrix nem lesz sor-sztochasztikus, ´es oldalak fon-toss´aga ”kisziv´arog” a rendszerb˝ol. A probl´ema szeml´eltet´es´ere n´ezz¨uk a k¨ovetkez˝o ´abr´an l´athat´o lapstrukt´ur´at. Am=2m−11 A, amib˝ol ad´odik, hogy a rangvektor a 0 vektorhoz fog tartani.

P´okh´al´o probl´ema

Lapok olyan rendszer´et, amelyben minden link csak e rendszerbeli lapra mutat, p´okh´al´onak ne-vezz¨uk. Jellemz˝o r´ajuk, hogy az iter´aci´o sor´an magukba gy˝ujtik (esetleg az ¨osszes) a fontoss´agot. Ez komoly vissza´el´esekhez adhat alapot ´es SPAM-el´eshez vezethet, hiszen linkek elt´avol´ıt´as´aval b´arki alak´ıthat ki p´okh´al´ot, amennyiben van arra az oldalra mutat´o link.

P´eldak´ent t´erj¨unk vissza a 13.1 laptopol´ogi´ahoz, csak most tegy¨uk fel, hogyYaZ-re mutat´o linkj´et

´at´all´ıtja ´ugy, hogy ezent´ul saj´at mag´ara mutasson. EkkorAm´atrix a k¨ovetkez˝ok´eppen m´odosul:

A=

a rang vektorN-szerese az els˝o n´egy iter´aci´o sor´an:

N·p1= (1,1,1)

bel´athat´o, hogy a rang vektor a p= (0,1,0)vektorhoz fog tartani.

In document 1.1. A tud´asfelt´ar´as folyamata (Pldal 197-200)