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