La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Motori di Ricerca presente e futuro prossimo

Presentazioni simili


Presentazione sul tema: "Motori di Ricerca presente e futuro prossimo"— Transcript della presentazione:

1 Motori di Ricerca presente e futuro prossimo
Rilevanza dei Risultati: Prima generazione Paolo Ferragina, Università di Pisa

2 Problemi sul Web nel catturare “pagine rilevanti”
Crescita del Web: 110,000 pagine del mld pagine del 2005 Crescita proporzionale del numero delle risposte !! Utenti guardano a poche risposte: 85% guardano solo ai primi 10 risultati. Concetto di rilevanza difficile da “catturare”: Dipende dall’utente che formula la interrogazione Dipende dall’istante di formulazione della interrogazione Contenuto pagine eterogeneo: lingua, tipo (pdf, doc, jpg,..) Il motore deve “inferire user need” da vari elementi !! Paolo Ferragina, Università di Pisa

3 Rilevanza derivata dal contenuto
Per ogni occorrenza di una parola si memorizzano: Luogo URL: Titolo pagina Testo hyperlink: “Città di Pisa” Metatag: autore, data,... Assegnamo il “peso” a ogni termine e sommiamo i contributi per ogni pagina Tipo Dimensione e tipo di carattere Maiuscolo o minuscolo Informazioni sulla “frequenza” Paolo Ferragina, Università di Pisa

4 Frequenza “binaria” o “completa”
Ma le Leggi di Zipf e di Luhn ci suggeriscono che dobbiamo pesare molto i termini che sono frequenti in documenti rilevanti ma rari nella intera collezione Paolo Ferragina, Università di Pisa

5 Infatti La frequenza nel singolo documento non aiuta…
10 occorrenze di culla 10 occorrenze di e Per ogni coppia <termine,documento> assegnamo un peso che riflette l’importanza del termine in quel documento Il peso cresce con il “numero di occorrenze” del termine entro quel documento Il peso cresce con la “rarità” del termine fra tutti i documenti della collezione Paolo Ferragina, Università di Pisa

6 Un “peso” famoso: tf x idf
= Frequenza del termine i nel documento j ij æ n ö idf = log ç ÷ dove ni = #documenti che contengono il termine i n = #documenti della collezione i è n ø i Termine ti ha associato un vettore D-dim: [ wi1, wi2, ..., wiD] Documento Dj ha associato un vettore T-dim: [ w1j, w2j, ..., wTj] Paolo Ferragina, Università di Pisa

7 Come usiamo questi pesi ?
Data una interrogazione sui termini th e tk potremmo: Sommare whj e wkj per ogni documento dj che li contiene, o utilizzare un’altra funzione dei due valori Pesare l’importanza di th e tk all’interno della query e quindi calcolare una combinazione lineare di whj e wkj. Interpretare ogni documento e la query come vettori, e postulare la similarità tra doc-query in base alla loro vicinanza euclidea o tramite altra misura correlata. Paolo Ferragina, Università di Pisa

8 Documenti come vettori
1.0 0.8 0.6 0.4 0.2 0.2 0.4 0.6 0.8 1.0 Paolo Ferragina, Università di Pisa

9 Similarità tra Doc e Interrogazione
1.0 0.8 0.6 0.4 0.2 0.2 0.4 0.6 0.8 1.0 Paolo Ferragina, Università di Pisa

10 Documenti come vettori
Paolo Ferragina, Università di Pisa

11 Alcune osservazioni…. Non c’è una reale base teorica per il modello vettoriale I termini non sono relamente indipendenti Siccome Q consiste di pochi termini ti, non la confrontiamo con tutti i docs, ma piuttosto: Lista invertita per prendere docs Dj che li contengono Estraiamo da ogni Dj il peso wij , relativo ai ti che contiene Combiniamo “in qualche modo” i contributi, per conoscere la “similarità” tra Q e Dj indotta dalle frequenze locali e globali Paolo Ferragina, Università di Pisa

12 Un altro peso: Anchor text
Indicizziamo i virtual doc costruiti concatenando gli anchor text dei link che puntano a una determinata pagina Immagine di una tigre Qui trovate una bella immagine di una tigre Ganza pagina con immagini sulle tigri NOTA: Il testo nella vicinanza di un hyperlink è molto descrittivo del contenuto della pagina a cui esso fa riferimento ! Paolo Ferragina, Università di Pisa

13 Ricapitolando Per ogni occorrenza di una parola si memorizzano:
Luogo Tipo TF x Idf I motori di prima generazione usavano questi pesi per inferire la similarità dei documenti con la query Poi ordinavano le risposte (docs) in accordo a questa Paolo Ferragina, Università di Pisa

14 Motori di Ricerca presente e futuro prossimo
Rilevanza dei Risultati: Seconda generazione Paolo Ferragina, Università di Pisa

15 Sfruttare gli hyperlink
Problema: Molte pagine contengono le parole in Q ma sono “non rilevanti” oppure includono parole “diverse” dal loro contenuto (spamming). Altre pagine sono sì rilevanti ma non contengono le parole di Q oppure non contengono testo, ma solo p.e. immagini o form. Web Hyperlink  Citazione Paolo Ferragina, Università di Pisa

16 Analisi degli hyperlink
Due approcci fondamentali Indipendente dalla interrogazione Se due pagine contengono le parole di Q, una sarà sempre migliore dell’altra indipendentemente da Q (Pagerank di Google) Dipendente dalla interrogazione Se due pagine contengono le parole di Q, una sarà migliore dell’altra a seconda del contenuto di Q (HITS di IBM e Teoma) Paolo Ferragina, Università di Pisa

17 PageRank (Google) Pagina rilevante se:
Molte pagine puntanto a essa (popolare) Alcune pagine “rilevanti” puntano a essa (élite) p p1 p2 pn u1 I(p1) + I(p2) I(pn) u1 u2 un I(p) = (1-q) + q Calcolato su tutte le pagine e in modo iterativo (~100) Attenti ai Blog ! Paolo Ferragina, Università di Pisa

18 Un esempio: passo iniziale
q = 0.15 Page A 1 Page C Page B Page D 1*0.85/2 1*0.85 Paolo Ferragina, Università di Pisa

19 Esempio: dopo 20 iterazioni
q = 0.15 Page A 1.490 Page B 0.783 Page C 1.577 Page D 0.15 Sarebbe necessario, in verità, cambiare +q in +(q/#pagine) questo garantisce che il vettore dei pesi uscenti ha somma 1, e quindi (Teorema) il PageRank è una distribuzione di probabilità Paolo Ferragina, Università di Pisa

20 HITS (IBM) A seguito di una interrogazione si cercano due insiemi “correlati” di pagine: Pagine Hub = pagine che contengono una buona lista di link sul soggetto della interrogazione. Pagine Authority = pagine che occorrono ripetutamente nelle liste contenute dei buoni Hubs. Si tratta di una definizione circolare che quindi richiede una computazione iterativa Paolo Ferragina, Università di Pisa

21 HITS: Primo passo per risolvere Q
Root set base set Data una interrogazione Q={ browser }, si forma il base set: Le pagine che contengono browser (root set) Le pagine collegate da o per quelle del root set Paolo Ferragina, Università di Pisa

22 HITS: Secondo passo per risolvere Q
Calcoliamo, per ogni pagina x del base set: un hub score h(x), inizializzato a 1 un authority score a(x), inizializzato a 1 Per poche iterazioni, ricalcoliamo di ogni nodo x: a(x) =  h(zi) , h(x) =  a(yi) Scaliamo i valori, e iteriamo Alla fine, restituiamo le pagine con più alto valore di h() come hubs, e di a() come authorities Costoso: Accumulo del base set e calcolo iterativo !! Controindicazioni: Facilmente soggetto a SPAM !! x y1 y2 y3 z1 z2 z3 Paolo Ferragina, Università di Pisa

23 Un esempio Autorità Hub 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Paolo Ferragina, Università di Pisa

24 Motori di Ricerca presente e futuro prossimo
Rilevanza dei Risultati: Terza generazione Paolo Ferragina, Università di Pisa

25 Nuove nozioni di Rilevanza !!!
Nuovi obiettivi Obiettivo: Integrare dati provenienti dalle sorgenti più disparate – quali, preferenze, click, affinità tra utenti, transazioni– al fine di soddisfare meglio l’interrogazione posta da un utente Esempio: Su una interrogazione come “San Francisco” il sistema dovrebbe trovare anche gli hotel o i musei, siti per le previsioni del tempo o mappe stradali, intuendo anche quali di questi è più rilevante per l’utente Tools: Ciò richiede analisi semantica, determinazione del contesto, selezione dinamica di archivi utili, confronto tra sessioni … Nuove nozioni di Rilevanza !!! Paolo Ferragina, Università di Pisa

26 Rilevanza per “affinità”
Precedenti transazioni: [Collaborative Filtering] Quali documenti/pagine sono state visitate, anche da altri utenti Quali prodotti sono stati acquistati, anche da altri utenti Pagine nei bookmarks dell’utente Contesto corrente: [User behavior] Storia della presente navigazione Ricerche già formulate dallo stesso utente Profilo: [Personalization] Professione dell’utente e informazione demografica Interessi dell’utente Esistono dei problemi di privacy !!! Paolo Ferragina, Università di Pisa

27 Ricapitolando... Data una interrogazione Q su più parole
Troviamo le pagine dove occorrono quelle parole Per ogni pagina determiniamo: Peso testuale: font, luogo, posizione, vicinanza,… Peso degli hyperlinks: grafo e anchor-text Peso dato da altri fattori: preferenze, comportamento,… Sommiamo “in qualche modo” i pesi Ordiniamo le pagine in funzione di essi  Risultati !! Offriamo possibilmente dei suggerimenti, anche semantici Questo è un motore di ricerca moderno !! (siamo alla terza generazione) Paolo Ferragina, Università di Pisa

28 Motore di Ricerca: struttura
Archivio Pagine risposte Crawler Analizzatore pagine Web Query Risolutore Indicizzatore Analizzatore Rilevanza Testo Struttura Utilità Controllo Paolo Ferragina, Università di Pisa

29 Motori di Ricerca presente e futuro prossimo
Valutazione dei Risultati Paolo Ferragina, Università di Pisa

30 Quanto è “buono” un motore di ricerca?
Alcune misure di valutazione: Costruzione: Velocità nell’indicizzazione Spazio occupato dall’indice Copertura del Web Modifica: Frequenza e ampiezza delle modifiche Interrogazione: Velocità nel produrre le risposte “Rilevanza” dei risultati: precisione e completezza Paolo Ferragina, Università di Pisa

31 Scenario generale Tutti docs Recuperati Rilevanti
Paolo Ferragina, Università di Pisa

32 Approccio classico: Precisione vs. Completezza
Precisione: % documenti recuperati che sono rilevanti Quanta “spazzatura” abbiamo recuperato Tutti docs Recuperati Rilevanti Paolo Ferragina, Università di Pisa

33 Approccio classico: Precisione vs. Completezza
Completezza: % docs rilevanti che sono recuperati Quanta “informazione” abbiamo recuperato Tutti docs Recuperati Rilevanti Paolo Ferragina, Università di Pisa

34 Precisione vs. Completezza
Tutti docs Recuperati Rilevanti Paolo Ferragina, Università di Pisa

35 Precisione vs. Completezza
recuperati Rilevanti Altissima precisione, bassissima completezza Paolo Ferragina, Università di Pisa

36 Precisione vs. Completezza
recuperati Rilevanti Bassissima precisione, bassissima completezza Paolo Ferragina, Università di Pisa

37 Precisione vs. Completezza
Rilevanti Recuperati Alta completezza, bassissima precisione Paolo Ferragina, Università di Pisa

38 Precisione vs. Completezza
Rilevanti Recuperati Alta completezza e precisione Paolo Ferragina, Università di Pisa

39 Trade-off precisione completezza x x x x
Si misura la Precisione a diversi livelli di Completezza Nota: è una MEDIA su numerose interrogazioni precisione x x x x completezza Paolo Ferragina, Università di Pisa

40 Difficoltà per il web precisione completezza x x x x
Sul Web non conosciamo la “completezza”, quindi guardiamo soltanto ai primi 10100 risultati. Su questi si gioca la “partita” !! Paolo Ferragina, Università di Pisa

41 Ognuno sceglie il suo Ranking !
Si potrebbe pensare che il problema sia legato a Google, anche se è considerato il migliore. E in effetti la situazione non è così chiara. Paolo Ferragina, Università di Pisa

42 Motori di Ricerca presente e futuro prossimo
Il quadro presente Paolo Ferragina, Università di Pisa

43 Fino a pochi anni fa... Yahoo (migliore del 1995)
Inktomi (migliore del 1997) Altavista (migliore del 1999) Lycos, Excite, Northern Light,... In Gennaio 2004, i preferiti sono Google (60 mil), Yahoo e MSN (45 mil ciascuno), AOL (23 mil), AskJeeves (13 mil). Ogni utente visita più motori di ricerca per le sue query. Paolo Ferragina, Università di Pisa

44 Alcune statistiche recenti...
In Gennaio 2004, 52% utenti indicano nella rilevanza dei risultati la cosa più importante, 33% velocità. Interfaccia non importante. Yahoo, AOL e EarthLink si appoggiano a Google e poi mixano i suoi risultati con loro tecniche per mantenere una qualche autonomia (Feb 04, Yahoo si divide da Google!) Paolo Ferragina, Università di Pisa

45 Il motore più famoso ... Paolo Ferragina, Università di Pisa

46 Cosa non è Google Indice su tutti i documenti disponibili sul Web
Nessun motore lo è Credibile in ogni cosa che ci segnala Non esiste controllo sulla pubblicazione delle pagine Perfettamente aggiornato Non riesce a seguire le modifiche giornaliere (milioni di pagine) Protetto da contenuto offensivo Dispone di un meccanismo di filtering, ma non sicuro al 100% Paolo Ferragina, Università di Pisa

47 Cosa è oggi Google Alcuni dati interessanti (NY Times, Aprile 2003):
Più di 1000 persone 54,000 server - 100,000 processor - 261,000 dischi ~4Mld pagine (1/04), 200 milioni query/giorno (30% del totale) 300 milioni di dollari di fatturato (750 nel 2003 ?) “google” è la parola più utile del 2002 [American Dialect Society] Un nuovo scenario di: Business: tra i pochissimi a fare molti profitti ! Gestione ed estrazione della conoscenza: non solo Web Problemi matematici interessanti: Qualità risposte, Efficienza, Copertura del web Nuove applicazioni (news,prodotti), Nuovi domini (audio,video) Paolo Ferragina, Università di Pisa

48 Google: Il modello di business in 2 iniziative
Search services via la Google search appliance Soluzione hardware+software per un motore di ricerca in ambito intranet o singolo website Hardware fissato e quindi limitati problemi di sviluppo e mantenimento del software Per ora disponibile soltanto in USA e Canada (??) Advertising programs ( sottoscrittori) AdSense: Un sito può fornire spazio sulla sua pagina; le pubblicità da visualizzare vengono scelte da AdSense in funzione dei contenuti della pagina così da rivolgersi a probabili clienti. Il sito riceve un pagamento in funzione del numero di click sul banner. AdWords: Una società può scegliere quanto pagare al giorno/mese e indicare le parole chiave che descrivono il suo business. Un banner viene visualizzato da Google all’atto di ricerche per quelle parole chiave, e la società paga in funzione del numero di click ricevuti. Paolo Ferragina, Università di Pisa

49 Google: altre notizie... Il nome deriva dalla parola GOOGOL, coniata da un bambino americano di 9 anni per riferirsi al numero 10100 Un po’ di storia: [ ] Esce il primo prototipo (BackRub). [ ] Nasce Google, risponde a 10,000 Qpg  3Ml Qpg [2000] 1Mld pagine e 60Ml Qpg [2001] 2Mld pagine e 100Ml Qpg, ricerche limitabili a 26 linguaggi. Introduce Image e File type search, Usenet dal 1981, Google Catalog. [2002] 2,5Mld pagine, ricerche limitabili a 40 linguaggi Intoduce AdWords, Google news, Web API, Froogle, Google Labs. [2003] 3Mld di pagine, più linguaggi supportati Il programma di business raggiunge i 100,000 sottoscrittori e viene promosso in Italia. Introduce Google AdSense, Local Search. Paolo Ferragina, Università di Pisa


Scaricare ppt "Motori di Ricerca presente e futuro prossimo"

Presentazioni simili


Annunci Google