Luku 9. Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa

Samankaltaiset tiedostot
Tämän luvun sisältö. Luku 9. Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa. Webin lyhyt historia 1992: ensimmäisiä selaimia

Etsintä verkosta (Searching from the Web) T Datasta tietoon Heikki Mannila, Jouni Seppänen

Etsintä verkosta (Searching from the Web) T Datasta tietoon Jouni Seppänen

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea.

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Arvostus Verkostoissa: PageRank. Idea.

Matematiikka ja teknologia, kevät 2011

Ratkaisuehdotukset LH 3 / alkuvko 45

Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa Linkkikeskukset ja auktoriteetit (hubs and authorities) -algoritmi

MS-A0004/A0006 Matriisilaskenta

ax + y + 2z = 0 2x + y + az = b 2. Kuvassa alla on esitetty nesteen virtaus eräässä putkistossa.

MS-A0004/MS-A0006 Matriisilaskenta Laskuharjoitus 6 / vko 42

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Internet. Tiedon haun tekniikkaa ja ongelmia. Tietotekniikan perusteet Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen

Ominaisarvo-hajoitelma ja diagonalisointi

MS-A0003/A Matriisilaskenta Laskuharjoitus 6

Ratkaisuehdotukset LH 10 / vko 48

Matriisialgebra harjoitukset, syksy 2016

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

[6.2 Hypertekstin tiedonhakumalleja (jatkoa)] ARC algoritmi: 3º Linkkitekstin huomiointi

Milloin A diagonalisoituva?

Ortogonaalisen kannan etsiminen

Matriisihajotelmat. MS-A0007 Matriisilaskenta. 5.1 Diagonalisointi. 5.1 Diagonalisointi

Numeeriset menetelmät TIEA381. Luento 5. Kirsi Valjus. Jyväskylän yliopisto. Luento 5 () Numeeriset menetelmät / 28

Linkit webbihauissa / PageRank

Talousmatematiikan perusteet: Luento 13. Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

Differentiaaliyhtälöt II, kevät 2017 Harjoitus 5

Harjoitus 3 ( )

Paikannuksen matematiikka MAT

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

Konjugaattigradienttimenetelmä

Ratkaisuehdotukset LH 7 / vko 47

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

MS-C1340 Lineaarialgebra ja

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1

URL-osoitteiden suunnittelu

Numeeriset menetelmät

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Matematiikka B2 - Avoin yliopisto

Harjoitus 3 ( )

Ominaisarvoon 4 liittyvät ominaisvektorit ovat yhtälön Ax = 4x eli yhtälöryhmän x 1 + 2x 2 + x 3 = 4x 1 3x 2 + x 3 = 4x 2 5x 2 x 3 = 4x 3.

Kohdeyleisö: toisen vuoden teekkari

5 OMINAISARVOT JA OMINAISVEKTORIT

Harjoitus Tarkastellaan luentojen Esimerkin mukaista työttömyysmallinnusta. Merkitään. p(t) = hintaindeksi, π(t) = odotettu inflaatio,

Algoritmit 2. Luento 11 Ti Timo Männikkö

TIEDONHAKU INTERNETISTÄ

Tietorakenteet, laskuharjoitus 10, ratkaisuja. 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

Matemaattinen Analyysi / kertaus

Numeeriset menetelmät

Matriisi-vektori-kertolasku, lineaariset yhtälöryhmät

MAB3 - Harjoitustehtävien ratkaisut:

Ominaisarvo ja ominaisvektori

Neliömatriisi A on ortogonaalinen (eli ortogonaalimatriisi), jos sen alkiot ovat reaalisia ja

Ortogonaaliset matriisit, määritelmä 1

8 KANNAT JA ORTOGONAALISUUS. 8.1 Lineaarinen riippumattomuus. Vaasan yliopiston julkaisuja 151

Matriisilaskenta Luento 16: Matriisin ominaisarvot ja ominaisvektorit

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 3 /

3.2.2 Tikhonovin regularisaatio

Matematiikka B2 - TUDI

1 Kannat ja kannanvaihto

Algoritmit 1. Luento 9 Ti Timo Männikkö

Iteratiiviset ratkaisumenetelmät

2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti.

Esimerkki 19. Esimerkissä 16 miniminormiratkaisu on (ˆx 1, ˆx 2 ) = (1, 0).

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Rinnakkaistietokoneet luento S

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35

Algoritmit 2. Luento 13 Ti Timo Männikkö

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A)

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto)

Katsaus konepellin alle - iteratiivisia menetelmiä ominaisarvotehtävälle

4. Lasketaan transienttivirrat ja -jännitteet kuvan piiristä. Piirielimien arvot ovat C =

Talousmatematiikan perusteet: Luento 14. Rajoittamaton optimointi Hessen matriisi Ominaisarvot Ääriarvon laadun tarkastelu

Inversio-ongelmien laskennallinen peruskurssi Luento 7 8

SANAKIRJA # S E O H A L T U UN # B L O G G A A J A NSEO # S E O J A S M O

Matriisiteoria Harjoitus 1, kevät Olkoon. cos α sin α A(α) = . sin α cos α. Osoita, että A(α + β) = A(α)A(β). Mikä matriisi A(α)A( α) on?

Esimerkki 4.4. Esimerkki jatkoa. Määrää matriisin ominaisarvot ja -vektorit. Ratk. Nyt

Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe Ratkaisuehdotus. 1. (35 pistettä)

MS-A0205/MS-A0206 Differentiaali- ja integraalilaskenta 2 Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Lineaarialgebra II, MATH.1240 Matti laaksonen, Lassi Lilleberg

VERKKORAKENTEEN VAIKUTUKSIA KAIKKI SOLMUT EIVÄT OLE SAMANLAISIA

Hankeviestijä hakukoneiden ihmeellisessä maailmassa. Joonas Jukkara, SEOSEON Ltd.

Oma kartta Google Maps -palveluun

Laskennallinen data-analyysi II

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

Harj 2 teht. 13. mplv0009r.mw

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I

Päättelyn voisi aloittaa myös edellisen loppupuolelta ja näyttää kuten alkupuolella, että välttämättä dim W < R 1 R 1

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia

Search space traversal using metaheuristics

Ohjelmoinnin peruskurssi Y1

Similaarisuus. Määritelmä. Huom.

Numeeriset menetelmät

2v 1 = v 2, 2v 1 + 3v 2 = 4v 2.. Vastaavasti ominaisarvoa λ 2 = 4 vastaavat ominaisvektorit toteuttavat. v 2 =

Seuraavassa taulukossa on annettu mittojen määritelmät ja sijoitettu luvut. = 40% = 67% 6 = 0.06% = 99.92% 6+2 = 0.

T Luonnollisten kielten tilastollinen käsittely

Transkriptio:

1 / 31 Luku 9. Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa T-61.2010 Datasta tietoon, syksy 2011 professori Heikki Mannila Tietojenkäsittelytieteen laitos, Aalto-yliopisto 1.12.2011

2 / 31 Tämän luvun sisältö 1 Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa Webin lyhyt historia Etsintä verkosta Keskukset ja auktoriteetit PageRank Muista T-ohjelman kurssipalaute (+1 piste joulu- ja tammikuun tenttiin): http://www.cs.hut.fi/opinnot/palaute/kurssipalaute.html

3 / 31 Webin lyhyt historia 1989: Tim Berners-Lee Maaliskuussa 1989 Tim Berners-Lee jätti ehdotuksen CERNin tiedonhallintajärjestelmäksi Esimiehen kommentti: epämääräinen mutta kiinnostava... Proposal.html

4 / 31 Webin lyhyt historia 1992: ensimmäisiä selaimia Syksyllä 1992 info.cern.ch kertoi uusista palvelimista ja sivuista http://www.w3.org/history/...

5 / 31 Webin lyhyt historia Linkkikokoelmia Jerry and David s Guide to the World Wide Web. Myöhemmin nimellä Yahoo; iso käsin ylläpidetty lista webbiosoitteita. vanhoja sivustoja

6 / 31 Webin lyhyt historia Altavista oli 1990-luvun Hakukone Digital teki Altavistan mainostaakseen servereitään: Näillä voi indeksoida vaikka koko webin. Altavistalla webbisivujen etsiminen muuttui paljon helpommaksi, mutta vastaukset tulivat melko satunnaisessa järjestyksessä.

7 / 31 Webin lyhyt historia 1998: Google Google keksi, miten hakutulokset järjestetään hyödyllisyyden mukaan.

8 / 31 Etsintä verkosta Miten löydetään verkosta hyviä sivuja, jotka kertovat vaikkapa tiedon louhinnasta? Ensimmäiset menetelmät skaalautuivat huonosti: info.cern.ch: ilmoitustaulu uusista sivuista Yahoo: käsin toimitettu hakemisto Annettuna kysely data mining Miten löydetään automaattisesti sivut, joilla nuo sanat esiintyvät (tai esiintyvät peräkkäin)? Miten löydetään näistä sivuista hyödyllisimmät?

9 / 31 Etsintä verkosta Sanahaku Merkkijonomenetelmät ( string algorithms ): paljon hauskoja algoritmeja Esivalmisteluna käydään koko verkko läpi seuraamalla linkkejä Kullakin sanalla X tallennetaan lista sivuista, joilla X esiintyy Kyselyyn X ja Y vastattessa käydään kummankin sanan osoitelistat läpi ja palautetaan ne osoitteet, jotka esiintyvät molemmissa. Käytännössä hankalampaa kuin näyttää paperilla: dataa on paljon, vastaus pitäisi saada alle sekunnissa. Paljon mielenkiintoista tekniikkaa, katso esim. http://research.google.com/pubs/papers.html

10 / 31 Etsintä verkosta Relevanssi Results 1 10 of about 50,300,000 Vanha tapa ratkaista ongelma: käyttäjä tarkentaa kyselyä lisäämällä ovelasti valittuja sanoja ja operaattoreilla AND, OR, NOT, NEAR. Miten valitaan ne sivut, jotka näytetään ensimmäiseksi? Heuristiikkoja: Sanojen esiintymisfrekvenssi (huono idea) Sivu on hyvä, jos siihen viitataan paljon Sivu on hyvä lähde asiasta X, jos X mainitaan sivuun viittaavissa linkeissä (eli ihminen on tehnyt jo arvioinnin)

11 / 31 Keskukset ja auktoriteetit Hubs and authorities : Jon M. Kleinberg: Authoritative Sources in a Hyperlinked Environment, IBM Research Report 1997; SODA 1998 http://scholar.google.fi/ Hyvillä auktoriteetti-sivuilla on paljon yhteisiä linkittäjiä eli keskuksia. Hyvä keskus osoittaa hyvää arvostelukykyä linkittämällä hyviin auktoriteetteihin

12 / 31 Keskukset ja auktoriteetit Etsitään ensin parhaiden sivujen ja linkkien joukot Etsitään ensin sivut, joilla X ja Y esiintyy Otetaan näistä heuristiikkojen perusteella esim. 200 parasta; olkoon tämä sivujen ydinjoukko S Muodostetaan joukko T : S ja sivut jotka viittaavat johonkin joukon S sivuun ja sivut joihin jokin S:n sivu viittaa (katso kuva alla) 6 2 5 9 10 14 12 S 1 3 T 4 S 7 8 11 13 15 Kuva: Keskukset ja auktoriteetit. Ydinjoukko S laajennettuna sivuilla, joihin tai joista on linkki.

13 / 31 Keskukset ja auktoriteetit (2) Etsitään ensin parhaiden sivujen ja linkkien joukot Tarkastellaan joukkoa T verkkona: solmuina sivut, kaarina linkit (suunnattuja kaaria) Olkoon E verkon T kaarien joukko: (u, v) E kun sivulta u on linkki sivulle v Pelkkä sivuun osoittavien linkkien määrä ei ole kovin hyvä relevanssin mittari

Keskukset ja auktoriteetit Periaate Periaate: Hyvä keskus osoittaa hyviin auktoriteetteihin Hyviin auktoriteetteihin tulee linkkejä hyvistä keskuksista Kehämääritelmä? 14 / 31

Keskukset ja auktoriteetit Hyvien keskusten ja auktoriteettien laskenta iteratiivisesti Kehämääritelmästä selvitään iteratiivisella menetelmällä (vrt. c-means, Luku 6) Kullekin joukon T sivulle s määritellään keskuspaino k s ja auktoriteettipaino a s Tarvitaan jotkin alkuarvot: a s = k s = 1 n, s T Iteratiiviset päivityssäännöt: a s k t, k s t T, (t,s) E t T, (s,t) E a t 15 / 31

16 / 31 Keskukset ja auktoriteetit (2) Hyvien keskusten ja auktoriteettien laskenta iteratiivisesti Eli sivun s auktoriteettipainoa varten summataan kaikki keskuspainot niistä sivuista, joista on linkki sivulle s. Sivun s keskuspaino päivitetään vastaavasti summaamalla sivun s linkkaamien sivujen auktoriteettipainot Joka iteraatiossa skaalataan painojen neliöiden summat ykkösiksi as 2 = 1, ks 2 = 1 s T s T

17 / 31 Keskukset ja auktoriteetit Hyvien keskusten ja auktoriteettien laskenta matriiseilla Edellä saadut iterointikaavat voidaan kirjoittaa helposti myös matriisimuodossa Ajatellaan painoja vektoreina a = (a s ) s T, k = (k s ) s T ja verkko matriisina M M = (1, jos (s, t) E, muuten 0) Nyt iteraation päivityssäännöt voidaan kirjoittaa: a M T k, k Ma

18 / 31 Keskukset ja auktoriteetit (2) Hyvien keskusten ja auktoriteettien laskenta matriiseilla Ottaen huomioon skaalauksen ykköseksi voidaan kirjoittaa koko iterointisääntö: M1 M1 a MT k M T k, k Ma Ma Ajetaan iteraatiota läpi muutama kierros, kun alustuksena 1 a 1 { { M T 1 MT 1 a 1... MMT 1 a 1... MT MM T 1 k 1 k 1... MT M1 k 1... MMT M1 Siis i:n iteraation jälkeen a = 1... (MT M) i 1

19 / 31 Keskukset ja auktoriteetit (3) Hyvien keskusten ja auktoriteettien laskenta matriiseilla Pieni esimerkki Matriisi M T M on symmetrinen, joten sillä on reaaliset ominaisarvot ja -vektorit ja se voidaan diagonalisoida M T M = VD n V T missä D = diag(λ 1,..., λ n ) Teknisellä oletuksella λ 1 > λ 2 saadaan (M T M) i 1 = VD i V T 1 V diag(λ i 1, 0,..., 0) V T 1 = (λ i 1 vt 1 1)v 1 Siis a on matriisin M T M suurinta ominaisarvoa vastaava ominaisvektori Vastaavasti k on matriisin MM T ominaisvektori Ominaisvektorit voitaisiin esim. Matlabissa funktiolla [V, D] = eig(m *M)

20 / 31 Keskukset ja auktoriteetit Tuloksia Kleinbergin paperista Auktoriteetteja (ylempi kuva) Toinen sovellus (alempi kuva): Samankaltaisten sivujen löytäminen: sen sijasta, että aloitettaisiin sanahaun löytämistä sivuista, aloitetaan johonkin sivuun linkittävistä sivuista.

21 / 31 PageRank Sergey Brin and Larry Page, 1998 (Google) The Anatomy of a Large-Scale Hypertextual Web Search Engine Wikipedia: PageRank Sivu on relevantti, jos relevantit sivut viittaavat siihen. Kehämääritelmä? (Jälleen tehdään iteratiivinen menetelmä)

22 / 31 PageRank Laskenta Jos sivulta t on linkit sivuille s 1, s 2,..., s k, sivun t relevanssista r välittyy 1/k jokaiselle näistä sivuista Esimerkiksi universumin neljä sivua, niiden nykyiset relevanssit, linkit ja välittyvät relevanssit

23 / 31 PageRank (2) Laskenta Siis relevanssivektori ( PageRank ) r F r, missä matriisin F määrittelee { 1/deg(t), jos t:stä on linkki s:ään F s,t = 0, muuten jossa deg(t) on linkkien määrä eli k yllä Sopivilla oletuksilla r on F:n suurinta ominaisarvoa vastaava ominaisvektori, joten iteraatio konvergoi Toinen tulkinta: Satunnainen surffailija aloittaa joltain sivulta ja seuraa linkkejä satunnaisesti. Sivun relevanssi on todennäköisyys, jolla surffailija päätyy sivulle (pitkän ajan kuluessa). Entä jos...

24 / 31 PageRank (3) Laskenta

25 / 31 PageRank (4) Laskenta Jos sivusta ei ole linkkejä minnekään, lisätään linkit kaikkialle. Tässä n on sivujen määrä. 1/deg(t), jos t:stä on linkki s:ään F s,t = 1/n, jos t:stä ei ole linkkejä minnekään 0, muuten Lisätään linkkejä saman tien kaikkialle: sallitaan surffaajan joskus kyllästyä (lisäksi vältytään teknisiltä hankaluuksilta konvergenssitodistuksessa) Pieni esimerkki 1 ɛ deg(t) + ɛ n, jos t:stä on linkki s:ään F s,t = 1/n, jos t:stä ei ole linkkejä minnekään ɛ/n, muuten

26 / 31 PageRank (5) Laskenta Altavistan käyttäjät jaksoivat lukea tuloksia monelta sivulta, Googlen käyttäjät katsovat vain muutamaa ensimmäistä

27 / 31 Yhteenveto Tässä luvussa keskusteltiin merkitsevien webbisivujen löytämisestä sivujen linkityksen perusteella. Keskusten ja auktoriteettien algoritmissa periaattena on, että hyvät keskukset linkittävät hyviin auktoriteetteihin ja vastaavasti hyviin auktoriteetteihin tulee linkkejä hyvistä keskuksista. PageRank-algoritmi laskee sivujen relevanssia satunnaisen surffailijan tavoin. Algoritmi on käytössä Googlessa.

Liite: Kuvia esitykseen, luku 9 28 / 31 Esimerkki keskuksista ja auktoriteeteista Tutkitaan oheista verkkoa, jonka kaarien matriisi M, M(i, j) = 1, jos olemassa kaari (s i, s j ). Oikeanpuoleisessa kuvassa vasemman puolen solmujen koko viittaa laskettuun keskuspainoon ja oikean puolen solmujen koko auktoriteettipainoon. Seuraavilla kalvoilla Matlab-koodi ja tulokset. 6 5 4 3 2 1 11 10 9 8 7 Kuva: Keskukset ja auktoriteetit. (a) Lähtötilanne. (b) Keskuspainot k 1,..., k 6 ja auktoriteettipainot a 7,... a 11 6 5 4 3 2 1 11 10 9 8 7

Liite: Kuvia esitykseen, luku 9 29 / 31 Esimerkki keskuksista ja auktoriteeteista Matlab-koodi M = [ 0 0 0 0 0 0 1 1 1 0 0; <M-matriisi> ]; % M(i,j)=1 <=> s_i-->s_j n = size(m,1); a = ones(n,1)/sqrt(n); k = ones(n,1)/sqrt(n); % auktoriteettipainot % keskuspainot for s = 1 : 20 aold = a; kold = k; anew = M *k; knew = M*a; % paivitys a = anew/sqrt(sum(anew.^2)); % skaalaus k = knew/sqrt(sum(knew.^2)); disp([ Kierros: num2str(s)]); disp([ Muutos: num2str(sum((a-aold).^2)), num2str(sum((k-kold).^2))]); disp([ # aukt kesk alku ]); disp([(1:n) a k ones(n,1)/sqrt(n)]) pause; end

Liite: Kuvia esitykseen, luku 9 30 / 31 Esimerkki keskuksista ja auktoriteeteista Tulokset Kierros: 20 Muutos: 1.2917e-15, 1.911e-14 # aukt kesk alku 1.0000 0 0.5583 0.3015 2.0000 0 0.4877 0.3015 3.0000 0 0.2659 0.3015 4.0000 0 0.2219 0.3015 5.0000 0 0.4877 0.3015 6.0000 0 0.3043 0.3015 7.0000 0.1985 0 0.3015 8.0000 0.6241 0 0.3015 9.0000 0.7479 0 0.3015 10.0000 0 0 0.3015 11.0000 0.1082 0 0.3015 Takaisin kalvoihin

Liite: Kuvia esitykseen, luku 9 31 / 31 Esimerkki PageRank:sta 1 ɛ deg(t) + ɛ n, jos t:stä on linkki s:ään F s,t = 1/n, jos t:stä ei ole linkkejä minnekään ɛ/n, muuten Kuva: PageRank-esimerkki. Varsinaiset linkit paksummalla viivalla ja nuolella.