330 likes | 473 Views
Text Representation. Ing. Leonardo Rigutini Dipartimento Ingegneria dell’Informazione E-mail: rigutini@dii.unisi.it. Outlines. L’era dell’informazione Information Retrieval I documenti di testo Rappresentazione del testo: Vettori di feature Rappresentazione Bag-OF-Word
E N D
Text Representation Ing. Leonardo RigutiniDipartimento Ingegneria dell’Informazione E-mail: rigutini@dii.unisi.it Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Outlines • L’era dell’informazione • Information Retrieval • I documenti di testo • Rappresentazione del testo: • Vettori di feature • Rappresentazione Bag-OF-Word • Importanza di un termine • Misura di similarità • Normalizzazione del testo: • Tokenization • Conversion to lower case • Lemming • Stop-Word • Vantaggi e Limiti del BOW • Altri approcci: HMM & NN Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Era dell’ informazione • Documento inteso come contenitore di informazione di qualunque tipo • Varie forme di informazione: Testo, Radio, Televisione, INTERNET • Vari tipi di documenti: Testo, Audio, Immagini e Video, Tutti • Incredibile il numero di documenti esistenti oggi: • Nel 2000 si stima la dimensione del web in più di 1 BILIONE di pagine • I motori di ricerca classici (Google, AltaVista, Yahoo) indicizzano centinaia di milioni di documenti • Gli archivi delle aziende raggiungono milioni di documenti • Moltissime anche le pubblicazioni memorizzate nei database dei search-engine specializzati (citeseer, cora, IEEE, ecc…) • Newsgroup, forum, le e-mail … • Archivi fotografici • Ecc.. Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Information Retrieval • Necessità di organizzare questa informazione • Aziende: • documenti relativi all’azienda, regolamento interno, bollettini interni, comunicazioni varie, workflow, ecc.. • Enti pubblici: • Regolamenti, modulistica, notizie, bandi ecc.. • WEB: • Qualunque informazione • Altro… • Necessità di studiare tecniche per un recupero “intelligente” dell’informazione: • IR (Information Retrieval) Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
n° relevant items retrievedn° relevant items in collection n° relevant items retrieved total n° items retrieved Information Retrieval • Disciplina che studia tecniche per il recupero dell’informazione • Es. Motori di ricerca • Scopo: • Recupero dei documenti “giusti” durante la ricerca da parte dell’utente • Misure per l’ IR: • RECALL: • PRECISION: Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Information Retrieval • Misurare la similarità tra due o più documenti in modo da restituire all’utente i documenti più significativi: • Trovare una rappresentazione adeguata dei documenti(feature extraction) • Definire una metrica (distanza) per tale rappresentazione • La macchina determina la similarità tra la query e tutti i documenti nel database, restituendo i documenti con punteggio più elevato. Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Documenti di testo • La maggioranza di documenti presenti sulla rete sono documenti di testo • La maggioranza delle tecniche di classificazione e di recupero dell’informazione sono relative al testo • La maggioranza delle ricerche effettuate sul web riguarda documenti di testo • Le ultime due affermazioni sono strettamente correlate: • Ad oggi pochi sono i motori per immagini che funzionano, quasi nessuno per i video o audio, ciò spiega perché l’utente si muove su documenti di testo • Inoltre molte ricerche multimediali si risolvono in ricerche testuali in appositi campi • un video viene etichettato con un insieme di keyword e la sua ricerca avviene per tali parole Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Text-IR • Text Information Retrival raccoglie: • Text Retrieval: • Data una query, recuperare i documenti più attinenti • Text Segmentation: • Dato un documento, suddividerlo in sub-topic • Text Classification: • Determinare la classe del documento tra un insieme di classi prestabilito • Document Clustering: • Dato un database documentale, determinare l’insieme delle classi e gli abbinamenti classe-doumento Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Rappresentazione del testo • Documento di testo: • Sequenza (flusso) di parole contenente uno o più topic (argomenti, concetti ecc..) • Feature: • Parole • Punteggiatura • Stile del testo (Grassetto, Corsivo, ecc…) • Struttura del testo (Titolo, paragarafo, nota ecc…) • Bi-grammi o tri-grammi Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
P (x1,x2) x2 x1 x3 P (x1,x2,x3) x1 x2 Vettori - 1 • Un punto in uno spazio può essere rappresentato come un insieme di valori, ognuno dei quali si riferisce ad una dimensione dello spazio stesso • Es. 2-D : P = ( x1 , x2 ) 3-D : P = ( x1 , x2 , x3 ) • Formalmente: • Un vettore è una n-pla di valori dove n è la dimensione dello spazioP = ( x1 , x2 , … , xn ) Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
P (x1,x2) x2 x1 Vettori - 2 • Rappresentazione alternativa di un vettore in R2: • Modulo: misura del vettore • Angolo: angolo che il vettore forma con le ascisse N.B. sempre due dimensioni (cambia la base) • Operazioni: • Modulo: • Per calcolare il modulo si utilizza il teorema di pitagora: • E si indica con • Prodotto scalare • Il prodotto scalare tra A e B si indica con < A,B> o A•B α Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Vettore differenza • Dati due punti (vettori) è possibile calcolare il vettore differenza: • Quanto vale A-B ? • A-B= C (a1-b1 , a2-b2 ) A (a1,a2) a2 b2 B (b1,b2) a1 b1 C (a1-b1 , a2-b2) a2-b2 a1-b1 Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Distanza - 1 • Possiamo definire due tipi di distanze: • Distanza euclidea : • modulo del vettore differenza • Distanza del coseno: • Angolo formato dai due vettori: • Se due vettori hanno “pendenze” vicine allora l’angolo che essi formano è piccolo ed il coseno tende ad 1 A (a1,a2) a2 b2 B (b1,b2) α a1 b1 Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Distanza - 2 • La seconda formula è 0 quando α = 90° • In tale situazione infatti il prodotto scalare è 0 • Ed i due vettori si dicono ortogonali • Infatti: < A ,B > = 0·b1 + a2·0 = 0 a2 A (0,a2) α=90° B (b1,0) b1 Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Vector Space Model • Un documento è visto come un punto (vettore) nello spazio delle parole del dizionario (feature): • Di = ( wi,1, wi,2 , wi,3 , … , wi,n) • Ogni termine wi,k è il peso della parola k nel documento i: • tf.idf: • …altri • Tale rappresentazione è detta comunemente Bag-of-Word Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Es. BOW (Bag-of-Word) • Supponiamo di avere due documenti: • D1 = “ingredienti pizza: farina, acqua, lievito, olio” • D2 = “descrizione computer: CPU, RAM, Hard disk” • Il dizionario è l’unione dei due insiemi: • T = {ingredienti,pizza,farina,acqua,lievito,olio,descrizione,computer,CPU,RAM,Hard Disk} • n=11 dimensione dello spazio • La rappresentazione BOW dei due documenti: • D1 = (1,1,1,1,1,1,0,0,0,0,0) • D2 = (0,0,0,0,0,0,1,1,1,1,1) • Se un utente esegue una query Q= “ingredienti pizza” essa viene rappresentata come: • Q = (1,1,0,0,0,0,0,0,0,0,0) Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Grado di similarità • Il calcolo della similitudine tra due documenti diventa il calcolo della distanza tra due vettori: • Sim(Di , Dj) = d (Di , Dj) • Normalmente si utilizza la distanza del coseno: • Sim(Di , Dj) = cos (Di , Dj) = Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Es. (reprise) • Nell’ esempio precedente avevamo: • D1 = (1,1,1,1,1,1,0,0,0,0,0) • D2 = (0,0,0,0,0,0,1,1,1,1,1) • Q = (1,1,0,0,0,0,0,0,0,0,0) • Calcolando sim( ) avremo: • Sim (D1, D2) = 0 • Sim (Q , D1) = 0.37 • Sim (Q , D2) = 0 • Ed il sistema restituisce il documento D1 Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Soglia di similarità • Nella realtà: • Databases con milioni di documenti • Dizionario formato da migliaia di parole (vettori di ~10.000 componenti) • Conseguenze: • Molti confronti con un valore di similarità prossimo a zero ma non zero • Soluzione: • Soglia di similarità Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Bag-Of-Word • Limiti: • Rappresentazione cruda del testo (non viene analizzata la semantica) • Parole uguali che assumono nel documento significati differenti sono trattate come la stessa parola • Presenza di elevato rumore (vedremo più avanti) • Vantaggi: • Semplice e veloce • Relativamente bassa complessità computazionale • Buoni risultati (60 % – 70 % in classificazione) • Studiata da 15 anni Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Rumore • Con rumore si intende qualunque cosa che disturba il buon comportamento del sistema • In questo caso: • Parole poco informative sul topic del documento(articoli, congiunzioni, avverbi) • Parole diverse con significati simili (sinonimi) • Parole uguali con significati diversi (es. àncora e ancòra) • Verbi coniugati (vado e andare) • Per limitare alcuni di questi problemi sono stati studiati metodi di pre-processing Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Normalizzazione del testo • Consiste in quattro step di cui due opzionali: • Tokenization • Conversion to lowercase • Stemming • Stop-word • Tali operazioni tentano di ridurre il rumore introdotto dalla rappresentazione bag-of-word del documento Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Tokenization • Evita che parole e punteggiatura siano incorporate in un unico termine, separandoli come due parole disgiunte • Es. • “ Today, stocks closed higher on heavy trading. Many stocks, despite early losses, reached all time highs.” • “ Today , stocks closed higher on heavy trading . Many stocks , despite early losses , reached all time highs . ” • Ovviamente non è tutto così semplice: • Se il punto fa parte del termine deve rimanere tale (es. nomi di società, indirizzi e-mail ecc…) Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Conversion to lower case • Evita che termini scritti totalmente o parzialmente in maiuscolo e in minuscolo vengano considerati diversamente • Es. • “today , stocks closed higher on heavy trading . many stocks , despite early losses , reached all time highs . ” Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Stemming • Riporta i termini alla loro radice: • Verbi coniugati • Plurale e singolare • Maschile e femminile • Es. • “Today, stocks closed higher on heavy trading. Many stocks, despite early losses, reached all time highs.” • “Today, stock close high on heavy trade. Many stock, despite early loss, reach all time high.” Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Stop Words • Elimina le parole comuni con un grado di informazione minimo sul topic del documento: • Articoli • Congiunzioni • Avverbi • Verbi ausiliari • Verbi che non portano informazione (es. potere, fare, ecc…) • I termini sono così suddivisi in due tipi: • Stop Words: inutili all’individuazione del topic • Function Words: importanti per “capire” il topic Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Text-IR • Avevamo visto che Text Information Retrival raccoglie: • Text Retrieval: • Data una query, recuperare i documenti più attinenti • Text Segmentation: • Dato un documento, suddividerlo in sub-topic • Text Classification: • Determinare la classe del documento tra un insieme di classi prestabilito • Document Clustering: • Dato un database documentale, determinare l’insieme delle classi e gli abbinamenti classe-doumento • Vediamo come analizzare tali problemi utilizzando la filosofia Bag-Of-Word Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Text-IR - 1 • Text Retrieval: • La query Q è vista come un documento • Calcolo di sim(Q , Dj) per ogni documento Dj • Documenti con sim(Q , Dj) abbastanza elevato vengono ritenuti significativi per la ricerca e restituiti all’utente • Text Segmentation: • Si definiscono unità testuali atomiche lunghe k word dette sentenze: Si • Si calcola la similarità tra ogni unità e la sua successiva: sim( Sj , Sj+1 ) • Si considera un taglio quando tale valore scende sotto una soglia • Nomi eccellenti: Salton, Hearst, Reinar, Beeferman Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Text-IR - 2 • Text Classification: • Ogni classe Ci è vista come un documento (vettore) • Dato un documento Dj , si calcola sim(Ci , Dj) per ogni Ci • Dj viene inserito nella classe per cui sim(Ci , Dj) è massimo • Document Clustering: • Si prendono due o più punti a caso detti centroidi Ci • Per ogni documento Dj si calcola la sua similarità con i centroidi Ci : sim(Ci , Dj) • Si assegna Dj al centroide per cui sim(Ci , Dj) è massimo • Si calcola di nuovo i centroidi come media dei vettori che vi appartengono • Si ripete il procedimento fino a che il centroide non si stabilizza Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Text-IR conclusioni • Si può riportare ogni problema al calcolo di sim(Ci , Dj) • Utilizzando il Bag-Of-Word si possono risolvere tutti i problemi relativi al IR in maniera semplice ed elegante • Ovviamente vi sono altre tecniche (specialmente per la segmentazione ed il clustering) che si basano comunque su una rappresentazione BOW del testo • Segmentazione: dot-plot, entropiche, a regole, ecc.. • Clustering: gerarchico Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Altri approcci • Considerando il testo come sequenza temporale di parole: • HMM • Reti Neurali • Si cerca di: • Sfruttare l’informazione sulla posizione della parola • Individuare contesti • Scopo: • Determinare i topic all’interno dei documenti (segmentazione) • Classificare un documento in base ai sub-topic • Restituire documenti della classe desiderata Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
HMM & NN • Caratteristiche: • Il documento è rappresentato come sequenza • L’elemento i della sequenza rappresenta la parola i-esima nel documento • La dimensione dello spazio cresce • I termini acquistano significato in dipendenza della loro posizione nel documento (contesto) • E’ possibile effettuare la normalizzazione anche in questi casi • Funzionamento: • Per ogni sub-topic viene allenato un modello • La classe sarà data dal modello che massimizza la likelihood (Massima Verosimiglianza) • Ogni documento viene quindi rappresentato come sequenza di sub-topic ( o modelli) • E’ possibile creare a sua volta un modello di livello superiore che analizza sequenze di sub-topic e stabilisce la classe del documento Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Reference Information Retrieval: • “INFORMATION RETRIEVAL”, C. J. van RIJSBERGEN B.Sc., Ph.D., M.B.C.S. Topic Segmentation: • G. Salton: • “Automatic Text Decomposition Using Text Segments and Text Themes” • Hearst: • “Multi-paragraph Segmentation of Expository Text” • “TextTiling: A Quantitative Approach to Discourse Segmentation” • Beeferman: • “Statistical model for text segmentation” • J. Reinar: • “An automatic method of finding topic boundaries” • “Topic Segmentation: Algorithms and applications”, Ph.D Thesis Clustering: • “A Comparison of Document Clustering Techniques”, M. Steinbach, G. Karypis, V. Kumar Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione