Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Automatic Text Processing Ing....

31
Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Automatic Text Processing Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dell’Informazione Università di Siena Via Roma 53 53100 – SIENA – ITALY [email protected]

Transcript of Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Automatic Text Processing Ing....

Page 1: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Automatic Text Automatic Text ProcessingProcessing

Ing. Leonardo RigutiniDipartimento di Ingegneria dell’Informazione

Università di SienaVia Roma 53

53100 – SIENA – [email protected]

Page 2: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

OutlinesOutlines

L’era dell’informazioneInformation RetrievalI documenti di testoRappresentazione del testo:

Vettori di featureRappresentazione Bag-OF-WordImportanza di un termineMisura di similarità

Normalizzazione del testo:TokenizationConversion to lower caseLemmingStop-Word

Page 3: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

L’ era dell’ informazioneL’ era dell’ informazioneDocumento 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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Information RetrievalInformation RetrievalNecessità 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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Information RetrievalInformation RetrievalMisurare la similarità tra due o più documenti in modo da restituire all’utente i documenti più significativi:

Trovare una rappresentazione adeguata dei documenti

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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Documenti di testoDocumenti di testoLa 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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Text-IRText-IRText 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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Vettori - 1Vettori - 1Un 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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Vettore differenzaVettore differenzaDati 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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Distanza - 1Distanza - 1Possiamo 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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

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

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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

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

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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Text-IRText-IRAvevamo visto che Text Information Retrival raccoglie:

Text Retrieval:

– Data una query, recuperare i documenti più attinentiText 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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

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

Page 29: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Text-IR - 2Text-IR - 2Text 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 Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Text-IR conclusioniText-IR conclusioniCome si vede 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) ma si rifanno comunque ad una rappresentazione BOW del testo

Segmentazione: dot-plot, entropiche, a regole, ecc..

Clustering: gerarchico

Page 31: Rigutini Leonardo – Dipartimento di Ingegneria dellInformazione Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dellInformazione.

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