750 likes | 845 Views
Information Retrieval. Definizioni e metodi “classici”. Definizioni. IR tratta problemi di rappresentazione, memorizzazione, organizzazione e accesso ad informazioni Obiettivo : facilitare l’accesso alle informazioni cui un utente è interessato
E N D
Information Retrieval Definizioni e metodi “classici”
Definizioni • IR tratta problemi di rappresentazione, memorizzazione, organizzazione e accesso ad informazioni • Obiettivo: facilitare l’accesso alle informazioni cui un utente è interessato • Un testo libero non può direttamente essere usato per interrogare gli attuali motori di ricerca su Web. • Una descrizione degli interessi dell’utente va trasformata in una query, una struttura di dati (usualmente un vettore) adatta all’elaborazione da parte di un motore di ricerca.
Caratterizzare l’interesse dell’utente • Caratterizzare l’interesse di un utente non è facile: “trova tutte le pagine che contengono informazioni su squadre di tennis di Università Americane, e che partecipino alle gare NCAA. Mi interessano solo documenti che riportino anche la qualifica di queste squadre negli ultimi 3 anni e la email o telefono del loro allenatore” • Rosso: irrilevante per la query • Blu: necessitano una qualche forma di ragionamento induttivo, es: MIT is_a Università_Americana march_2002 january_2000 january_2003
..Tuttavia anche in casi più semplici cè il problema del silenzio-rumore • Esempio: chi ha inventato il web? • http://www.google.it
Dati e informazioni: che differenza? • Data retrieval: trovare oggetti che soddisfino condizioni chiaramente specificate mediante una espressione regolare o di algebra relazionale. (FIND person WHERE age>40 AND…OR..). Un errore è segnale di totale fallimento del sistema (la risposta non esiste) • Information retrieval: richiede una interpretazione della richiesta dell’utente. I documenti recuperati non possono essere classificati tout court come “buoni” o “cattivi”, ma vanno associati ad una misura di rilevanza rispetto alla richiesta dell’utente (o meglio: all’interpretazione della richiesta!) • La nozione di rilevanza è centrale in IR
Perché IR è importante • IR aveva una ristretta nicchia di interesse (bibliotecari ed esperti di informazioni, es. agenzie di stampa) • L’avvento del Web ha cambiato radicalmente le cose • Una sorgente di informazioni virtualmente illimitata • Accesso universale ed a basso costo • Non esiste un controllo editoriale centralizzato • Molti nuovi problemi si pongono: IR è vista come una area chiave per identificare soluzioni appropriate
Retrieval Database Browsing Le azioni dell’utente in un sistema di IR • Una sessione di Retrieval comporta la specifica degli interessi dell’utente e la sua trasformazione in una query (usualmente, un insieme di parole chiave o keywords) • Se l’interesse dell’utente è mal specificato, o è molto vasto, l’utente può utilizzare una interfaccia interattiva (es. finestre a scelta multipla), visualizzare alcuni documenti proposti, seguire hyperlinks a partire da documenti che più lo interessano, o dettagliare meglio la sua query. Si parla allora di una sessione di Browsing.
Pulling vrs pushing • Retrieval e Browsing vengono classificate come azioni di pulling: l’utente “tira fuori” le informazioni richieste • Alcuni sistemi sono in grado di prendere iniziative, cioè di sospingere (push) documenti verso l’utente. Ad esempio, filtrando notizie periodicamente sulla base di profili di utente (web assistant, information filtering and extraction).
Una caratterizzazione formale del task IR • Def. Un modello di IR è una quadrupla [D,Q,F,R(qi,dj)] dove: • D è un insieme di viste logiche, o rappresentazioni dei documenti nella collezione • Q è un insieme di viste logiche, o rappresentazioni dei bisogni informativi dell’utente , dette query • F è uno schema per modellare le rappresentazioni dei documenti, le query, e le inter-relazioni fra query e documenti • R(qi,dj)] è una funzione di rilevanza, o rankingR : QD che definisce un ordine fra i documenti, in relazione alla query qi
Testi Interfaccia utente user need Testi Operazioni sui testi Vista logica Vista logica Operazioni sulla query DB Manager Module Indicizzazione user feedback inverted file query ricerca Indici Doc. recuperati Database dei testi ranking Documenti pesati Il processo di retrieval (più in dettaglio) Cerco curricula di personale esperto nella progettazione di siti web Personal espert progettazion sit web (espertconosc)(realizzaz progettaz) sit web
Quanto esattamente corrisponde il documento alla query? Quanto è corretta la rappresentazione del documento ? Quanto è corretta la rappresentazione della query ?? Rappresentazione query Rappresentazione Documenti Quanto sono rilevanti i risultati ? Risposta Collezione documenti Query PROBLEMI NEI SISTEMI DI IR
3 fasi fondamentali • Operazioni sui testi (query e documenti) • Generazione di indici (strutture di puntamento) • Ricerca e ranking
Operazioni sui testi • Un sistema di IR genera una rappresentazione più generale e astratta dei documenti e delle richieste degli utenti (query) , detta logical view, o rappresentazione. • Quando la rappresentazione di un documento comprende l’intero insieme delle parole che lo compongono, si parla di full text logical view. • Tuttavia, anche nei moderni computers sono necessarie alcune operazioni di compressione dell’informazione • Queste operazioni possono essere finalizzate non solo alla compressione (es. eliminazione di articoli, congiunzioni., lemmatizzazione...) ma anche alla generalizzazione (non rappresentare termini (ambigui) ma concetti )
Indicizzazione dei documenti • Ogni documento viene rappresentato mediante un insieme di parole-chiave o termini indice • Un termine-indice è una parola ritenuta utile per rappresentare il contenuto del documento • In genere, nei sistemi di IR “classici”, gli indici sono nomi, perché maggiormente indicativi del contenuto • Tuttavia, nei motori di ricerca vengono considerati tutti i termini (full text representation) • Gli indici vengono utilizzati per generare strutture di puntamento ai documenti della collezione, facilitandone il recupero a fronte di una query.
Ranking (ordinamento) • Un ranking è un ordinamento dei documenti recuperati che dovrebbe riflettere gli interessi dell’utente • E’basato su : • Identificazione di gruppi di termini comuni • Condivisione di termini pesati • Probabilità di rilevanza • La classificazione dei modelli di IR è basata si diversi criteri di ranking
Documenti Termini indice documenti Operazioni sui testi match Bisogni Informativi ranking query
Trattamento dei testi, strutturazione e metodi di Ricerca
1. Trattamento dei testi • Come trasformare un documento in un vettore di keywords? • Come organizzare i vettori dei documenti in modo da facilitarne il recupero a fronte di una query?
Estrazione indici Spaziature, accenti lemmatizzazione Doc. stopwords Operazioni+ complesse struttura Struttura (parag, titoli, tags html XML...) Full text Termini indice Nomi propri, semantica 1.Identificazione delle keywords o “tokens” rilevanti Operazioni sui testi 2.Definizione di una struttura di memorizzazione dei documenti efficiente ai fini del recupero
Tokenizzazione • Un testo va trasformato in una lista di elementi significativi detti token. • A volte, la punteggiatura, i numeri, e la differenza fra maiuscole e minuscole possono essere elementi significativi. Anche le etichette html (o xml) possono o meno essere eliminate. • Generalmente, più superficiale è l’analisi del testo, più dettagli vengono eliminati. • L’approccio più semplice –quello usato dai motori di ricerca- consiste nell’ignorare numeri e punteggiatura e considerare solo stringhe contigue di caratteri alfabetici come tokens.
Tokenizzazione di simboli HTML • Cosa fare del testo racchiuso nei comandi html che tipicamente non vengono visualizzati? Alcune di queste stringhe sono indicative del contenuto del testo: • Le parole contenute negli URLs (www.acquistionline.it) • Le parole contenute nei “meta testi” delle immagini. <metaname=“description” content=“gli sfondi di Vincent Van Gogh per il vostro Desktop”> • L’approccio più semplice esclude dalla tokenizzazione tutte le informazioni contenute fra tag HTML (fra “<“ e “>”).
Tipi di documenti Documenti Stringhe di testo Documenti su files (per le query digitate da tastiera) Documenti web: immagini, audio, filmati, ma anche sofware, dati strutturati.. Files HTML Files Testo (ASCII files) (HTML files)
Stopwords • Tipicamente vengono eliminate parole ad elevata frequenza in un linguaggio, dette stopwords (es. parole funzionali, in inglese: “a”, “the”, “in”, “to”; o pronomi: “I”, “he”, “she”, “it”, ecc.). • Le Stopwords sono ovviamente dipendenti dalla lingua. Vector Space Retrieval (VSR) utilizza un set standard di circa 500 parole inglesi. • http://bll.epnet.com/help/ehost/Stop_Words.htm • Le stringhe di stopwords vengono memorizzate in una hashtable per essere riconosciute in tempo costante.
Stemming • Si intende per stemming il processo di riduzione di un termine al lemma o alla radice, in modo da riconoscere variazioni morfologiche della stessa parola. • “comput-er”,“comput-ational”, “comput-ation” “compute” • L’analisi morfologica è specifica di ogni lingua, e può essere molto complessa (ad esempio in Italiano ben più che in Inglese) • I sistemi di stemming più semplici si limitano ad identificare suffissi e prefissi e ad eliminarli.
Porter Stemmer • E’ una procedura semplice, che iterativamente riconosce ed elimina suffissi e prefissi noti senza utilizzare un dizionario (lemmario). • Può generare termini che non sono parole di una lingua: • “computer”, “computational”, “computation” diventano tutti “comput” • Vengono unificate parole che in effetti sono diverse (matto e mattone) • Non riconosce deviazioni morfologiche (vado e andiamo). • http://www.mozart-oz.org/mogul/doc/lager/porter-stemmer/
Errori del Porter Stemmer • Errori di “raggruppamento”: • organization, organ organ • police, policy polic • arm, army arm • Errori di “omissione”: • cylinder, cylindrical • create, creation • Europe, European
is_a is_in Operazioni più complesse sui testi • Analisi morfosintattica • I have been be • Analisi dei Nomi Propri, date, espressioni monetarie e numeriche, terminologia • Medical Instrument inc • April 15th, 2003. 15-4-03… • 5 millions euros • Consiglio di amministrazione, week end, .. • Analisi della struttura del testo • Es: I termini nel titolo o nei paragrafi hanno un peso maggiore, i termini in grassetto o sottolineati.. • Analisi semantica: associare a parole singole o a porzioni di testo dei concetti di una ontologia • “L’albergo dispone di piscina..” swimming_poolhotel_facility • “L’albergo si trova a Corvara..” Val_Badia Dolomiti ..
Strumenti per l’analisi morfosintattica di testi • Treetagger • On-line version su: http://www.cele.nottingham.ac.uk/~cctz/treetagger.php • Supporta diverse lingue (inglese tedesco italiano..) • Analisi delle parti del discorso e analisi dei gruppi sintattici (gruppi nominali, verbali, preposizionali..)
2. Indicizzazione dei documenti • Come recuperare le informazioni? • Una semplice alternativa consiste nello scandire l’intero testo sequenzialmente • Una opzione migliore è quella di costruire strutture di dati chiamate indici per velocizzare la ricerca
Indicizzazione: come memorizzare e recuperare i documenti rappresentati mediante keywords • Tecniche di indicizzazione: • Inverted files • Array di suffissi • Signature files
Notazione • n: il numero di tokens neltesto • m: lunghezza di un vettore • v: taglia del vocabolario (quante parole diverse) • M: memoria a disposizione
Inverted Files • Definizione: un inverted file è un meccanismo orientato alla manipolazione di parole, per indicizzare una collezione di documenti in modo da velocizzare il processo di ricerca. • Struttura di un inverted file: • Vocabolario: l’insieme di parole diverse nel testo (NOTA: la taglia di V dipende dalle operazioni effettuate sui testi) • Occorrenze:liste che contengono tutte le informazioni necessarie per ogni parola del vocabolario (posizione nel testo, frequenza, documenti nei quali appaiono, ecc.)
Occorrenze Esempio 1 6 12 16 18 25 29 36 40 45 54 58 66 70 That house has a garden. The garden has many flowers. The flowers are beautiful • Testo: • Inverted file Vocabolario beautiful flowers garden house 70 45, 58 18, 29 6
Spazio di memoria • Lo spazio necessario per memorizzare il vocabolario non è eccessivo. Secondo la legge di Heap il vocabolario cresce come O(n), dove è una costante compresa fra 0.4 e 0.6 nei casi reali • Viceversa, le occorrenze richiedono uno spazio molto maggiore. Poiché vi è un riferimento per ogni occorrenza della parola nel testo, lo spazio necessario è O(n) per ogni riga. • Per ridurre lo spazio necessario, si può utilizzare una tecnica detta indirizzamento di blocco (block addressing)
Indirizzamento di blocco • Il testo viene suddiviso in blocchi • Le occorrenze puntano ai blocchi in cui appare la parola • Vantaggi: • Il numero dei puntatori di blocco è minore del numero dei puntatori di posizione • Tutte le occorenze di una parola all’interno di uno stesso blocco hanno un solo puntatore • Svantaggi: • Se è richiesta l’identificazione esatta del termine, è necessario scandire “online” i blocchi di interesse
Esempio • Testo: • Inverted file: Block 1 Block 2 Block 3 Block 4 That house has a garden. The garden has many flowers. The flowers are beautiful Vocabolario Occorrenze beautiful flowers garden house 4 3 2 1
Dj, tfj df Termini indice D7, 4 3 computer database D1, 3 2 D2, 4 4 science system 1 D5, 2 Lista delle Occorrenze File Indice In alcuni modelli IR vengono memorizzate solo le coppie Dk,tfik dfi = numero di documenti in cui compare il termine ti tfik = frequenza del termine ti nel documento Dk
Ricerca su inverted indexes-files • L’algoritmo di ricerca basato su indici inversi opera in tre fasi successsive: • Ricerca nel vocabolario: le parole presenti nella query vengono ricercate nel vocabolario • Recupero delle occorrenze: viene estratta la lista delle occorrenze di tutte le parole incluse nella query e presenti nel vocabolario • Manipolazione delle occorrenze: la lista delle occorrenze viene elaborata, per generare una risposta alla query
Ricerca su inverted indexes(2) • La ricerca parte sempre dal vocabolario, che dovrebbe essere memorizzato separatamente • I vocabolari vengono memorizzati in strutture di tipo hashing, tries o B-trees • Alternativamente, le parole possono essere memorizzate in ordine alfabetico (si risparmia in spazio, maggior tempo di ricerca)
Costruzione del vocabolario • Il vocabolario viene generato scandendo i testi del repository • Vengono effettuate operazioni preliminari sui testi, di cui abbiamo parlato, al fine di limitare la taglia del vocabolario (stemming e stop words) • Ad ogni parola del vocabolario, quale che sia la struttura dati utilizzata, viene associata la lista delle occorrenze nei documenti • Ogni parola incontrata in un testo viene prima cercata nel vocabolario: se non viene trovata, viene aggiunta al vocabolario, con una lista inizialmente vuota di occorrenze.
Costruzione del vocabolario (2) • Una volta che si siano esaminati tutti i testi, il vocabolario viene memorizzato con la lista delle occorrenze. Vengono generati due files: • Nel primo file, vengono memorizzate in locazioni contigue le liste delle occorrenze • Nel secondo file, il vocabolario è memorizzato in ordine lessicografico (alfabetico), e viene generato per ogni parola un puntatore alla sua lista di occorrenze nel primo file. • L’intero processo ha un costo O(n) nel caso peggiore. La ricerca (binaria) ha un costo O(logn)
n. ordine dei caratteri beautiful:70 b flowers:45 f g garden:18,29 has: 12,36 ... h a ... o house: 6 Memorizzazione del vocabolario in un trie 1 6 12 16 18 25 29 36 40 45 54 58 66 70 That house has a garden. The garden has many flowers. The flowers are beautiful
Modelli strutturati del testo • La ricerca e indicizzazione per parole-chiave considera il documento come una struttura piatta • Se cerco “consiglio di amministrazione” potrei trovare documenti in cui queste parole compaiono ma non sono correllate • Inoltre, il peso di una parla è lo stesso sia che la parola compaia nel testo che, ad es. nel titolo
Modelli strutturati (2) • Definizioni: • Match point: la posizione nel testo in cui occorre una parola o sequenza di parole • Regione: una porzione contigua di testo (frase, paragrafo..) • Nodo: un componente strutturale del testo, ad esempio un capitolo, una sezione..
NODO Esempio MATCH POINT REGIONE
Proximal Nodes • Il testo viene rappresentato con una struttura gerarchica • Gli indci vengono definiti mediante gerarchie multiple • Ogni struttura di indicizzazione è una gerarchia composta da: capitoli, sezioni, sottosezioni, paragrafi, linee • Ognuno di questi componenti è un NODO • Ad ogni nodo è associata una regione di testo
consiglio 10 256 48,324 Proximal Nodes Capitolo Sezione Sottosezione Paragrafo
Proximal Nodes • Ogni nodo può essere contenuto in un altro nodo • Due nodi sullo stesso livello non si possono sovrapporre • L’informazione fornita dagli inverted indexes complementa quella degli indici gerarchici
Proximal Nodes • E’ possibile fare query del tipo: • Le query sono espressioni regolari, è possibile cercare stringhe e far riferimento a componenti strutturali
Conclusioni sui metodi di archiviazione-indicizzazione • Il meccanismo inverted file è il più adeguato nel caso di archivi testuali statici • Altrimenti, se la collezione è volatile (ad esempio il web) la sola opzione è una ricerca online (Spiders, nel seguito di questo corso). • In questo caso i metodi di trattamento dei testi devono essere semplici per garantire rapidità (li vedremo nella seconda parte: Web information retrieval)