WEB Information Retrieval

Transcript

WEB Information Retrieval
WEB Information
Retrieval
Gabriella Pasi
Materiale tratto da cap. 13
Modern Information Retrieval by Ricardo Baeza-Yates and Berthier Ribeiro-Neto
http://www.sims.berkeley.edu/~hearst/irbook/
Web
Può essere visto come una collezione non-strutturata e
distribuita molto grande
Dimensione
+ di 3 milioni di web server interconnessi su internet
(gestiti da circa 1,5 milioni di istituzioni diverse)
800 milioni di pagine (Lawrence and Giles, Nature,
Luglio 1999)
ha avuto una crescita esponenziale
circa 24 milioni di pagine nuove al mese
Google indicizza circa 3 miliardi di documenti
Circa 6 Terabytes di testo su circa 3 milioni di server
Contiene diversi tipi di dati (testi, immagini, suoni, video)
i siti più riferiti sono google, microsoft, netscape yahoo
il sito con più link in uscita è Yahoo
COME IDENTIFICARE INFORMAZIONI
RILEVANTI SU WEB?
Varie modalità di ricerca:
•ricerca diretta dato URL
•ricerche mediante link (navigazione o browsing)
•utilizzo di servizi WEB per la ricerca:
•motori di ricerca che indicizzano una porzione di documenti
Web e permettono all’utente di formulare query e reperire
indirizzi di pagine web pertinenti (Altavista, Google)
•portali Web che oltre a mette a disposizione un motore di
ricerca, classificano per argomento i documenti Web
(directory) e forniscono un’interfaccia per la navigazione del
catalogo dei documenti (Yahoo, infoseek)
•Sistemi a supporto del commercio elettronico
(recommender systems)
Information Retrieval su Web
Per IR su Web si intende la ricerca di pagine Web,
quindi la collezione che si considera è la parte pubblica del
web
Si può considerare il 1994 con Lycos (CMU, USA) la
data di inizio dell’IR su Web (indicizzazione full text).
Nel 2000 Google è stato il primo Web SE a indicizzare più
di un bilione di pagine Web.
Ricerca in IR
1970s
1980s
1990s
Con il sopraggiungere del web
Ricerca su web
2000s
Information Retrieval: le radici dei
Motori di Ricerca
I motori di ricerca sono sistemi software molto
popolari.
Cio’ che molti non sanno è che essi rappresentano la
punta dell’iceberg dell’Information Retrieval, una
disciplina fondata negli anni 70.
Motori di
ricerca
Information
Retrieval
5
Breve storia dei motori di ricerca
Il primo motore di ricerca apparve nel 1994:
Aprile
1994: Web Crawler (Univ. of
Washington, USA)
Luglio 1994: Lycos (CMU, USA)
Web SEs sembrano seguire la stessa storia dei
DBMS: dopo 5-6 anni dalla loro comparsa, c’e’
ora una vasta disponibilità di sistemi differenti.
Nel 2000 Google fu il primo motore di ricerca a
indicizzare più di un bilione di pagine Web.
6
Evoluzione dei motori di ricerca
Prima generazione – utilizzano solo dati testuali “on page”
1994-1997 ,
Word frequency
Excite, Lycos, ecc
Seconda generazione – utilizzano dati specifici del web
Analisi dei link (o connettività)
Click-through data (What results people click on)
Dal 1998. Resi
popolari da Google
Anchor-text (How people refer to this page)
Terza generazione – “la necessità oltre la query”
Analisi semantica
Focus sulle necessità dell’utente, piuttosto che sulla
query
Determinazione del contesto
Interazione con l’utente
Integrazione di ricerca e analisi del testo
Ancora
sperimentale
7
Esempi
Motori di ricerca
AltaVista
Excite
Google
Infoseek
Lycos
NorthernLight
Kartoo
Clusty
URL
www.altavista.com
www.excite.com
www.google.com
www.infoseek.com
www.lycos.com
www.nlsearch.com
www.kartoo.com
www.clusty.com
8
Struttura di un motore di ricerca
Simile all’IR classico:
Gathering
Necessità
informativa
dell’utente
Query
Nuova
componente
Indicizzazione
Struttura base
i un IRS!
Matching
Visualizzazio
ne
9
INFORMATION RETRIEVAL SU WEB
Terminologia e definizioni
• Una pagina Web corrisponde a un documento nell’IR
tradizionale
• Le pagine Web differiscono in dimensione, struttura, tipo
di file (testo, grafici, suoni, immagini, video, formato
(HTML, GIF, JPEG, ASCII,PDF, ecc)
• Web IR considera come collezione di documenti la parte
del Web che è pubblicamente indicizzabile e esclude le
pagine che richiedono autorizzazioni, pagine dinamiche ecc.
INFORMATION RETRIEVAL SU WEB
Problematiche relative ai dati:
•grandi quantità di dati ( --> scalabilità)
•i dati sono distribuiti --> affidabilità delle sorgenti e
delle connessioni
•volatilità dei dati (il 40% dei documenti cambia ogni
mese --> aggiornamento dei ati e degli indirizzi)
•ridondanza dei dati (circa il 30% dei dati è duplicato) e
ridondanza semantica
•qualità dei dati (dati non validi, obsoleti, con errori)
•eterogeneità dei dati (media, formati, strutture, lingue,
alfabeti diversi)
Problematiche relative all’interazione con utente:
• come specificare le richieste?
• come presentare grandi quantità di documenti reperiti?
Struttura di un motore di ricerca
•Raccolta dei Documenti (gathering): da indicizzare (copertura dal 20
al 60% del web)
• Indicizzazione dei Documenti: rappresentazione del contenuto dei
documenti selezionati
– spesso vengono mantenuti 2 indici (full + ridotto per valutare FAQ) + dati
ausiliari (data di raccolta, URL, titoli, autore)
• Ricerca
- tipi di ricerche Web (le query vengono valutate unicamente basandosi sugli
indici dei documenti)
– rappresentazione delle necessità informative dell’utente mediante una query
– processo di retrieval (algoritmi di ricerca e ranking di pagine web)
• Gestione di Documenti e di query
– visualizzazione dei risultati
– gestione della collezione virtuale (i documenti vengono eliminati dopo
essere stati indicizzati) vs. collezione reale (i documenti vengono mantenuti
dopo l’indicizzazione)
Raccolta dei Documenti
Esistono due modalità:
1) Le pagine Web vengono fornite (spedite) direttamente al
motore di ricerca dai proprietari.
2) Il motore di ricerca è dotato di un un agente software
(information agent) detto crawler, (spider, worm, robot,
Web Search Agent) che attraversa il web per spedire pagine
nuove o aggiornate a un server che le indicizza. Il crawler
naviga su web usando come punti di partenza URL note per
essere punti di accesso interessanti, e successivamente visita
altre pagine web percorrendo i link che vanno da una pagina
all’altra.
Raccolta dei Documenti o
Web Crawling
I Crawler Vengono eseguiti su server locali e spediscono
richieste a server remoti (il web crawler di Google viene
aggiornato una volta al mese. 8 bilioni di pagine Web al mese)
Linee guida per il comportamento di un Crawler
– Robots.txt: è un File sulla radice di un web server che indica
se i robots possono indicizzare il contenuto del sito
– I crawler possono ignorare tali indicazioni ma potrebbero
venir bloccati
es. http://www.dcs.qmul.ac.uk/robots.txt
User-agent: *
Disallow: /~peterb/hte/
Disallow: /servlets/
Processo di Crawling
1. Inizializza una coda di pagine con alcuni URL noti (popolari o
inviati da utenti):
2. Seleziona un indirizzo dalla coda
3. Seleziona la pagina
4. Cerca nella pagina indirizzi di altri URL
- e.g http://www.dcs.qmul.ac.uk
- e.g. <a href=../pubs/index.html >publications</a>
5. Scarta gli URL che
non possono essere analizzati es.
sono già stati visitati
6. Aggiunge gli URL alla coda
.exe .jpg .ps .pdf, …
- utilizza una strategia breadth-first o deep-first:
7. Se non è scaduto il tempo torna a 2
The Web
Web Crawler
List of URLs:
Extract URL from list and
submit to Web Server
Web
Server
Document retrieved by
Web Server
http://www…
http://www…
http://www…
http://www...
http://www…
http://www...
(according to
some search
strategy)
Indexer
16
Processo di Crawling
L’ordine con cui gli URL sono attraversati è importante:
Strategia breadth first: si analizzano prima tutte le
pagine che hanno un link nella pagina corrente.
Questa modalità è adatta per siti Web che trattano
argomenti in relazione tra loro. La copertura è ampia
ma superficiale
Strategia depth first: si segue il primo link nella
pagina corrente fino all’ultima pagina senza link.
Un buono schema di ordinamento dei risultati di motori
di ricerca dipende anche dall’ordine con cui si visitano
le pagine migliori (PageRank)
Depth-First Crawling
Order
Site
Page 1
Page 2
Site 1
Page 1
Site 2
Page 2
Page 3
Page 5
Page 4
Page 3
Page 1
Site 5
Page 6
Page 1
Page 2
Page 1
1
1
1
1
1
1
3
5
6
5
2
2
2
Page
1
2
4
6
3
5
1
1
1
2
1
2
3
Site 6
Site 3
18
Breadth First Crawling
Order
Page 1
Page 2
Site 1
Page 1
Site 2
Page 2
Page 3
Page 5
Page 4
Page 3
Page 1
Site 5
Page 6
Page 1
Page 2
Page 1
Site 6
Site Page
1
1
2
1
1
2
1
6
1
3
2
2
2
3
1
4
3
1
1
5
5
1
5
2
6
1
Site 3
19
Processo di Crawling
Le pagine Web che sono indicizzate sono state esplorate in
tempi diversi e possono non esistere più.
Possono essere scadute da 1 giorno a 2 mesi. Per questa
ragione i motori di ricerca visualizzano la data di
indicizzazione delle pagine reperite.
Ci sono motori che imparano la frequenza di cambiamento
delle pagine e le visitano di conseguenza.
Ci sono da 2 a 9% link obsoleti memorizzati nei motori di
ricerca
I crawler correnti più veloci sono in grado di visitare circa 10
milioni di pagine Web al giorno
Indicizzazione
Si distinguono due metodi di indicizzazione di pagine web:
1) indicizzazione full text + dati ausiliari
dati ausiliari sono la data di indicizzazione, l’autore, la lingua in
cui è scritto il documento, il tipo di pagina web
Per dare un’idea all’utente del contenuto dei documenti
reperiti, l’indice viene integrato con una breve descrizione
della pagina Web (snippet)
Alcuni motori di ricerca eliminano le stopwords per ridurre la
dimensione dell’indice. Possono venir applicate operazioni di
normalizzazione.
Si possono utilizzare i “testi ancora” per rappresentare il
contenuto di una pagina
Aadddsa
aadcnbf
d
bgdd
hhh
Aanbfd
bgdd
hhh
bdyytrrtr
Aanbfd
bgdd
hhh
bdyytrrtr
Il file inverted punta alle pagine dove appaiono i termini indice
Indicizzazione
2) Classificazione dei documenti manuale o automatica
(tramite applicazione di un metodo di clustering dei
documenti)
Si costruisce in indice gerarchico di classificazione dei
documenti (utilizzato dai portali web)
Indici
Le
tecniche
di
indicizzazione
e
compressione possono ridurre la dimensione
del file inverted di circa il 30% della dimensione
del testo (meno se vengono usate stopwords).
Per 100 milioni di pagine, ci vogliono circa 15
Gb di disco
Una query viene valutata effettuando una
ricerca binaria sulla lista ordinata dei termini
indice nel file inverted
Nella ricerca di parole multiple, i risultati delle
ricerche semplici devono venir combinati
Problema: frequenza delle parole
Indici
I file Inverted possono puntare alle occorrenze
effettive dei termini indice (molto costoso), in tal
caso bisogna specificare una pagina e una
posizione nella pagina (numero di parola)
Con le posizioni delle parole nella pagina si
possono effettuare ricerche per frase o per
prossimità
Molti motori di ricerca permettono la ricerca di
frasi
Interfaccia utente
Il linguaggio di interrogazione è generalmente il Booleano
con possibilità di ricerca per frasi.
Spesso liste di termini vengono valutate in modo da
considerare primi nel ranking i documenti che
contengono tutti i termini e via via quelli che ne
contengono un numero minore.
Ci sono interfacce per ricerche più avanzate
I risultati sono ordinati in funzione della rilevanza alla
query (modello vettoriale e booleano di IR)
oppure è possibile ordinarli per data di indicizzazione
E’ possibile selezionare la lingua in cui è scritto il
documento o il numero massimo di documenti da
reperire o il tipo dei documenti di interesse (news,
immagini ecc.)
Ranking
I motori di ricerca ordinano le pagine reperite in
base alla loro rilevanza rispetto alla query
Gli algoritmi di ordinamento sono “top secret”
E’ praticamente impossibile misurare il recall, poiché
il numero di pagine rilevanti può essere piuttosto
elevato anche per query semplici
RICERCHE SU WEB
Utilizzo di link
• La differenza principale tra IR tradizionale e IR su Web riguarda
la presenza di Web link
• Web link: rappresentano una relazione tra pagine connesse
– documento sorgente (pagina Web) che contiene il link:
•e.s. <a href = “http://www.acm.org”> ACM site </a>
– testo ancora e.s. ACM site
– documento target (pagina Web) che è riferita dal link
•e.s. http://www.acm.org
– in-link della pagina p è un link da una pagina Web alla pagina p
– out-link della pagina p è un link dalla pagina p a una pagina
Web
RICERCHE SU WEB
Assunzioni per l’utilizzo di Web link
1. L’inserimento di un link in una pagina è un
suggerimento dell’autore di approfondire l’argomento
visionando il documento target
2. Pagine connesse da link è più probabile che trattino
gli stessi argomenti di pagine che non sono legate.
3. Un “testo ancora” descrive il documento target
Ranking dei documenti su Web
Differenza principale tra IR su Web e IR tradizionale è il fatto che i
link che puntano a una pagina forniscono una misura della sua
popolarità e qualità.
Link in comune tra pagine spesso indicano l’esistenza di relazioni tra
le pagine stesse.
Esistono 2 principali criteri di ranking :
basati sul contenuto delle pagine
I modelli più diffusi sono quello Booleano e Vettoriale
basati sull’analisi dei link
PageRank, HITS, determinano la qualità delle pagine Web
(simile all’analisi delle citazioni nell’IR tradizionale per il Calcolo
dell’impact factor delle pubblicazioni scientifiche)
basati sulla combinazione di contenuto e link
ANALISI DEI LINK
Ranking in ordine
decrescente di
rilevanza e & qualità
Motore di ricerca
Query q∈[0,1] |F |
insieme di termini
(pesati)
La qualità di una pagina Web è funzione di due valori:
il suo grado di in-link e di out-link;
Combinazione di RSV e grado di authority
Analisi dei Link
Utilizza la struttura del Web per identificare la ‘qualità’ delle
pagine
• Qualità indipendente dalla query - analisi globale
– PageRank (Google): simula un attraversamento casuale
del web e calcola il “grado” di probabilità di raggiungere la
pagina
p
• Qualità dipendente dalla query - analisi locale
– HITS (Hyperlink Induced Topic Search): focalizza
query generiche che reperiscono troppe pagine e tra queste
identifica le pagine autorevoli
•la qualità/popolarità di una pagina cresce al crescere del
numero dei suoi in-link
query p
•le pagine popolari hanno più probabilità di contenere
informazioni rilevanti delle pagine non-popolari.
Obiettivo:
miglioramento della Precisione
Tutti gli approcci interpretano il Web come un grafo diretto
(G)=(N, E):
IL Ranking è dato dalla combinazione del grado di
rilevanza RSV e del grado di authority (Autorevolezza)
• In Page rank (by Brin e Page) è la somma pesata (Google)
• In HITS (by Jon Kleinberg) inizialmente è il grado di
rilevanza, che viene aggiornato iterativamente via grado di
autorevolezza (HITS)
PageRank
Brin e Page della Stanford University
Criterio di ranking usato da Google
Idea di base: PageRank simula la navigazione casuale
dell’utente su Web.
una pagina ha un PageRank alto se la somma dei PageRank
dei suoi in-link è alta
una pagina con PageRank alto ha
o molti in-link
oppure pochi in-link con PageRank alto
Retrieval:
combinazione di
RSV calcolato come nell’IR tradizionale (misura del
coseno, ecc.)
valore di PageRank
PageRank
E’ un Processo modellato da catene di Markov (gli
stati sono le web page: modello di transizione
da una pagina a un’altra).
Inizialmente l’utente è su una pagina p; a ogni
passo procede
verso una pagina Web casualmente selezionata
con probabilità d (“fattore di damping”) es.
probabilità di un salto casuale = 0.2
verso una pagina casuale legata (tramite outlink) alla pagina corrente con probabilità 1-d. es.
probabilità di seguire un outlink = 0.8
PageRank
PageRank di una pagina a è la probabilità che
l’utente sia in a in un dato istante. E’ calcolato da
una formula ricorsiva: inizia con un qualunque
insieme di valori e itera finchè converge
PR(a) = Kd + K(1-d) ∑ i=1,n PR(ai) / C(ai)
K è un fattore di normalizzazione
d dipende dal sistema a = pagina puntata dalle
pagine ai con i=1,n
C(ai)= numero di outlink della pagina ai
35
HITS: Hypertext Induced Topic Search
Kleinberg, 1997
Noto anche come “The Connectivity Analysis Approach”
Motivazioni: query generiche reperiscono troppi
documenti
E’ necessario introdurre nuove misure di qualità
distinguere le pagine più “autorevoli”
Soluzione:
reperire le pagine più autorevoli in risposta a
query generiche
HITS identifica: (per alcuni argomenti)
pagine autorevoli che contengono informazioni
rilevanti (sono buone sorgenti di contenuto)
pagine hub: che puntano a pagine utili (sono buone
sorgenti di link)
HITS: Hypertext Induced Topic Search
Intuizione:
Kleinberg, 1997
L’autorevolezza di una pagina dipende dal numero di inlink ma
non solo poiché anche le pagine popolari hanno questa
caratteristica
L’essere una pagina hub dipende dai suoi outlink
le migliori pagine autorevoli hanno inlink provenienti da
buone pagine hub
Authority
page
le migliori pagine hub hanno outlink a buone pagine
autorevoli
Hub page
Viene modellato un mutuo rafforzamento tra hub e authorities
una buona pagina autorevole è puntata da molte pagine hub
una buona pagina hub punta a molte pagine autorevoli
HITS: Hypertext Induced Topic Search
Kleinberg, 1997
Inizializza l’insieme di pagine Rq che sono reperite da una query
es. k (k = 200) ordinate basandosi su un criterio per contenuto
espansione dell’insieme di pagine con l’insieme Bq
Bq contiene pagine che puntano o sono puntate dalle pagine
in Rq
Grafo-Web=(N,V) distanza =1 sul grafo delle connessioni
ordinamento delle pagine in base al grado (numero di in-links) - non è
efficace
Classificazione delle pagine in
Bq come autorevoli Aq
o Hub Hq
Bq
Rq
HITS: Hypertext Induced Topic Search
Kleinberg, 1997
Calcolo dei gradi di autorità A(p) e di hub H(p) di una pagina p
mediante una propagazione iterativa
•Inizializzazione di A(p) e H(p)
•Ripetizione fino a condizione di stop
A ( p) =
H ( v)
•calcolo del peso di autorità A(p)
∑
v∈Rqv → p
se p è puntata da molte pagine con valori alti di H,
allora deve ricevere un valore alto di A
• calcolo del peso di hub H(p)
H ( p) =
∑ A(u )
u∈Rqp → u
se p punta a molte pagine con valori alti di A,
allora deve ricevere un valore alto di H
• Dopo il calcolo i pesi vengono normalizzati
Bq
Rq
HITS: Hypertext Induced Topic Search
Kleinberg, 1997
A ( p) =
∑ H ( v)
v∈Rqv → p
H ( p) =
∑ A(u )
u∈Rqp → u
X1
X5
y1
y5
X2
X4
y2
y4
X3
X4=y1+y2+y3
y3
Y4=x5+x6
X6
y6
Presentazione dei risultati
Results
Usually screens of 10 pages
Clustering (kartoo)
URL, size, date, abstract, etc
Various sorting
Most similar documents options
Query refinement
41
Kartoo: visualizzazione dei risultati
42
Comportamento degli utenti
Ill-defined
queries
Specific behavior
Short
AV 2001: 2.54
terms avg, 80%
< 3 words)
Imprecise terms
Sub-optimal
syntax (80%
queries without
operator)
Low effort
85% look over one
result screen only
(mostly above the
fold)
78% of queries are
not modified (one
query/session)
Follow links –
“the scent of
information” ...
Wide variance in
Needs
43
META motori di ricerca
I meta motori di ricerca sono delle interfacce
che permettono di inviare
contemporaneamente la stessa query a più
motori di ricerca e fondono i risultati ottenuti
in un’unica lista ordinata.
L’assunzione è che più esperti nel trovare
informazioni siano meglio di uno solo.
(metacrawler, savvysearch, metasearch ecc)
La loro efficacia dipende dal criterio di fusione
delle liste
Conclusioni
I modelli più diffusi di IR su Web sono il
vettoriale e il Booleano o estensioni di questi
modelli.
L’analisi dei link ha un ruolo importante nei
motori di ricerca
l’enfasi è sul calcolo della rilevanza e sulle
architetture distribuite.