Progetto e sviluppo del modulo client per una applicazione mhp per la gestion...
Tesi di Laurea Specialistica
1. POLITECNICO DI MILANO
Facoltà di Ingegneria
Dipartimento di Elettronica e Informazione
Corso di Laurea Specialistica in Ingegneria Informatica
CLASSIFICAZIONE SINTATTICA CON METODI INSIEMISTICI
Relatore: Prof.sa Chiara Francalanci
Co-Relatori: Ing. Francesco Merlo, Ing. Alessandro Poli
Tesi di laurea di: Claudio Carcaci
Matricola 725004
2. AMBITI E OBIETTIVI GENERALI
• Il lavoro svolto ha come obiettivo quello di fornire una nuova
metodologia mirata alla classificazione “veloce” di testi “brevi”
• All’interno di un dominio specifico la metodologia deve essere in
grado di fornire un’analisi puntuale dei dati aggregandoli
secondo categorie utili rispetto al dominio
• I dati sono post, tweet, in generale messaggi estratti dalla rete
internet, quindi necessariamente “brevi”, non strutturati e
numerosi
• In questo modo è possibile individuare informazioni significative
a cui, a valle, applicare tecniche di sentiment analysis o data
mining
• Si vuole quindi proporre come nuova metodologia due nuovi
algoritmi di classificazione sintattica
Dipartimento di Elettronica e Informazione
2
Corso di Laurea Specialistica in Ingegneria Informatica
3. CLASSIFICAZIONE SINTATTICA
Cos’è?
• In letteratura, per quanto riguarda i testi, è chiamata
TEXT CATEGORIZATION
• Classificare significa raggruppare/associare i testi in base ad una
vicinanza di significato stimata in base alle caratteristiche dei
testi. È possibile valutare tale vicinanza servendosi di metodi
semantici o metodi sintattici
• Metodi semantici: si servono di ontologie e informazioni
aggiuntive per valutare anche il significato del testo
• Metodi sintattici: valutano solo la struttura dati del testo senza
preoccuparsi del significato
• I metodi sintattici sono più veloci rispetto a quelli semantici e
consentono teoricamente di operare in tempo reale
Dipartimento di Elettronica e Informazione
3
Corso di Laurea Specialistica in Ingegneria Informatica
4. STATO DELL’ARTE
Information Retrieval e Text Categorization
• Information Retrieval (IR): algoritmi che soddisfano l’esigenza
di ritrovare informazioni all’interno di grossi insiemi di dati.
L’evoluzione più recente sono i moderni motori di ricerca
• Text Categorization (TC): algoritmi che fanno uso di tecniche
matematiche che permettono la modellazione e la classificazione di
testi, nascono come evoluzione delle tecniche IR
• Esistono decine di metodi TC in letteratura che operano su testi
“lunghi” (100-500 parole), di questi si sono scelti i migliori per
confrontarli con gli algoritmi sviluppati
• Il funzionamento degli algoritmi esistenti su testi “brevi” (10-15
parole) non è stato testato fino ad oggi
• É un problema attuale vista la diffusione dei Social Network,
Dipartimento di Elettronica e Informazione
4
Corso di Laurea Specialistica in Ingegneria Informatica
5. CARATTERISTICHE
Valutazione degli algoritmi esistenti
• Le caratteristiche considerate per valutare gli algoritmi esistenti
tra loro sono:
– Utilizzo di dati relativi al contesto: dominio concettuale di provenienza
– Immunità al fenomeno dell’overfitting
– Bassa complessità computazionale
– Algoritmo “in linea”: non necessita di dati di training e test
– Valutazione istantanea di più classi di destinazione
– Classificazione incrementale di nuovi testi
• I due algoritmi presenti in letteratura che offrono queste
caratteristiche e quindi scelti come confronto con quelli proposti
sono:
– k-NN: classifica in base ai “k” testi più “vicini”
– LSI: sfrutta la decomposizione a valori singolari (SVD) della matrice delle
“distanze” tra testi
Dipartimento di Elettronica e Informazione
5
Corso di Laurea Specialistica in Ingegneria Informatica
6. OBIETTIVI SPECIFICI
Il nuovi algoritmi dovranno essere…
• Tempo reale: si vogliono ottenere degli algoritmi che
istantaneamente (meno di un secondo) classifichino finestre di un
centinaio di testi
• Capaci di classificare testi brevi: gli algoritmi proposti devono
essere in grado di classificare testi estratti dai social
network, quindi necessariamente “brevi”
• Immuni alle riduzioni applicate: le elaborazioni preventive
applicate non devono influire sulla qualità della classificazione.
Esse sono necessarie per il miglioramento delle tempistiche, quindi
imprescindibili nella classificazione
Dipartimento di Elettronica e Informazione
6
Corso di Laurea Specialistica in Ingegneria Informatica
7. METODOLOGIA
Schema concettuale di riferimento
• Relazione tra testi e termini: una volta forniti i testi da classificare è
possibile calcolare una matrice di rilevanza R, le cui dimensioni sono
termini e testi
• Relazione tra testi e classi: è la relazione che gli algoritmi di
classificazione si prefiggono di soddisfare
• Relazione tra termini e classi: opzionale ai fini della classificazione, è
definibile tramite metadati di supporto oppure a posteriori
identificando i termini appartenenti ai testi classificati nelle varie classi
Dipartimento di Elettronica e Informazione
7
Corso di Laurea Specialistica in Ingegneria Informatica
8. METODOLOGIA
Diagramma di Flusso
Dipartimento di Elettronica e Informazione
8
Corso di Laurea Specialistica in Ingegneria Informatica
9. METODOLOGIA
Diagramma di flusso
• Presi i testi da classificare si generano gli alberi sintattici
attraverso un parser LL(1) derivato da una semplice grammatica
• Si effettua quindi una prima fase di riduzione delle dimensioni
eliminando le stopword e troncando i suffissi (suffix-stemming)
• In seguito si calcola la matrice di rilevanza R che incide nella
relazione tra testi e termini
• Si effettua una seconda fase di riduzione delle dimensioni
rimuovendo i termini con una rilevanza massima all’interno dei
testi “bassa” (term-weighting)
• Infine si passa alla classificazione vera e propria con uno degli
algoritmi proposti (ExhaustiveSets o la sua estensione
ExhaustiveSets+Meta) o di confronto (k-NN o LSI)
Dipartimento di Elettronica e Informazione
9
Corso di Laurea Specialistica in Ingegneria Informatica
10. CONFRONTO CONCETTUALE
Confronto dei diagrammi di flusso concettuali
Dipartimento di Elettronica e Informazione
10
Corso di Laurea Specialistica in Ingegneria Informatica
11. EXHAUSTIVESETS
Un semplice esempio di funzionamento
• Dati i testi:
– “Oggi nevica, domani pure”
– “Nevica un giorno sì e l’altro pure”
– “Quando fa freddo, nevica”
• Classifico:
Ok! L’attinenza tra questi testi e la
“Oggi nevica, domani pure” classe creata è pari alla somma
“Nevica un giorno sì e l’altro pure” della rilevanza dei termini
“nevica” e “pure” nei due testi
“Quando fa freddo, nevica” No! Questo testo non ha
un’elevata attinenza rispetto alla
classe precedente, verrà facilmente
scremato
Dipartimento di Elettronica e Informazione
11
Corso di Laurea Specialistica in Ingegneria Informatica
12. EXHAUSTIVESETS
Considerazioni
• L’algoritmo ExhaustiveSets, sfruttando la natura sparsa della
matrice, individua “blocchi” di parole contenute in testi che di
conseguenza vengono classificati nella stessa classe
• Con la dovute ottimizzazioni l’algoritmo perviene ad una
complessità logaritmico-polinomiale sul numero di termini
(cardinalità dell’insieme dei termini)
• In seguito vi è una fase di scrematura delle classi dove per ogni
testo conserva l’associazione tra testo e classe con rilevanza
massima
Dipartimento di Elettronica e Informazione
12
Corso di Laurea Specialistica in Ingegneria Informatica
13. EXHAUSTIVESETS+META
Algoritmo con apprendimento
• Fornendo dati aggiuntivi relativi al contesto (dominio) ossia un
elenco di classi e dei termini relativi ad ognuna di esse si ottiene
uno schema concettuale:
• Si può quindi implementare un algoritmo di tipo greedy e capace
di apprendere, estensione del precedente
• L’algoritmo ha una complessità logaritmico (nel numero di termini
associati alle classi e nel numero di testi) lineare (nel numero di
classi)
Dipartimento di Elettronica e Informazione
13
Corso di Laurea Specialistica in Ingegneria Informatica
14. EXHAUSTIVESETS+META
Un semplice esempio di funzionamento
• Partendo dai soliti testi:
– “Oggi nevica, domani pure”
– “Nevica un giorno sì e l’altro pure”
– “Quando fa freddo, nevica”
• Con i metadati:
– Classe:{“neve su più giorni”}, termini associati:{“nevica”,”pure”,”giorno”}
• Classifico:
“Oggi nevica, domani pure” al termine “giorno” rinforzo negativo
+ OK:+ + OK:+
“Nevica un giorno sì e l’altro pure”
OK:+ OK:+ OK:+
stopword stopword
“Quando fa freddo, nevica” “giorno” e “pure” rinforzo negativo
+ OK:+
stopword
Dipartimento di Elettronica e Informazione
14
Corso di Laurea Specialistica in Ingegneria Informatica
15. PRIMA FASE DI TEST
ExhaustiveSets vs k-NN e LSI
• Usando il dataset Reuters-21578* si è preso come testi i titoli dei
primi 300 articoli
• Si sono ottenuti valori qualitativi in termini di precision/recall e
altre metriche derivate nulli per quanto riguarda k-NN e LSI e di
circa 0.36 (P e R) per quanto riguarda ExhaustiveSets
• I tempi di parsing e riduzione iniziali erano trascurabili
• I tempi di classificazione andavano dai 4 secondi per k-NN, a
qualche decina di secondi per ExhaustiveSets fino a circa 120
secondi per LSI
• Si è notato come le riduzioni iniziali:
– Influivano molto sui tempi di classificazione, come ci si aspettava
– Non influivano sulla qualità della classificazione
* Dataset composto da 21578 articoli formattati in XML estratti da pubblicazioni Reuters
http://www.daviddlewis.com/resources/testcollections/reuters21578/
Dipartimento di Elettronica e Informazione
15
Corso di Laurea Specialistica in Ingegneria Informatica
16. PRIMA FASE DI TEST
ExhaustiveSets vs k-NN e LSI
• La logica di ExhaustiveSets consente di migliorare
significativamente le tempistiche di esecuzione rispetto alle
riduzioni applicate
• ExhaustiveSets è “immune”, qualitativamente parlando, alle
riduzioni
• Tuttavia ExhaustiveSets non offre risultati incoraggianti in termini
qualitativi pur essendo infinitamente più preciso rispetto agli
algoritmi di confronto che su testi brevi danno risultati nulli
• Anche le tempistiche non sono certo funzionali in un contesto
tempo-reale
• Fornendo dati relativi al contesto la situazione migliora…
Dipartimento di Elettronica e Informazione
16
Corso di Laurea Specialistica in Ingegneria Informatica
17. SECONDA FASE DI TEST
ExhaustiveSets vs ExhaustiveSets+Meta
• Appurata la solidità della classificazione relativamente alle riduzioni
adottate si sono confrontati l’algoritmo base e quello esteso
• Si è usato il dataset Torcia*, consistente in 90 testi “brevi” relativi alle
emergenze classificati con i relativi metadata tra termini e classi
• I risultati ottenuti questa volta sono stati incoraggianti: come previsto
ExhaustiveSets ha classificato qualitativamente male, mentre
ExhaustiveSets+Meta ha fornito valori qualitativi accettabili,
precision attorno a 0.65, recall attorno a 0.8
• I tempi di classificazione erano di 130 secondi per ExhaustiveSets e
meno di un secondo per ExhaustiveSets+Meta, riuscendo quindi a
soddisfare il vincolo di tempo-reale
* Dataset composto da 90 testi brevi estratti da Twitter e classificati manualmente nel lavoro relativo al
progetto Torcia finanziato da Regione Lombardia per la gestione delle emergenze, www.sos-torcia.it
Si consulti: A. Palla “Metodologia per la gestione delle emergenze basata su informazione sociale”, 2012
Dipartimento di Elettronica e Informazione
17
Corso di Laurea Specialistica in Ingegneria Informatica
18. CONCLUSIONI
• L’obiettivo di questo lavoro era quello di ottenere almeno un
algoritmo che soddisfacesse i vincoli:
– Tempo reale
– Capace di operare su testi brevi
– Immune alle riduzioni applicate
• Si è riusciti ad ottenere tale scopo tramite un algoritmo, estensione
di quello base, che fa uso di metadati e dove la classificazione è
“centrata” sui termini in modo molto diretto per poter garantire la
giusta “velocità” di esecuzione in tempo reale
• L’algoritmo, estensione di quelle base, proposto è in grado di fare
apprendimento ossia raffinare i suoi risultati qualitativi
Dipartimento di Elettronica e Informazione
18
Corso di Laurea Specialistica in Ingegneria Informatica
19. DOMANDE?
Dipartimento di Elettronica e Informazione
19
Corso di Laurea Specialistica in Ingegneria Informatica