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

Samankaltaiset tiedostot
Luku 9. Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa

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

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

Ratkaisuehdotukset LH 3 / alkuvko 45

MS-A0004/A0006 Matriisilaskenta

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

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

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

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

Ominaisarvo-hajoitelma ja diagonalisointi

MS-A0003/A Matriisilaskenta Laskuharjoitus 6

Matriisialgebra harjoitukset, syksy 2016

Ratkaisuehdotukset LH 10 / vko 48

Ratkaisuehdotukset LH 7 / vko 47

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

Milloin A diagonalisoituva?

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

Ortogonaalisen kannan etsiminen

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

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

URL-osoitteiden suunnittelu

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

Konjugaattigradienttimenetelmä

Numeeriset menetelmät

Harjoitus 3 ( )

Matematiikka B2 - Avoin yliopisto

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.

. 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

5 OMINAISARVOT JA OMINAISVEKTORIT

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

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Kohdeyleisö: toisen vuoden teekkari

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

MS-C1340 Lineaarialgebra ja

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

MAB3 - Harjoitustehtävien ratkaisut:

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

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

Ortogonaaliset matriisit, määritelmä 1

Ominaisarvo ja ominaisvektori

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

Matriisilaskenta Luento 16: Matriisin ominaisarvot ja ominaisvektorit

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 3 /

3.2.2 Tikhonovin regularisaatio

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

Matematiikka B2 - TUDI

1 Kannat ja kannanvaihto

Iteratiiviset ratkaisumenetelmät

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

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

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

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

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ä)

Lineaarialgebra II, MATH.1240 Matti laaksonen, Lassi Lilleberg

VERKKORAKENTEEN VAIKUTUKSIA KAIKKI SOLMUT EIVÄT OLE SAMANLAISIA

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

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

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

S Laskennallinen Neurotiede

Laskennallinen data-analyysi II

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

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

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 1. Luento 9 Ti Timo Männikkö

Harj 2 teht. 13. mplv0009r.mw

MS-C1340 Lineaarialgebra ja differentiaaliyhtälö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.

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

Similaarisuus. Määritelmä. Huom.

T Luonnollisten kielten tilastollinen käsittely

Numeeriset menetelmät

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

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

10 yleistä hakukoneoptimointivirhettä

Matriisit ja vektorit Matriisin käsite Matriisialgebra. Olkoon A = , B = Laske A + B, , 1 3 3

Sisätuloavaruudet. 4. lokakuuta 2006

Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa

(a) Järjestellään yhtälöitä siten, että vasemmalle puolelle jää vain y i ja oikealle puolelle muut

Kurssikoe on maanantaina Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla.

B U S I N E S S O U L U

Osallistavan suunnittelun kyselytyökalu

Transkriptio:

Tämän luvun sisältö Luku 9. Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa T-6.200 Datasta tietoon, syksy 20 professori Heikki Mannila Tietojenkäsittelytieteen laitos, Aalto-yliopisto.2.20 Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa Etsintä verkosta PageRank Muista T-ohjelman kurssipalaute (+ piste joulu- ja tammikuun tenttiin): http://www.cs.hut.fi/opinnot/palaute/kurssipalaute.html / 3 2 / 3 989: Tim Berners-Lee 992: ensimmäisiä selaimia Maaliskuussa 989 Tim Berners-Lee jätti ehdotuksen CERNin tiedonhallintajärjestelmäksi Esimiehen kommentti: epämääräinen mutta kiinnostava... Proposal.html Syksyllä 992 info.cern.ch kertoi uusista palvelimista ja sivuista http://www.w3.org/history/... 3 / 3 4 / 3

Linkkikokoelmia Altavista oli 990-luvun Hakukone Jerry and David s Guide to the World Wide Web. Myöhemmin nimellä Yahoo; iso käsin ylläpidetty lista webbiosoitteita. vanhoja sivustoja 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ä. 5 / 3 6 / 3 998: Google Etsintä verkosta Google keksi, miten hakutulokset järjestetään hyödyllisyyden mukaan. 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? 7 / 3 8 / 3

Etsintä verkosta Sanahaku Etsintä verkosta Relevanssi 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 Results 0 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) 9 / 3 0 / 3 Etsitään ensin parhaiden sivujen ja linkkien joukot Hubs and authorities : Jon M. Kleinberg: Authoritative Sources in a Hyperlinked Environment, IBM Research Report 997; SODA 998 http://scholar.google.fi/ Hyvillä auktoriteetti-sivuilla on paljon yhteisiä linkittäjiä eli keskuksia. Hyvä keskus osoittaa hyvää arvostelukykyä linkittämällä hyviin auktoriteetteihin 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) S 2 3 T 4 6 5 S 7 8 9 0 2 3 4 5 Kuva:. Ydinjoukko S laajennettuna sivuilla, joihin tai joista on linkki. / 3 2 / 3

(2) Etsitään ensin parhaiden sivujen ja linkkien joukot Periaate 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 Periaate: Hyvä keskus osoittaa hyviin auktoriteetteihin Hyviin auktoriteetteihin tulee linkkejä hyvistä keskuksista Kehämääritelmä? 3 / 3 4 / 3 Hyvien keskusten ja auktoriteettien laskenta iteratiivisesti (2) 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 = 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 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 =, ks 2 = s T s T 5 / 3 6 / 3

Hyvien keskusten ja auktoriteettien laskenta matriiseilla Edellä saadut iterointikaavat voidaan kirjoittaa helposti myös matriisimuodossa Ajatellaan painoja vektoreina a = (a s ) s T, ja verkko matriisina M k = (k s ) s T M = (, jos (s, t) E, muuten 0) Nyt iteraation päivityssäännöt voidaan kirjoittaa: (2) Hyvien keskusten ja auktoriteettien laskenta matriiseilla Ottaen huomioon skaalauksen ykköseksi voidaan kirjoittaa koko iterointisääntö: a MT k M T k, k Ma Ma Ajetaan iteraatiota läpi muutama kierros, kun alustuksena a { { M T MT a... MMT a... MT MM T k k... MT M k... MMT M M M Siis i:n iteraation jälkeen a M T k, k Ma a =... (MT M) i 7 / 3 8 / 3 (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(λ,..., λ n ) Teknisellä oletuksella λ > λ 2 saadaan (M T M) i = VD i V T V diag(λ i, 0,..., 0) V T = (λ i vt )v 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) 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. 9 / 3 20 / 3

PageRank PageRank Sergey Brin and Larry Page, 998 (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ä) Jos sivulta t on linkit sivuille s, s 2,..., s k, sivun t relevanssista r välittyy /k jokaiselle näistä sivuista Esimerkiksi universumin neljä sivua, niiden nykyiset relevanssit, linkit ja välittyvät relevanssit 2 / 3 22 / 3 PageRank (2) PageRank (3) Siis relevanssivektori ( PageRank ) r F r, missä matriisin F määrittelee { /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... 23 / 3 24 / 3

PageRank (4) PageRank (5) Jos sivusta ei ole linkkejä minnekään, lisätään linkit kaikkialle. Tässä n on sivujen määrä. /deg(t), jos t:stä on linkki s:ään F s,t = /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 ɛ deg(t) + ɛ n, jos t:stä on linkki s:ään F s,t = /n, jos t:stä ei ole linkkejä minnekään ɛ/n, muuten Altavistan käyttäjät jaksoivat lukea tuloksia monelta sivulta, Googlen käyttäjät katsovat vain muutamaa ensimmäistä 25 / 3 26 / 3 Yhteenveto Liite: Kuvia esitykseen, luku 9 Esimerkki keskuksista ja auktoriteeteista 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. Tutkitaan oheista verkkoa, jonka kaarien matriisi M, M(i, j) =, 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 0 9 8 7 Kuva:. (a) Lähtötilanne. (b) Keskuspainot k,..., k 6 ja auktoriteettipainot a 7,... a 6 5 4 3 2 0 9 8 7 27 / 3 28 / 3

Liite: Kuvia esitykseen, luku 9 Esimerkki keskuksista ja auktoriteeteista Matlab-koodi Liite: Kuvia esitykseen, luku 9 Esimerkki keskuksista ja auktoriteeteista Tulokset M = [ 0 0 0 0 0 0 0 0; <M-matriisi> ]; % M(i,j)= <=> s_i-->s_j n = size(m,); a = ones(n,)/sqrt(n); k = ones(n,)/sqrt(n); % auktoriteettipainot % keskuspainot for s = : 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([(:n) a k ones(n,)/sqrt(n)]) pause; end Kierros: 20 Muutos:.297e-5,.9e-4 # aukt kesk alku.0000 0 0.5583 0.305 2.0000 0 0.4877 0.305 3.0000 0 0.2659 0.305 4.0000 0 0.229 0.305 5.0000 0 0.4877 0.305 6.0000 0 0.3043 0.305 7.0000 0.985 0 0.305 8.0000 0.624 0 0.305 9.0000 0.7479 0 0.305 0.0000 0 0 0.305.0000 0.082 0 0.305 Takaisin kalvoihin 29 / 3 30 / 3 Liite: Kuvia esitykseen, luku 9 Esimerkki PageRank:sta ɛ deg(t) + ɛ n, jos t:stä on linkki s:ään F s,t = /n, jos t:stä ei ole linkkejä minnekään ɛ/n, muuten Kuva: PageRank-esimerkki. Varsinaiset linkit paksummalla viivalla ja nuolella. Takaisin kalvoihin 3 / 3