SlideShare une entreprise Scribd logo
1  sur  19
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
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
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
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
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
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
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
METODOLOGIA
Diagramma di Flusso




                 Dipartimento di Elettronica e Informazione
                                                                      8
            Corso di Laurea Specialistica in Ingegneria Informatica
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
CONFRONTO CONCETTUALE
Confronto dei diagrammi di flusso concettuali




                  Dipartimento di Elettronica e Informazione
                                                                       10
             Corso di Laurea Specialistica in Ingegneria Informatica
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
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
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
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
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
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
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
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
DOMANDE?

      Dipartimento di Elettronica e Informazione
                                                           19
 Corso di Laurea Specialistica in Ingegneria Informatica

Contenu connexe

En vedette

ppt Laurea Magistrale
ppt Laurea Magistraleppt Laurea Magistrale
ppt Laurea MagistraleMaria Zulpo
 
Presentazione Tesi di Laurea Specialistica
Presentazione Tesi di Laurea SpecialisticaPresentazione Tesi di Laurea Specialistica
Presentazione Tesi di Laurea Specialisticamoncio
 
Tesi di laurea triennale: Rilevamento geologico dell'area di Tagliacozzo (AQ)
Tesi di laurea triennale: Rilevamento geologico dell'area di Tagliacozzo (AQ)Tesi di laurea triennale: Rilevamento geologico dell'area di Tagliacozzo (AQ)
Tesi di laurea triennale: Rilevamento geologico dell'area di Tagliacozzo (AQ)Mario Valiante
 
La mia Tesi di Laurea - Disturbi Comportamento Alimentare
La mia Tesi di Laurea - Disturbi Comportamento AlimentareLa mia Tesi di Laurea - Disturbi Comportamento Alimentare
La mia Tesi di Laurea - Disturbi Comportamento AlimentareValentina Ugolini
 
Università Di Salerno Presentazione Tesi Gaetano Costa
Università Di Salerno   Presentazione Tesi Gaetano CostaUniversità Di Salerno   Presentazione Tesi Gaetano Costa
Università Di Salerno Presentazione Tesi Gaetano Costaguest777bcf
 
Presentazione tesi laurea magistrale
Presentazione tesi laurea magistralePresentazione tesi laurea magistrale
Presentazione tesi laurea magistraleLuigi De Russis
 
Slides tesi di laurea Fabiano Dalla Piazza
Slides tesi di laurea Fabiano Dalla PiazzaSlides tesi di laurea Fabiano Dalla Piazza
Slides tesi di laurea Fabiano Dalla PiazzaFabiano Dalla Piazza
 

En vedette (7)

ppt Laurea Magistrale
ppt Laurea Magistraleppt Laurea Magistrale
ppt Laurea Magistrale
 
Presentazione Tesi di Laurea Specialistica
Presentazione Tesi di Laurea SpecialisticaPresentazione Tesi di Laurea Specialistica
Presentazione Tesi di Laurea Specialistica
 
Tesi di laurea triennale: Rilevamento geologico dell'area di Tagliacozzo (AQ)
Tesi di laurea triennale: Rilevamento geologico dell'area di Tagliacozzo (AQ)Tesi di laurea triennale: Rilevamento geologico dell'area di Tagliacozzo (AQ)
Tesi di laurea triennale: Rilevamento geologico dell'area di Tagliacozzo (AQ)
 
La mia Tesi di Laurea - Disturbi Comportamento Alimentare
La mia Tesi di Laurea - Disturbi Comportamento AlimentareLa mia Tesi di Laurea - Disturbi Comportamento Alimentare
La mia Tesi di Laurea - Disturbi Comportamento Alimentare
 
Università Di Salerno Presentazione Tesi Gaetano Costa
Università Di Salerno   Presentazione Tesi Gaetano CostaUniversità Di Salerno   Presentazione Tesi Gaetano Costa
Università Di Salerno Presentazione Tesi Gaetano Costa
 
Presentazione tesi laurea magistrale
Presentazione tesi laurea magistralePresentazione tesi laurea magistrale
Presentazione tesi laurea magistrale
 
Slides tesi di laurea Fabiano Dalla Piazza
Slides tesi di laurea Fabiano Dalla PiazzaSlides tesi di laurea Fabiano Dalla Piazza
Slides tesi di laurea Fabiano Dalla Piazza
 

Similaire à Tesi di Laurea Specialistica

Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...Luigiantonio Ionio
 
Sistemi per l'elaborazione delle informazioni
Sistemi per l'elaborazione delle informazioniSistemi per l'elaborazione delle informazioni
Sistemi per l'elaborazione delle informazioniMarco Liverani
 
Java al servizio della data science - Java developers' meeting
Java al servizio della data science - Java developers' meetingJava al servizio della data science - Java developers' meeting
Java al servizio della data science - Java developers' meetingNicola Pedot
 
2019-06-14:2 - Perchè comprimere una rete neurale?
2019-06-14:2 - Perchè comprimere una rete neurale?2019-06-14:2 - Perchè comprimere una rete neurale?
2019-06-14:2 - Perchè comprimere una rete neurale?uninfoit
 
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...Stefano Costanzo
 
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...Marco Potok
 
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...DavideFegez
 
Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power biBig data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power biMarco Pozzan
 
Blockchain e AI: verso una nuova finanza
Blockchain e AI: verso una nuova finanzaBlockchain e AI: verso una nuova finanza
Blockchain e AI: verso una nuova finanzaAlessandro Greppi
 
Presentazione Telco Labs
Presentazione Telco LabsPresentazione Telco Labs
Presentazione Telco Labsvolley81
 
Design patterns - parte 1
Design patterns - parte 1Design patterns - parte 1
Design patterns - parte 1Fabio Armani
 
Java Network Programming
Java Network ProgrammingJava Network Programming
Java Network ProgrammingStefano Sanna
 
SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...
SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...
SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...guest12aaa586
 
Progetto e sviluppo del modulo client per una applicazione mhp per la gestion...
Progetto e sviluppo del modulo client per una applicazione mhp per la gestion...Progetto e sviluppo del modulo client per una applicazione mhp per la gestion...
Progetto e sviluppo del modulo client per una applicazione mhp per la gestion...ICL - Image Communication Laboratory
 

Similaire à Tesi di Laurea Specialistica (20)

ORM - Introduzione
ORM - IntroduzioneORM - Introduzione
ORM - Introduzione
 
Sentiment candida 27_may
Sentiment candida 27_maySentiment candida 27_may
Sentiment candida 27_may
 
Database Data Aggregator
Database Data AggregatorDatabase Data Aggregator
Database Data Aggregator
 
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...
 
Sistemi per l'elaborazione delle informazioni
Sistemi per l'elaborazione delle informazioniSistemi per l'elaborazione delle informazioni
Sistemi per l'elaborazione delle informazioni
 
Java al servizio della data science - Java developers' meeting
Java al servizio della data science - Java developers' meetingJava al servizio della data science - Java developers' meeting
Java al servizio della data science - Java developers' meeting
 
2019-06-14:2 - Perchè comprimere una rete neurale?
2019-06-14:2 - Perchè comprimere una rete neurale?2019-06-14:2 - Perchè comprimere una rete neurale?
2019-06-14:2 - Perchè comprimere una rete neurale?
 
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
 
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
 
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
 
Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power biBig data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi
 
Blockchain e AI: verso una nuova finanza
Blockchain e AI: verso una nuova finanzaBlockchain e AI: verso una nuova finanza
Blockchain e AI: verso una nuova finanza
 
Catalogo corsi Emerasoft 2013 - 2014
Catalogo corsi Emerasoft 2013 - 2014Catalogo corsi Emerasoft 2013 - 2014
Catalogo corsi Emerasoft 2013 - 2014
 
Presentazione Telco Labs
Presentazione Telco LabsPresentazione Telco Labs
Presentazione Telco Labs
 
Presentazione Telco Labs
Presentazione Telco LabsPresentazione Telco Labs
Presentazione Telco Labs
 
Design patterns - parte 1
Design patterns - parte 1Design patterns - parte 1
Design patterns - parte 1
 
Java Network Programming
Java Network ProgrammingJava Network Programming
Java Network Programming
 
SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...
SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...
SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...
 
Database relazionali
Database relazionaliDatabase relazionali
Database relazionali
 
Progetto e sviluppo del modulo client per una applicazione mhp per la gestion...
Progetto e sviluppo del modulo client per una applicazione mhp per la gestion...Progetto e sviluppo del modulo client per una applicazione mhp per la gestion...
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