La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Motori di Ricerca presente e futuro prossimo

Presentazioni simili


Presentazione sul tema: "Motori di Ricerca presente e futuro prossimo"— Transcript della presentazione:

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

2 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 < > <from> Paolo Ferragina </from> <to> Elena Pierazzo </to> <subject> prova </subject> <bodymsg> bla bla... </bodymsg> </ > Paolo Ferragina, Università di Pisa

3 XML: un nuovo “e-alfabeto”
Programma.doc \320\317^Q\340\241\261^Z\341 .. 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 %%Pages: 30 %%PageOrder: Ascend %%BoundingBox: .... /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

4 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

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

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

7 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

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

9 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

10 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

11 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

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

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

14 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

15 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

16 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

17 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

18 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:  0000  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 = Paolo Ferragina, Università di Pisa


Scaricare ppt "Motori di Ricerca presente e futuro prossimo"

Presentazioni simili


Annunci Google