1 / 33

Text Representation

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

Download Presentation

Text Representation

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. Text Representation Ing. Leonardo RigutiniDipartimento Ingegneria dell’Informazione E-mail: rigutini@dii.unisi.it Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

More Related