Post on 03-Jan-2016
description
transcript
Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione
Text RepresentationText Representation
Ing. Leonardo RigutiniDipartimento Ingegneria dell’Informazione
E-mail: rigutini@dii.unisi.it
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
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..
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)
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
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.
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
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
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
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)
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,
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
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
α
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°
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
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)
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
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
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à
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
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
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
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…)
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 . ”
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.”
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
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
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
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
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
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
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
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