Marco Gori, Università di Siena anno accademico

Slides:



Advertisements
Presentazioni simili
Implementazione di un sistema di gestione per un IP-Core in ambiente GNU\Linux embedded: Infrared Data Association Relatore: Prof. Fabrizio FERRANDI Correlatore:
Advertisements

Principi di Information Retrieval
Strutture dati per insiemi disgiunti
Interazioni non-coulombiane e reazioni nucleari
Algoritmi e Strutture Dati
Un esempio di ricerca sui materiali: il Niobato di Litio
UniClima nell’Università degli Studi di Trento
Il problem-solving Gianpiero Cabodi e Paolo Camurati Dip. Automatica e Informatica Politecnico di Torino.
1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.
Tipi di dato astratti Lista, Pila, Coda, Albero.
PROGRAMMARE IN PASCAL (le basi)
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Universita di Camerino
16/11/2004Laboratorio di Programmazione - Luca Tesei1 Espressioni booleane, confronti.
Corsi per il personale Bicocca-Insubria
Università degli studi di Modena e Reggio Emilia
ACFfin - Scenari M2 - Marotta - 20/12/20051 Rajan (2005): maggiori incentivi per un maggiore rischio finanziario? Fattori di cambiamento nelle transazioni.
Firenze 14/12/06Osservatorio gestione rifiuti Provincia di Firenze: i rifiuti dal 1998 al Il Catasto regionale dei rifiuti I Rifiuti Speciali ARPAT.
AND, OR, AND NOT Operatori logici Gli operatori booleani sono:
Progettini BDM su Crossword Solving 06 Giugno 2006 Marco Ernandes
PROGETTINI DI FINE CORSO
Gabriele Monfardini - Corso di Basi di Dati Multimediali a.a Esercizio 1 Si consideri il seguente messaggio abbcbaabbaca Si codifichi il messaggio.
Maurizio tiriticcocertificazione/alternanza valutazione e certificazione in situazione di alternanza maurizio tiriticco.
File.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Capitolo 7 Tavole hash Algoritmi e Strutture Dati.
Laboratorio di Linguaggi lezione VIII Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea.
Il software QSR-NUD*IST Qualitative Solutions and Research, Non-Numerical Unstructured Data Indexing, Searching and Theorizing Laura Borghi, 08 Giugno.
eliana minicozzi linguaggi1a.a lezione2
1 Querying - Parte II Modelli per la ricerca. 2 Rappresentazione e Vector Space (VS) Ogni doc. j è un vettore di valori tf idf Si può normalizzare a lunghezza.
Argomenti della lezione
MG4J – Managing GigaBytes for Java Indicizzazione ed interrogazione di basi documentali Ilaria Bordino Yahoo! Research, Barcelona.
SQL: Lezione 7 Nataliya Rassadko
Algoritmi e Strutture Dati
A.CarneraScienza delle Superfici (Mod. B) Elementi di fisica quantistica.
Il fenomeno del “channeling”
CAPITOLO 7.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Algoritmi e Programmazione Avanzata
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Studio di euristiche per il miglioramento di algoritmi di ranking per il World-Wide Web Università degli Studi di Milano Corso di Laurea in Informatica.
INFORMATICA MATTEO CRISTANI. INDICE CICLO DELLE LEZIONI LEZ. 1 INTRODUZIONE AL CORSO LEZ. 2 I CALCOLATORI ELETTRONICI LEZ. 3 ELEMENTI DI TEORIA DELL INFORMAZIONE.
Motori di Ricerca presente e futuro prossimo
Dalle lattazioni ai singoli controlli… Il TEST DAY MODEL ITALIANO
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
Forum PA 12 Maggio 2005 Il Progetto ComOnLine. Forum PA 12 Maggio Supportare enti pubblici anche di ridottissime dimensioni nell'erogazione di unampia.
Fabio Massimo Zanzotto (slides di Andrea Turbati con aggiunte)
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
BIOINFO3 - Lezione 41 ALTRO ESEMPIO ANCORA Progettare il comando di creazione di una tabella di pubblicazioni scientifiche. Come chiave usare un numero.
MP Carissimi amici vicini e lontani, lanno volge ormai al termine e a noi altro non resta che sintetizzare i fatti che hanno dato colore a questo.
Corso JAVA Lezione n° 11 Istituto Statale di Istruzione Superiore “F. Enriques”
Gli operatori booleani
Como, 3/11/20051 PANATHLON COMO Assemblea Elettiva 3 novembre 2005.
Corso di Programmazione Grafica e Laboratorio Prof. Daniele Marini.
Algoritmi e Strutture dati a.a. 2012/2013 Informazioni sul corso Dr Maria Federico.
“Learning from Starlight – Progettare per comprendere: Mobile learning e tecnologie wireless per insegnare l’Astrofisica nelle Scuole”
XPATH.
Anno Incontri tecnici ASSOGENE-ANAFI Ufficio Ricerca & Sviluppo Ufficio FA ANAFI.
Capitolo 7 Tavole hash Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
PSYCINFO.
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
Forum PA Politica industriale nell’ICT: brevettabilità del software, opportunità o rischi? Prof. Roberto Benzi.
Esercitazione su Vector. Permette di definire collezioni di dati generiche, che sono in grado di memorizzare elementi di ogni sottotipo di Object Definito.
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
Paola Disisto, Erika Griffini, Yris Noriega.  Insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce.
Sistemi di elaborazione dell’informazione Modulo 3 - Protocolli applicativi Unità didattica 1 - Domain Name System Ernesto Damiani Lezione 2 – Caratteristiche.
Voronoi-Based K Nearest Neighbor Search for Spatial Network Databases1 GRUPPO 13: Relatore: Mengoli Dario Mengoli Dario Rovatti Fabrizio Tassoni Davide.
Indicizzazione di documenti semistrutturati Sistemi informativi – AA D’Este Laura.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Vengono detti memorie di massa tutti i supporti (dischi e nastri) su cui vengono registrati dati, documenti e programmi che si vogliono conservare, sono.
Transcript della presentazione:

Marco Gori, Università di Siena anno accademico 2004-2005 Indici Inversi Alla ricerca del testo ... Marco Gori, Università di Siena anno accademico 2004-2005

Indici per Database Relazionali Tabella dipendenti Name Gori Dipendente Query: Nome = “Gori” Università di Siena.. SQL: create index EmpNmX on Employee(Name) Strutture: hashing, B+-tree Marco Gori, Università di Siena anno accademico 2004-2005

Marco Gori, Università di Siena anno accademico 2004-2005 Indici Inversi Indice documento D1 D2 D3 computer D1, 21, 88, 109 D3, 41 grafo D2, 5 D3, 30 Posizioni all’interno di D1 Match parziale: ’%database% ’, wildcards Ricerca frasi: che documento contiene “computer graph” Marco Gori, Università di Siena anno accademico 2004-2005

Marco Gori, Università di Siena anno accademico 2004-2005 Indici inversi Informazione ausiliaria, e.g., posizione parole, num. occorrenze architecture computer database retrieval ... D1, a1 Index terms/ vocabulary Index/ Index files/ index database Postings lists Q = term1, term2, term3, ... Il file indice può essere implemen. in modo diverso Marco Gori, Università di Siena anno accademico 2004-2005

Marco Gori, Università di Siena anno accademico 2004-2005 Boolean Retrieval Query Booleana: n termini connessi con operatori Boolean, e.g., “computer AND news AND NOT newsgroup” Le parentesi si possono usare per def. precedenze. A B A and B Combin. Risultati (isomorfismo): AND: intersezione insiemi OR: fusione insiemi NOT: differenza (NOT x è difficile da valutare; x AND NOT y è chiaro!) Marco Gori, Università di Siena anno accademico 2004-2005

Problemi indici inversi Grande overhead di spazio! (50% - 150% - 300%) Alto costo per updates, insertions, deletions Il costo di elaborazione incrementa con il numero degli operatori Boolean Domande: Perché si arriva ad overhead oltre il 100%? Sarebbe possibile 2-3% storage overhead? In sostanza: serve comprimere! Marco Gori, Università di Siena anno accademico 2004-2005

Marco Gori, Università di Siena anno accademico 2004-2005 Vincoli di Distanza Condizioni di adiacenza e.g., “database” immediatamente seguito da “systems” i.e., cerca “database systems” “database” e “systems” non più lontani di 3 parole “database” e “architecture” nella stessa frase. Richiede estensioni: Gli indici invertiti mantengono le locazioni di keywords dentro documenti, e la locazione di documenti (titolo, paragrafi, ecc...) Marco Gori, Università di Siena anno accademico 2004-2005

Marco Gori, Università di Siena anno accademico 2004-2005 Vincoli di Distanza 8th sentence di D350 localizzazione sentence: database file systems ... D345, 25 D348, 37 D350, 8 D123, 5 D128, 25 database file systems ... D345, 2,3,5 D348, 37,5,9 D350, 8,12,1 D123, 5,4,3 D128, 25,1,12 D345, 2,3,6 8th paragraph, 12th sentence, 1st word of D350 locazione paragraph,sentence,word: Marco Gori, Università di Siena anno accademico 2004-2005

Estensione: Pesi nel posting Memorizzazione della frequenza “systems” è il 20% più frequente di “database” in D345 database D345, 10 D348, 20 D350, 1 file ... systems D123, 82 D128, 8 D345, 12 Il secondo componente di “posting” potrebbe anche essere qualcosa di più sofisticato di una semplice frequenza ... Marco Gori, Università di Siena anno accademico 2004-2005

Estensione: Pesi nel posting Se si memorizza la posizione delle parole allora il termine frequenza si trova contando le posizioni Due parametri importanti: term frequency: Numero di volte che il “term” appare in un documento Document frequency: Numbero di documenti contenenti un certo “term” Marco Gori, Università di Siena anno accademico 2004-2005

Marco Gori, Università di Siena anno accademico 2004-2005 Sinonimi Sono importanti per incrementare la “coverage” di una query. Possono essere aggiunti all’indice con puntatori database D345, 2,3,5 D348, 37,5,9 D350, 8,12,1 databases dataset ... systems D123, 5,4,3 D128, 25,1,12 D345, 2,3,6 Marco Gori, Università di Siena anno accademico 2004-2005

Troncamento (suffisso) Troncamento suffisso: semplice forma di stemming: comput* : computer, computing, computation, etc. Può essere gestita facilmente se l’indice invertito è implementato mediante un trie Gestione problematica mediante hash! Alcuni sistemi forzano la lunghezza minima del prefisso conosciuto per limitare lo spazio. Google doesn’t support suffix truncation: compute* 995K hits comput* 155K hits compu* 129Khits comp* 5 million hits Marco Gori, Università di Siena anno accademico 2004-2005

Marco Gori, Università di Siena anno accademico 2004-2005 Troncamento et al. Truncamento prefisso *symmetry: symmetry, asymmetry,... Molto difficile da gestire; perfino un trie non può … non c’è un “punto di partenza” E’ in generale difficile fare il match di parti di una parola Rapprentazioni con wild card wom*n: woman,women;  wom* then check if last character is “n” Prefix truncation most expensive infix is OK since it can be implemented using a modified B-tree search algorithm; more or less same as suffix truncation The “prefix” of an infix-truncated query allows search be conducted on a b-tree E.g., Altavista supports both suffix and infix truncations, but not prefix truncations Marco Gori, Università di Siena anno accademico 2004-2005

Marco Gori, Università di Siena anno accademico 2004-2005 Conclusioni L’overhead dell’indice può arrivare al 300%. Il costo di retrieval cresce con la complicazione delle strutture dati con i postings (e.g., pensa ai sinonimi) Indici inversi: buoni per ambiente relativamente statico! (pochi inserimenti e cancellazioni) Marco Gori, Università di Siena anno accademico 2004-2005

Complementi per la lezione Indici inversi: I.H. Witten, A. Moffat, and T.C. Bell, “Managing Gigabytes, Compressing and Indexing Documents and Images,” Morgan kauffmann, 1999 chapter 3 Fondamenti di Informatica: Tecniche di ricerca su tabelle liste, alberi, grafi funzioni hash Marco Gori, Università di Siena anno accademico 2004-2005