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∈Rqv → 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∈Rqp → 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∈Rqv → p H ( p) = ∑ A(u ) u∈Rqp → 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.