Roolit Tommi Perälä Department of Mathematics, Hypermedia Laboratory Tampere University of Technology 25.3.2011
J. Kleinberg kehitti -algoritmin (Hypertext Induced Topic Search) hakukoneen osaksi. n taustalla on ajatus siitä, että solmulla on kaksi pääasiallista tehtävää tai roolia: informaation lähde osoittaa muihin informaation lähteinä toimiviin solmuihin Solmua pidetään auktoriteettina, jos se tarjoaa relevanttia informaatiota tietystä aiheesta. Hubiksi kutsumme solmua, joka osoittaa solmuihin, jotka ovat hyviä auktoriteetteja aiheessa. -algoritmi on iteratiivinen algoritmi, joka on kehitetty web-sivun auktoriteetti- ja hub-arvojen kvantifioimiseksi.
Olkoon I i solmuun v i osoittavien solmujen joukko, ja O i niiden solmujen joukko johon v i osoittaa. Solmun v i auktoriteetti-arvo a i määritellään siihen osoittavien solmujen hub-arvojen h j, j I i summana a i = c j I i h j = c N b ji h j, j=1 missä b ji on sosiomatriisin B alkio ja c vakio. Vastaavasti solmun v i hub-arvo määritellään niiden solmujen auktoriteetti-arvojen summana, joihin v i osoittaa h i = d j O i a j = d N b ij a j j=1 jollekin vakiolle d.
Kerätään solmujen auktoriteetti- ja hub-arvot vektoreihin a ja h. Huomataan, että a = cb T h h = dba Yhdistämällä ylläolevat saadaan missä λ = 1 cd a = cdb T Ba λa = B T Ba h = cdbb T h λh = BB T h
Aloitetaan jostain alkuarvauksesta a (0) ja h (0). a (k) = B T h (k 1) h (k) = Ba (k) Normalisoidaan ja toistetaan tarvittaessa. Jos tämä menetelmä suppenee, on a matriisin B T B suurinta ominaisarvoa vastaava ominaisvektori ja vastaavasti h matriisin BB T suurinta ominaisarvoa vastaava ominaisvektori
Välittömästi huomataan ongelmaksi tapaukset, joissa kyseiseten matriisien suurinta ominaisarvoa vastaa useampi kuin yksi ominaisvektori. -algoritmi voi myös antaa auktoriteetti-arvoksi nollan solmuille, joiden tuloaste on positiivinen. Näissä tapauksissa sanomme, että -algoritmi on huonosti käyttäytyvä.
: esimerkki 6 2 3 4 5 1
: esimerkki 6 2 3 4 5 1 a 1 = (0, 0, 0, 0, 0, 1) a 2 = (0, 1 4, 1 4, 1 4, 1 4, 0) h 1 = (0, 1 4, 1 4, 1 4, 1 4, 0) h 2 = (1, 0, 0, 0, 0, 0)
Jotta voisimme identifioida verkostot, joille -algoritmin antaa yksikäsitteisiä ja järkeviä ratkaisuja, määrittelemme auktoriteettigraafin seuraavasti. : Olkoon G = (V, E) suunnattu graafi. auktoriteettigraafi G = (V, E ) on suuntaamaton graafi, jonka solmut V ovat ne V :n solmut, joiden tuloaste on positiivinen. Kaaret E määritellään siten, että (v i, v j ) E, jos on olemassa v k V siten, että < v k, v i > E ja < v k, v j > E.
: esimerkki Alkuperäinen graafi G: 1 2 3 4
: esimerkki Alkuperäinen graafi G: 1 2 3 4 -auktoriteettigraafi G : 2 3 4
-algoritmi on huonosti käyttäytyvä, jos ja vain jos auktoriteettigraafi G on ei-yhtenäinen. Olkoon B sosiomatriisi ja C = B T B, jos järjestetään solmut siten, että tuloasteen nolla solmut laitetaan viimeiseksi, niin [ ] C 0 C = 0 0 Jos suurin ominaisarvo ei ole yksinkertainen, on C redusoituva. Huomataan, että C on redusoimaton, jos ja vain jos G on yhtenäinen.
Alkuperäinen graafi G: 1 3 2 4 a = (0, 0.20, 0.44, 0.36) h = (0.36, 0.44, 0.20, 0)
Exponentiated Input Sosiomatriisin B alkiot kertovat yhden askeleen polkujen lukumäärän solmujen välillä. Vastaavasti B m kertoo m askeleen polkujen lukumäärän. Farahat et al. esittivät algoritmista muunnoksen, jossa otetaan huomioon myös pidemmät polut. Ajatus on, että lyhyemmät polut ovat kuitenkin merkityksellisempiä kuin pitkät, joten päädyttiin käyttämään seuraavaa matriisia sosiomatriisin sijaan. B + B 2 /2! + B 3 /3! + = e B I Tällä on tiettyjä etuja, mutta periaate on sama. Kunhan vain muutettiin algoritmin sisääntuloa.
Yhtä lailla voisimme käyttää esimerkiksi matriiseja: B + B 2 /2! tai B + B 2 /2! + + B k /k! jollekin k > 2.
Osoittautuu, että käytettäessä -modifikaatiota, algoritmi käyttäytyy hyvin yhdistetyille verkostoille. Sama pätee myös, jos käytetään matriisia B + B 2 /2. Miksi?
käyttöasteen mukaan -algoritmista on myös muunnos, jossa sosiomatriisin sijaan käytetään painotettua sosiomatriisia, jossa painot määräytyvät sen mukaan kuinka monta kertaa käyttäjät tiettyä nuolta ovat seuranneet. Tätä varten tarvitaan tietysti menetelmä, jolla kerätä tällaista tietoa helposti. Näin saadun sosiomatriisin ei tarvitse vastata verkon rakennetta täydellisesti. Nollaasta poikkeavia alkioita on vain niiden nuolien kohdalla, joita käyttäjät ovat tarkasteluaikana seurailleet.
Samalla tavoin kuin PageRank-algoritmin yhteydessäkin, voidaan -algoritmi pakottaa antamaan yksikäsitteisiä ratkaisuja. Mikä tahansa verkosto voidaan muuttaa yhtenäiseksi lisäämällä pienipainoiset yhteydet kaikista solmuista kaikkiin solmuihin. Muunnettu sosiomatriisi olisi tällöin B = B + ɛu, jollekin pienelle ɛ, ja U = 1 N eet sekä e ykkösvektori.
3 1 2 4 a G = (0, 0.20, 0.44, 0.36) a Exp = (0, 0.16, 0.38, 0.45) a G2 = (0, 0.16, 0.39, 0.44) a G*,1% = (0.001, 0.20, 0.44, 0.36) h G = (0.36, 0.44, 0.20, 0) h Exp = (0.46, 0.38, 0.16, 0) h G2 = (0.44, 0.39, 0.16, 0) h G*,1% = (0.36, 0.44, 0.20, 0.001)
6 2 3 4 5 1 a Exp = (0.44, 0.14, 0.14, 0.14, 0.14, 0) a G2 = (0.44, 0.14, 0.14, 0.14, 0.14, 0) a G*,1% = (0.33, 0.17, 0.17, 0.17, 0.17, 0.001) h Exp = (0, 0.14, 0.14, 0.14, 0.14, 0.44) h G2 = (0, 0.14, 0.14, 0.14, 0.14, 0.44) h G*,1% = (0.001, 0.17, 0.17, 0.17, 0.17, 0.33)
[1] J. M. Kleinberg, Authoritative sources in a hyperlinked environment, JOURNAL OF THE ACM, vol. 46, no. 5, 1999. [2] A. Farahat, T. Lofaro, J. C. Miller, G. Rae, and L. A. Ward, Authority rankings from hits, pagerank, and salsa: Existence, uniqueness, and effect of initialization, SIAM JOURNAL ON SCIENTIFIC COMPUTING, vol. 27, no. 4, 2006. [3] J. C. Miller, G. Rae, F. Schaefer, L. A. Ward, T. LoFaro, and A. Farahat, Modifications of kleinbergs hits algorithm using matrix exponentiation and web log records, in Proceedings of the 24th annual international ACM SIGIR conference on Research and development in information retrieval, ser. SIGIR 01., 2001. [4] L. Li, Y. Shang, and W. Zhang, Improvement of hits-based algorithms on web documents, in Proceedings of the 11th international conference on World Wide Web, ser. WWW 02., 2002.