Ricerca

Transcript

Ricerca
WEB Information
Retrieval
Materiale tratto dal corso di
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 dati 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
Tipi di Crawler
Tradizionali – visitano l”intero” Web e
rinnovano l’indice
Periodici – visitano porzioni di Web e
aggiornano sottoinsiemi dell’indice
Incrementali – selezionano parti di Web e
modificano in modo incrementale gli indici
Focused – visitano pagine relative a un dato
argomento.
Focused Crawler
Visitano solo le pagine considerate rilevanti
rispetto a un argomento.
Componenti:
Classificatore della rilevanza delle pagine basato
sugli argomenti specifici del crawler. Determina anche
l’utilità dei link in uscita da ogni pagina.
Distillatore di pagine hub (contenenti molti out-link
a pagine rilevanti). Devono essere visitate anche se
non hanno una rilevanza alta.
Il Crawler visita le pagine basandosi sui punteggi di
rilevanza determinati dal classificatore e dal
distillatore.
Focused Crawler
Tecniche per IR
Parallelo e Distribuito
Obbiettivo: migliorare l’efficienza del retrieval riducendo i
tempi di attesa per l’utente
IR PARALLELO:
• sfrutta paradigmi di calcolo parallelo in due direzioni:
• sviluppo di nuove strategie parallele di IR (es: modelli
neurali)
• adattamento di strategie esistenti di IR al calcolo parallelo
IR DISTRIBUITO:
• sfrutta una rete di computer per eseguire un task di retrieval
Architettura dei Crawler
Centralizzata
(comune alla maggior parte dei motori)
Altavista
Distribuita
Harvest (A Distributed Search System)
Gatherers – Ottengono informazioni; Focused
crawler
Brokers – creano gli indici e reperiscono i
documenti a fronte di query utente.
http://harvest.sourceforge.net/
Architettura centralizzata
(es. Altavista)
Valutazione di
query
utenti
Interfaccia
utente
Crawler
Altavista
•20 multiprocessori 130 Gb RAM, >500Gb disco
indici
indicizzazione
Web
Problemi:
•Raccolta dei dati a causa della volatilità
delle informazioni,
•la saturazione dei link di comunicazione e il carico dei server.
•Volume dei dati
Architettura Distribuita
(Harvest) http://harvest.sourceforge.net/
Problemi affrontati:
•carico dei web server che ricevono richieste da molteplici crawler
•carico del traffico poiché i crawler reperiscono oggetti interi, ma la
maggior parte del loro contenuto non viene analizzato
•l’informazione viene raccolta da vari crawler senza coordinamento
tra loro
Soluzione:
Introduce due agenti:
•gatherers raccolgono ed estraggono periodicamente informazioni
da uno o più web server
•brokers forniscono il meccanismo di indicizzazione e di valutazione
delle query (reperiscono informazioni dai gatherers e aggiornano gli
indici)
Architettura Distribuita
(Harvest
open source http://harvest.sourceforge.net/ )
broker
utente
broker
replicatore
Netscape catalog server
gatherer
Web site
gatherer
Web site
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