rigutini leonardo – dipartimento di ingegneria dellinformazione text representation ing. leonardo...

33
Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Text Representation Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dell’Informazione E-mail: [email protected]

Upload: sofia-fabiani

Post on 01-May-2015

235 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Text RepresentationText Representation

Ing. Leonardo RigutiniDipartimento Ingegneria dell’Informazione

E-mail: [email protected]

Page 2: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

OutlinesOutlines

• 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

Page 3: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Era dell’ informazioneEra 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..

Page 4: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Information RetrievalInformation 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)

Page 5: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Information RetrievalInformation Retrieval

• Disciplina che studia tecniche per il recupero dell’informazione– Es. Motori di ricercaEs. Motori di ricerca

• Scopo:– Recupero dei documenti “giusti” durante la ricerca da parte dell’utente

• Misure per l’ IR:

– RECALL:

– PRECISION:

n° relevant items retrievedn° relevant items in collection

n° relevant items retrieved total n° items retrieved

Page 6: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

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

Page 7: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Documenti di testoDocumenti 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

Page 8: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Text-IRText-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

Page 9: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rappresentazione del testoRappresentazione 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

Page 10: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Vettori - 1Vettori - 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 spazio

P = ( x1 , x2 , … , xn )

x1

x2

x3

P (x1,x2,x3)

x1

x2

P (x1,x2)

Page 11: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

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

22

21 )(x )(x P

x1

x2

P (x1,x2)

α

P

P

2211 b ·ab ·a BA,

Page 12: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Vettore differenzaVettore differenza

• Dati due punti (vettori) è possibile calcolare il vettore differenza:

• Quanto vale A-B ?– A-B= C (a1-b1 , a2-b2 )

a1

a2A (a1,a2)

b1

b2 B (b1,b2)

a2-b2

C (a1-b1 , a2-b2)

a1-b1

Page 13: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Distanza - 1Distanza - 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

222

211 )b (a )b (a BA

a1

a2A (a1,a2)

b1

b2 B (b1,b2)

B A

BA, cos

α

Page 14: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Distanza - 2Distanza - 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)

b1

B (b1,0)α =90°

Page 15: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Vector Space ModelVector 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:

1.

2.

3. tf.idf:

4. …altri

• Tale rappresentazione è detta comunemente Bag-of-Word

i documento nel apparek termineilche voltedi numero n i, kiw

collezione interanell'k terminedel frequenza

i documento nelk terminedel frequenza, kiw

altrimenti 0

i documento nel apparek termineil se 1,kiw

Page 16: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Es. BOW (Bag-of-Word)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)

Page 17: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Grado di similarità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) = ji

ji

DD

D , D

Page 18: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Es. (reprise)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

Page 19: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Soglia di similarità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à

Page 20: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Bag-Of-WordBag-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

Page 21: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

RumoreRumore

• 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

Page 22: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Normalizzazione del testoNormalizzazione del testo

• Consiste in quattro step di cui due opzionali:1. Tokenization

2. Conversion to lowercase

3. Stemming

4. Stop-word

• Tali operazioni tentano di ridurre il rumore introdotto dalla rappresentazione bag-of-word del documento

Page 23: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

TokenizationTokenization

• 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…)

Page 24: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Conversion to lower caseConversion 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 . ”

Page 25: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

StemmingStemming

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

Page 26: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Stop WordsStop 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

Page 27: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Text-IRText-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

Page 28: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Text-IR - 1Text-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( S j , Sj+1 )

– Si considera un taglio quando tale valore scende sotto una soglia

– Nomi eccellenti: Salton, Hearst, Reinar, Beeferman

Page 29: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Text-IR - 2Text-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

Page 30: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Text-IR conclusioniText-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

Page 31: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Altri approcciAltri 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

Page 32: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

HMM & NNHMM & 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

Page 33: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione E-mail:

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

ReferenceReference

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