Motori di Ricerca presente e futuro prossimo

Slides:



Advertisements
Presentazioni simili
Informatica Generale Susanna Pelagatti
Advertisements

Fondamenti di Informatica
Rappresentazione di Numeri Reali
Introduzione ad XML Mario Arrigoni Neri.
A. FERRARI Alberto Ferrari. L'HyperText Markup Language (HTML) (traduzione letterale: linguaggio di marcatura per ipertesti) è un linguaggio usato per.
CODIFICA DELLE INFORMAZIONI
Elaborazione del Book Informatico. 2 Marco M. Vernillo – a.a. 2002/2003 – Elaborazione del Book Informatico Elaborazione del Book Informatico 1. Tecnologie.
Consumare Web Service Andrea Saltarello
1 Introduzione ad XML. 2 Problemi con SGML Complesso da comprendere ed utilizzare Non è pensato per la rete: mancano link ipertestuali e specifiche grafiche.
Lezione 18 MIDI e XML Programmazione MIDI (Prof. Luca A. Ludovico)
Tecniche di compressione dei dati
Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.
Corso di laurea in INFORMATICA
Codifica dei Dati Idea: vogliamo rappresentare dati eterogenei utilizzando un linguaggio che l’elaboratore puo’ facilmente manipolare Essenzialmente vogliamo.
SINCRONIZZAZIONE E TRASFERIMENTO VIA WEB DI IMMAGINI E DATI MULTIMEDIALI CON INFORMAZIONI GEOGRAFICHE E RAPPRESENTAZIONI CARTOGRAFICHE Laureando: Mitja.
Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, La rappresentazione dellinformazione testuale e i linguaggi di codifica.
Programmazione Procedurale in Linguaggio C++
24/01/051 XML e i programmi di impaginazione. 24/01/052 Introduzione Panoramica sui maggiori programmi di impaginazione. Come usano XML.
Implementazione dell algortimo di Viterbi attraverso la soluzione del problema di cammino mi- nimo tramite software specifico. Università degli studi di.
Gli alberi binari sono contenitori efficienti.
Significato, vantaggi e svantaggi Marchesin Sara Soligo Alessandra
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Informatica 3 Codifica binaria.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Capitolo 9 Il problema della gestione di insiemi disgiunti (Union-find) Algoritmi e Strutture Dati.
Corso di Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
Algoritmi e strutture dati
Corso di Informatica per Giurisprudenza
IL FORMATO DEI FILE E IL FILETYPE (ESTENSIONE) Formato dei file 10 marzo 2012 Informatica prof. Giovanni Raho anno
1 Implementazione di Linguaggi 2 Implementazione di Linguaggi 2 Federico Bernardi Type checking 2° parte Type checking 2° parte - Equivalenza di type expressions.
Linguaggi di programmazione
La rappresentazione dellinformazione. 7-2 Digitalizzare linformazione Digitalizzare: rappresentare linformazione per mezzo di cifre (ad es: da 0 a 9)
Cos’è un problema?.
Lezione 5 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università
Lezione 3 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università
Intelligenza Artificiale Algoritmi Genetici
Codifica binaria Rappresentazione di numeri
I File.
Programma del corso Dati e loro rappresentazione Architettura di un calcolatore Sistemi operativi Linguaggi di programmazione Applicativi: - fogli elettronici.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Limiti al trasferimento di informazione u Il tempo necessario per trasmettere dellinformazione dipende da: –la velocita di segnalazione (cioe quanto velocemente.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Proposte di tesina Mario Toma.
Note per il corso di Informatica per le discipline umanistiche Biblioteche in rete 2 Marco Lazzari Università di Bergamo Facoltà di Lettere e Filosofia.
Primo Rapporto annuale sui siti istituzionali delle Regioni Lanalisi dellaccessibilità dei siti con Kendo Paolo Subioli.
RAPPRESENTAZIONE DELL'INFORMAZIONE
Progettazione multimediale
UNIVERSITA’ DEGLI STUDI DI GENOVA
Motori di Ricerca presente e futuro prossimo
Cerchiamo di rispondere alla seconda domanda 2)La soluzione trovata con lalgoritmo goloso è ottima o esistono anche soluzioni con più di quattro attività?
Motori di Ricerca presente e futuro prossimo
Gianpaolo Cecere Introduzione
Che cos’è un sistema di numerazione?
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
Programma di Informatica Classi Prime
Codifica dell’informazione
Progettare corsi con Moodle
Politecnico di Torino maggio DIDAMATICA 2011 Insegnare Futuro EXCEL4PS&SP – 6 Maggio 2011 Prof. Nicola Armenise, PhD I.T.E.S. “A. Olivetti” -
Lezione 3 Struttura lessicale del linguaggio
Fondamenti di Informatica1 Memorizzazione su calcolatore L'unità atomica è il bit (BInary DigiT) L'insieme di 8 bit è detta byte Altre forme di memorizzazione:
Realizzazione software
Università degli Studi di Firenze Facoltà di Ingegneria Dipartimento di Sistemi e Informatica Corso di Laurea in Ingegneria Informatica Modelli e strumenti.
Basi di dati distribuite Prof. M.T. PAZIENZA a.a
Gianluca Costante & Alessio Scannapieco
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Steganografia in un file di testo Corso di Sicurezza dei sistemi informatici Prof. Giuseppe Mastronardi Anno Accademico 2006/07.
Transcript della presentazione:

Motori di Ricerca presente e futuro prossimo Cosa è un Analizzatore Lessicale ? Paolo Ferragina, Università di Pisa

Codifica di un testo ASCII (1963) XML (W3C 1998, o SGML IBM 1986) 8 bit per carattere (7+1) Sufficiente per l’inglese ma non italiano e tedesco. XML (W3C 1998, o SGML IBM 1986) Distinguiamo struttura – contenuto – visualizzazione Standard aperto e personalizzabile, ma well-formed o valido Indipendente dalla piattaforma, in quanto puramente testuale <email> <from> Paolo Ferragina </from> <to> Elena Pierazzo </to> <subject> prova </subject> <bodymsg> bla bla... </bodymsg> </email> Paolo Ferragina, Università di Pisa

XML: un nuovo “e-alfabeto” Programma.doc \320\317^Q\340\241\261^Z\341 ^@^@^@..... .. ...^@^S SHAPE \* MERGEFORMAT ^T^H^A^U^M 26 Aprile^M ore... Tag <brochure> <titolo> Progetto Gutemberg </titolo> <luogo> Liceo Galluppi </luogo> <data> <inizio> 26 Aprile 2003 </inizio> <fine> 30 Aprile 2003 </fine> </data> <testo> Il progetto nasce .... </testo> <interventi> <intervento> <data> 26 Aprile 2003 </data> <ora> 9 </ora> <relatore> Prof. A. Vitale </relatore> <titolo> Apertura Lavori </titolo> </intervento> <intervento> ..... </intervento> ... </interventi> </brochure> + Annotazione Progetto Gutemberg Liceo Galluppi 26 Aprile 2003 30 Aprile 2003 Il progetto nasce .... 9 Prof. A. Vitale Apertura Lavori Contenuto Progetto Gutemberg Liceo Galluppi 26-30 Aprile 2003 Il progetto nasce..... 26 Aprile ore 9: apertura lavori, Prof. A. Vitale ore 10: .... motore di ricerca universale e “semantico” Programma.ps %!PS-Adobe-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: C:Progetto.doc %%CreationDate: Tue Apr 22 2003 %%Pages: 30 %%PageOrder: Ascend %%BoundingBox: 0 0 596 842 .... /TeXDict 300 dict def TeXDict begin /N{def}def/B{bind def}N/S{exch}N /X{SN}B/A{dup}B/TR{translate}N/isls File puramente testuale Visualizzazione (fogli di stile) Paolo Ferragina, Università di Pisa

XML e Linguistica CIBIT: consentirà l’accesso a tutti i testi della letteratura italiana in XML. Corpus Dantesco (Prof. Tavoni) Opere del Vasari (Cribecu, SNS) Giordano Bruno (Cribecu, SNS) Corte dei Conti (CNR, Pisa) I Letterati si preoccupano di fornire una annotazione corretta e completa. Gli Informatici si preoccupano di sviluppare strumenti potenti ed efficienti per l’elaborazione. I Grafici si preoccupano di visualizzare il tutto in modo accattivante. Perché XML ? Disaccoppiamento tra fase di annotazione e fase di sviluppo degli strumenti per l’analisi. Nuovo alfabeto standard e indipendente dalla piattaforma per codificare le informazioni. Molti strumenti pubblici per elaborare questa codifica. Paolo Ferragina, Università di Pisa

Passi principali dell’Analizzatore Figure from Baeza-Yates & Ribeiro-Neto

Fase di analisi delle pagine (eterogenee) Varie difficoltà per la “normalizzazione” State-of-the-art, U.S.A. vs. USA, a.out 3/12/91, Mar. 12, 1991, 55 B.C., B-52, 100.2.86.144 Cooper’s vs Cooper vs Coopers résumé vs resume Google: kid’s toys, kids toys, kid’s toy (anche singolare/plurale in italiano) Stemming: riduce le parole alle loro radici Dipende dal linguaggio (inglese: Porter) Errori: automate(s), automatic, automation  automat for example compressed and compression are both accepted as equivalent to compress for exampl compres and compres are both accept as equival to compres Paolo Ferragina, Università di Pisa

Proprietà statistiche dei testi I token non sono distribuiti uniformemente nel testo Ma seguono la cosiddetta “legge di Zipf” Pochi elementi sono molto frequenti Un numero medio di essi ha frequenza media Moltissimi sono infrequenti Il numero di token distinti non cresce linearmente Ma secondo la “legge di Heaps” (|T|b con b<1) Le parole interessanti hanno una caratterizzazione Sono quelle mediamente frequenti (Luhn) Paolo Ferragina, Università di Pisa

Un esempio di “Curva di Zipf” Paolo Ferragina, Università di Pisa

La legge di Zipf, nel dettaglio Il prodotto della frequenza (f) di un token e il suo rango (r) è approssimativamente constante Un modo alternativo di vedere la cosa: Il termine di rango 1 occorre C volte Il secondo termine più frequente occorre C/2 volte Il terzo termine occorre C/3 volte … r * f = c N f = c N / r f = c N / r a = 1.52.2 a Legge di base Legge generale Paolo Ferragina, Università di Pisa

Dove occorre la Legge di Zipf ? Distribuzione parole in una collezione testuale, indip. linguaggio Richista di pagine web Link in uscita e in ingresso a pagine Web Dimensione dei documenti sul Web Paolo Ferragina, Università di Pisa

Consequenze della Legge di Zipf Esistono pochi token molto frequenti che non fungono da buoni discriminatori. Le cosiddette “stop words” in IR Inglese: to, from, on, and, the, ... Italiano: a, per, il, in, un,… Esistono anche moltissimi token che occorrono una volta sola nel testo e quindi sono poco utili per gli algoritmi (errore / corretto?). Inglese: Calpurnia Italiano: Precipitevolissimevolmente (o, paklo) Parole mediamente frequenti  Parole discriminanti Paolo Ferragina, Università di Pisa

Frequenza vs. Potere discriminante (Luhn) Paolo Ferragina, Università di Pisa

Motori di Ricerca presente e futuro prossimo Cosa è un Compressore ? Paolo Ferragina, Università di Pisa

Perché comprimere ? Obiettivo: Eliminazione della ridondanza nei testi Riduzione spazio 33% tecniche standard (gzip, winzip,...) 20% tecniche avanzate (bzip, ppm) Miglioramento delle prestazioni rete L2 RAM HD CPU L1 registri Pochi Gbs Decine di nanosecs Alcune words Pochi Tbs Cache Pochi Mbs Alcuni nanosecs Poche words Pochi millisecs B = 32K Molti Tbs Anche secs Pacchetti Paolo Ferragina, Università di Pisa

Gzip (’77-’78, raggiunge il 30%) Elimina ridondanza copiando pezzi di testo già visti < 2,5,b > T = a b a a b b a b a a a ..............a b a b a b a b b < 6,4,a > Più è lungo il testo, più ripetizioni ci aspettiamo, più risparmio otteniamo T = a b a a b b a b a a a .... <2,1,a> <0,0,a> <6,4,a> <3,1,b> <0,0,b> Paolo Ferragina, Università di Pisa

Huffman (’50, raggiunge il 60%) Elimina ridondanza assegnando codeword corte a simboli frequenti Codeword = sequenza di bit (a = 01, b = 10) [NO: a=0, b=01] 100 ASCII Assegna 8 bits a tutti i simboli indipendentemente dalla loro frequenza 1 55 a = 1 b = 011 c = 010 d = 001 e = 0001 f = 0000 30 14 25 f:5 e:9 c:12 b:13 d:16 a:45 Symb:freq Compresso = Albero + codifica di T Paolo Ferragina, Università di Pisa

Huffword (raggiunge il 30%) I simboli sono i token: parole o separatori L’albero è molto grande 100 1 55 spazio = 1 , = 011 . = 010 il = 001 gatto = 0001 cane = 0000 30 14 25 cane:5 gatto:9 . :12 ,:13 il:16 spazio:45 Symb:freq Compresso = Albero (grande) + codifica di T Paolo Ferragina, Università di Pisa

Tagged Huffword (supporta la ricerca) Dividiamo ogni parola di codice in gruppi di 7 bit Aggiungiamo in testa a ogni gruppo un bit di tag 0 per l’ultimo gruppo 1 per tutti gli altri gruppi Esempio: 011  00110000 0000  00000000 1111111 11  11111111 01100000 Sincronizzazione: Fine parola di codice = byte che inizia con 0 Decompressione: Elimino il bit di tag da ogni byte, e scopro la parola di codice guardando dall’inizio la sequenza rimasta La ricerca sul compresso è possibile , = 011 cane = 0000 cuccia = 1111111 11 Paolo Ferragina, Università di Pisa