Paolo Ferragina, Università di Pisa Motori di Ricerca presente e futuro prossimo Rilevanza dei...
-
Upload
luigia-giannini -
Category
Documents
-
view
213 -
download
0
Transcript of Paolo Ferragina, Università di Pisa Motori di Ricerca presente e futuro prossimo Rilevanza dei...
Paolo Ferragina, Università di Pisa
Motori di Ricercapresente e futuro prossimo
Rilevanza dei Risultati:Prima generazione
Paolo Ferragina, Università di Pisa
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 !!
Problemi sul Web nel catturare “pagine rilevanti”
Crescita del Web: 110,000 pagine del 1994 ... 8mld pagine del 2005
Crescita proporzionale del numero delle risposte !!
Utenti guardano a poche risposte: 85% guardano solo ai primi 10 risultati.
Paolo Ferragina, Università di Pisa
Rilevanza derivata dal contenuto
Per ogni occorrenza di una parola si memorizzano: Luogo
URL: www.pisa.comune.it Titolo pagina Testo hyperlink: “Città di Pisa” Metatag: autore, data,...
Assegnamo il “peso”a ogni termine e
sommiamo i contributiper ogni pagina
Tipo Dimensione e tipo di carattere
Maiuscolo o minuscolo
Informazioni sulla “frequenza”
Paolo Ferragina, Università di Pisa
Frequenza “binaria” o “completa”
docs t1 t2 t3D1 1 0 1D2 1 0 0D3 0 1 1D4 1 0 0D5 1 1 1D6 1 1 0D7 0 1 0D8 0 1 0D9 0 0 1D10 0 1 1D11 1 0 1
docs t1 t2 t3D1 2 0 3D2 1 0 0D3 0 4 7D4 3 0 0D5 1 6 3D6 3 5 0D7 0 8 0D8 0 10 0D9 0 0 1D10 0 3 5D11 4 0 1
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
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
Un “peso” famoso: tf x idf
)/log( iijij nntfw
dove ni = #documenti che contengono il termine i n = #documenti della collezione
log
Frequenza del termine i nel documento j
nnidf
tf
i
i
ij
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
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
Documenti come vettori
1D
2D)7.0 ,2.0(
)3.0 ,8.0(
2
1
D
D
1.0
0.8
0.6
0.8
0.4
0.60.4 1.00.2
0.2
Paolo Ferragina, Università di Pisa
Similarità tra Doc e Interrogazione
2
1 1D
Q2D
98.0cos
74.0cos
)8.0 ,4.0(
)7.0 ,2.0(
)3.0 ,8.0(
2
1
2
1
Q
D
D
1.0
0.8
0.6
0.8
0.4
0.60.4 1.00.2
0.2
Paolo Ferragina, Università di Pisa
Documenti come vettori
t1
t2
t3
D1
D2
D3
D9
D7
D5
D6
Paolo Ferragina, Università di Pisa
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
Un altro peso: Anchor text
Qui trovate una bella immagine di una tigre
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 !
Indicizziamo i virtual doc costruiticoncatenando gli anchor text dei link
che puntano a una determinata pagina
Paolo Ferragina, Università di Pisa
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
Motori di Ricercapresente e futuro prossimo
Rilevanza dei Risultati:Seconda generazione
Paolo Ferragina, Università di Pisa
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.
Hyperlink Citazione
Web
Paolo Ferragina, Università di Pisa
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
PageRank (Google)
Pagina rilevante se:
Molte pagine puntanto a essa (popolare) Alcune pagine “rilevanti” puntano a essa (élite)
I(p) = (1-q) + q
Calcolato su tutte le pagine e in modo iterativo (~100)
I(p1) + I(p2) + ... + I(pn) u1 u2 un
pp1
p2
pn
u1
Attenti ai Blog !
Paolo Ferragina, Università di Pisa
Un esempio: passo iniziale
Page A 1
Page C1
Page B1
Page D1
1*0.85/2
1*0.85/21*0.85
1*0.85
1*0.85
q = 0.15
Paolo Ferragina, Università di Pisa
Esempio: dopo 20 iterazioni
Page A 1.490
Page C1.577
Page B0.783
Page D0.15
q = 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
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
HITS: Primo passo per risolvere Q
base set
Data una interrogazione Q={ browser }, si forma il base set:
1. Le pagine che contengono browser (root set)
2. Le pagine collegate da o per quelle del root set
Root set
Paolo Ferragina, Università di Pisa
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 !!
HITS: Secondo passo per risolvere Q
x
y1
y2
y3
z1
z2
z3
Paolo Ferragina, Università di Pisa
Un esempio
AutoritàHub
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Paolo Ferragina, Università di Pisa
Motori di Ricercapresente e futuro prossimo
Rilevanza dei Risultati:Terza generazione
Paolo Ferragina, Università di Pisa
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
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
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 !!
Questo è un motore di ricerca moderno !!(siamo alla terza generazione)
Offriamo possibilmente dei suggerimenti, anche semantici
Paolo Ferragina, Università di Pisa
Motore di Ricerca: struttura W
eb
Crawler
Archivio Pagine
Analizzatorepagine
Controllo
Query
RisolutoreAnalizzatoreRilevanza
TestoStruttura
Utilità
Indicizzatore
risposte
Paolo Ferragina, Università di Pisa
Motori di Ricercapresente e futuro prossimo
Valutazione dei Risultati
Paolo Ferragina, Università di Pisa
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
Scenario generale
Rilevanti
Recuperati
Tutti docs
Paolo Ferragina, Università di Pisa
Precisione: % documenti recuperati che sono rilevanti
Quanta “spazzatura” abbiamo recuperato
Approccio classico: Precisione vs. Completezza
Rilevanti
Recuperati
Tutti docs
Paolo Ferragina, Università di Pisa
Completezza: % docs rilevanti che sono recuperati
Quanta “informazione” abbiamo recuperato
Approccio classico: Precisione vs. Completezza
Rilevanti
Recuperati
Tutti docs
Paolo Ferragina, Università di Pisa
Precisione vs. Completezza
Rilevanti
Recuperati
| Collezionein Ril|
| atiRilRecuper| aCompletezz
|Recuperati|
|atiRilRecuper| Precisione
Tutti docs
Paolo Ferragina, Università di Pisa
Precisione vs. Completezza
Rilevanti
Altissima precisione, bassissima completezza
recuperati
| Collezionein Ril|
| atiRilRecuper| aCompletezz
|Recuperati|
|atiRilRecuper| Precisione
Paolo Ferragina, Università di Pisa
Precisione vs. Completezza
Rilevanti
Bassissima precisione, bassissima completezza
recuperati
| Collezionein Ril|
| atiRilRecuper| aCompletezz
|Recuperati|
|atiRilRecuper| Precisione
Paolo Ferragina, Università di Pisa
Precisione vs. Completezza
Recuperati
Rilevanti
Alta completezza, bassissima precisione
| Collezionein Ril|
| atiRilRecuper| aCompletezz
|Recuperati|
|atiRilRecuper| Precisione
Paolo Ferragina, Università di Pisa
Precisione vs. Completezza
Recuperati
Rilevanti
Alta completezza e precisione
| Collezionein Ril|
| atiRilRecuper| aCompletezz
|Recuperati|
|atiRilRecuper| Precisione
Paolo Ferragina, Università di Pisa
Trade-off
Si misura la Precisione a diversi livelli di Completezza
Nota: è una MEDIA su numerose interrogazioni
precisione
completezza
x
x
x
x
Paolo Ferragina, Università di Pisa
Difficoltà per il web
precisione
completezza
x
x
x
x
Sul Web non conosciamo la “completezza”, quindi guardiamo
soltanto ai primi 10100 risultati. Su questi si gioca la “partita” !!
Paolo Ferragina, Università di Pisa
Ognuno sceglie il suo Ranking !
http://www.langreiter.com/exec/yahoo-vs-google.html?q=...
Paolo Ferragina, Università di Pisa
Motori di Ricercapresente e futuro prossimo
Il quadro presente
Paolo Ferragina, Università di Pisa
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
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
Il motore più famoso ...
Paolo Ferragina, Università di Pisa
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
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 2002 (750 nel 2003 ?)
“google” è la parola più utile del 2002 [American Dialect Society]
Un nuovo scenario di:
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)
Business: tra i pochissimi a fare molti profitti !
Paolo Ferragina, Università di Pisa
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 (100.000 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
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:
[1996-97] Esce il primo prototipo (BackRub).
[1998-99] 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.