1 / 15

Alla ricerca del testo ...

Alla ricerca del testo. Indici Inversi. Name. Tabella dipendenti. Dipendente. Gori. Università di Siena. Gori. Query: Nome = “Gori”. Indici per Database Relazionali. SQL: create index EmpNmX on Employee(Name) Strutture: hashing, B+-tree. Posizioni all’interno di D1. D1.

Download Presentation

Alla ricerca del testo ...

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

  5. A and B A B 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. • 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

  6. 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

  7. 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

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

  9. Estensione: Pesi nel posting “systems” è il 20% più frequente di “database” in D345 • Memorizzazione della frequenza 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

  10. 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

  11. 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

  12. 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. Marco Gori, Università di Siena anno accademico 2004-2005

  13. 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” Marco Gori, Università di Siena anno accademico 2004-2005

  14. 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

  15. 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

More Related