• Nem Talált Eredményt

Oldalak rangsorol´asa

In document Magyar nyelv˝ u irodalom (Pldal 191-195)

7. Klaszterez´ es 164

9.1. Oldalak rangsorol´asa

K´epzelj¨uk el azt a ritk´anak nem mondhat´o helyzetet, amikor egy keres˝orendszer a feltett k´erd´es¨unkre rengeteg oldalt tal´al, olyan sokat, hogy kivitelezhetetlen feladat egyes´evel ´atn´ezni azokat ´es kiv´alasztani a fontosakat. M´egis tudjuk azt, hogy a tal´alt oldalaknak valamilyen k¨oze van a k´erd´es¨unkh¨oz: egyeseknek t¨obb, m´asoknak kevesebb.

Sz¨uks´eg van teh´at az oldalak automatikus rangsorol´as´ara, aminek alapk¨ovetelm´enye, hogy form´alisan is tudjuk defini´alni egy weboldal

”fontoss´ag´at”. Felmer¨ul a k´erd´es, hogy objekt´ıv-e a fontoss´ag dobjekt´ıv-efini´al´asa. A v´alasz objekt´ıv-egyszobjekt´ıv-er˝u: nem. A k´erd´esre kiadott dokumentumok k¨oz¨ott ugyanis k¨ul¨onb¨oz˝o emberek nem ugyanazt a sorrendet ´all´ıtan´ak fel.

A feladatot meg kell oldani, akkor is ha t¨ok´eletes megold´ast m´eg elm´eletileg sem tudunk adni. Megel´egsz¨unk ez´ert a fontoss´ag valamilyen heurisztik´an alapul´o k¨ozel´ıt´es´evel. Algoritmi-kusan szeml´elve k´et algoritmuscsal´ad l´etezik, az egyik csal´adba tartoz´o algoritmusok a gr´af

¨osszes pontj´at s´ulyozz´ak, majd a s´ulyok rendez´es´evel ´allap´ıtj´ak meg a sorrendet. Ezek aglob´alis algoritmusok, m´ıg a m´asik csal´adot k´erd´esf¨ugg˝o rangsorol´asoknak nevezhetj¨uk, ami azt jelenti, hogy a rangsorol´o algoritmus minden k´erd´esn´el lefut, ´es ekkor csak egy r´eszgr´af cs´ucsait pon-tozza. Mindk´et csal´adnak megvan a maga el˝onye, az els˝onek csak egyszer kell lefutni, ´es ut´ana csak mem´ori´ab´ol val´o olvas´as a keres˝oszoftver feladata, m´ıg a m´asodik figyelembe tudja venni azt a t´enyt, hogy egy weboldal k¨ul¨onb¨oz˝o t´em´aj´u keres´esekn´el k¨ul¨onb¨oz˝o m´odon szignifik´ans.

184

9.1.1. Az egyszer˝ u Page Rank

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

Rendelkez´es¨unkre ´allN darab weboldal a hagyom´anyos weboldalak minden tulajdons´ag´aval.

Feladat lenne ezek k¨oz¨ott egyfajta fontoss´agi sorrendet fel´all´ıtani. Egy oldal fontoss´ag´at, hasz-noss´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 inform´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 algo-ritmus (´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. Defi-ni´aljuk azN weblaphozA N×N-es sor-sztochasztikus m´atrixot az al´abbiak szerint : amennyiben azi-edik lapon n link tal´alhat´o, akkor

Aij = 1

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

Az A m´atrix (sor-)sztochasztikus, azaz ∀i-re PN

j=1Aij = 1, Aij ≥0. A sor-sztochasztikus m´atrixokra igaz a k¨ovetkez˝o t´etel:

9.1. t´etel. Legyen A sor-sztochasztikus m´atrix (N×N-es), j= (N1, . . . , N1). Ekkor p= lim

m→∞jAm l´etezik ´es pA=p.

9.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 az A m´atrixot az adott weblapok topol´ogi´aj´ab´ol.

II. Kezdetben minden oldal rangja N1, teh´at p= (N1, . . . ,N1), III. v´egezz¨uk el pi+1←piA iter´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 a p rang-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´anp rang-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´asi lapot, egyenletes 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 az i-edik lapra ker¨ul, pi.

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

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

X

Z

Y

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

A=

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

N·p1= (1,1,1)

Megmutathat´o, hogyp= (65,35,65)

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 azAm´atrix ehhez az oldal-hoz tartoz´o sora csupa 0 elemet fog tartalmazni. Ekkor azAm´atrix nem lesz sor-sztochasztikus,

´es oldalak fontoss´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 nevezz¨uk. Jellemz˝o r´ajuk, hogy az iter´aci´o sor´an magukba gy˝ujtik (esetleg az ¨osszes) a fon-toss´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 9.1 laptopol´ogi´ahoz, csak most tegy¨uk fel, hogyY aZ-re mutat´o linkj´et ´at´all´ıtja ´ugy, hogy ezent´ul saj´at mag´ara mutasson. Ekkor A m´atrix a k¨ovetkez˝ok´eppen m´odosul:

a rang vektor N-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.

9.1.2. Az igazi Page Rank

A fenti k´et probl´ema kik¨usz¨ob¨ol´es´ere az oldalak megad´oztat´as´at javasolt´ak. Ennek ¨otlete az, hogy szedj¨uk be mindenkit˝ol fontoss´ag´anak bizonyos sz´azal´ek´at, majd a beszedett ad´ot osszuk el egyenl˝oen. Amennyiben -nal jel¨olj¨uk a befizetend˝o ad´ot, akkor a fentiek alapj´an A m´atrix helyett a B=·U+ (1−)·A m´atrixot haszn´aljuk, aholU =

K¨onnyen ellen˝orizhet˝o, hogy a B m´atrix sor-sztochasztikus, ´ıgy alkalmazhatjuk r´a a 9.1-es t´etelt, ami ism´et garant´alja, hogy az algoritmus le fog ´allni.

Az igazi Page Rank algoritmusban az egyes lapok nem csak szomsz´edjaiknak osztj´ak sz´et fontoss´agukat, hanem el˝osz¨or befizetik az ad´ot a kir´alyi kincst´arba, ´es csak a marad´ekot osztj´ak szomsz´edjaiknak. Fontoss´agot pedig kapnak a r´a mutat´o oldalak mellett a kincst´arban tal´alhat´o beszedett ad´ob´ol is, egyenl˝o m´ert´ekben.

Amennyiben Am´atrix helyettB m´atrixot alkalmazzuk, a sztochasztikus sz¨orf¨ol˝ore nem lesz igaz az, hogypi annak val´osz´ın˝us´ege, hogyi-edik oldalra l´ep. Igaz lesz viszont a

”szesz´elyes szto-chasztikus sz¨orf¨ol˝ore”, akireval´osz´ın˝us´eggel r´aj¨on a szesz´ely, ´es ilyenkor a k¨ovetkez˝o ´allom´as´at, egyenletes eloszl´ast k¨ovetve, v´eletlenszer˝uen v´alasztja a lapok k¨oz¨ul.

Az igazi Page Rank algoritmust a kezdeti Google(http ://www.google.com) keres˝orendszer haszn´alta a tal´alt oldalak rangsorol´as´ahoz. A keres˝orendszerr˝ol r´eszletesebb le´ır´as tal´alhat´o a [23] cikkben.

In document Magyar nyelv˝ u irodalom (Pldal 191-195)