L'AIOM per Marco Venturini IL FUTURO PER L'ONCOLOGIA ITALIANA
Classificazione automatica dei nomi di evento in italiano Metodi di apprendimento e selezione di...
-
Upload
agata-marinelli -
Category
Documents
-
view
218 -
download
0
Transcript of Classificazione automatica dei nomi di evento in italiano Metodi di apprendimento e selezione di...
Classificazione automatica dei nomi di evento in italiano
Metodi di apprendimento e selezione di features
Lucia Passaro e Morena Venturini
Il problema:Il problema: Classificazione automatica dei nomi di evento in italiano.
Gli obiettivi:Gli obiettivi: a) individuazione dell’algoritmo di classificazione più efficiente;
b) individuazione dei tratti contestuali più utili al suo addestramento.
Lo strumento:Lo strumento: Weka.
Il corpus:Il corpus: Raccolta di articoli di quotidiani in italiano.
Il progetto
Il progetto nasce in seguito alla collaborazione (tirocinio) con l’Istituto di Linguistica Computazionale “A. Zampolli” del CNR di Pisa, nell’ambito dello studio della semantica del testo.
Classificazione automatica dei nomi di evento
La collaborazione è nata per validare lo schema di annotazione ISO-TimeML per l’italiano.
Riconoscimento degli eventi
Sono eventi tutti i verbiverbi, pochi aggettivi, aggettivi,
numerinumeri e preposizionipreposizioni, e parte dei nominomi.
Questi sono i più importanti e difficili da riconoscere, perché la loro eventività è stabilita dal contestocontesto nel quale ricorrono.
Un evento è
““qualcosa che accade in un certo istante qualcosa che accade in un certo istante
temporale, temporale,
un fatto, un avvenimento di interesse”.un fatto, un avvenimento di interesse”.
a) Nomi deverbali: arrivo, corsa, camminata;b) Nomi con lettura eventiva nelle proprietà
lessicali: guerra, uragano;c) Nomi di oggetto che sottintendono eventi
in particolari frasi: “Ho interrotto [la lettura de] il libro”;
d) Nomi che indicano stati temporanei: “l’ex amministratore”, “il nuovo creditore”.
I nomi sono considerati eventi in 4 casi particolari:
Riconoscimento degli eventi
Un piccolo sottogruppo dei nomi ha nelle proprie caratteristiche lessicali una connotazione eventiva.
guerra, riunione, concerto, alluvione…
La maggioranza dei nomi, invece, è
“eventiva in base al contesto in cui ricorre”.
Questi nomi, causano disaccordo nell’annotazione, che essa sia manuale o automatica.
L’importanza del contesto
L’importanza del contestoIl caso di assemblea:Il caso di assemblea:
“L’assemblea è prevista per le 20:00” [a][a]vs
“L’assemblea ha deciso che la società verrà quotata in borsa”. [b][b]
[a] [a] Con “assemblea” si intende la riunioneriunione di un certo gruppo di persone;
[b][b] Con “assemblea” indicano le personepersone stesse.
Apprendimento automaticoSi occupa della realizzazione di sistemi che, a partire da un dataset, imparano le “regole” che lo hanno generato.
Gli algoritmi di machine learning più usati appartengono a tre principali categorie:
a)Supervised learning; b)Unsupervised learning;c)Reinforcement learning.
Supervised Learning
L’apprendimento automatico supervisionato presuppone una preventiva annotazione dei dati.
A partire da un corpus annotato, gli algoritmi troveranno un modello in grado di approssimare la distribuzione reale dei dati, che servirà per predire statisticamente la classificazione di nuovi dati.
Descrizione del progetto
fase 1: acquisizione dei dati
fase 2: preparazione dei dati
fase 3: scelta delle features
fase 4: preparazione della matrice
fase 5: esperimenti con Weka
Il corpus di riferimento
Il corpus annotato manualmente presso l’ILC (concesso alla fine del tirocinio) è stato il punto di riferimento per l’utilizzo di tecniche di apprendimento automatico supervisionato.
Esso è formato da 149 articoli di quotidiani estratti dai corpora Tressi e PAROLE.
Il corpus Tressi, specialistico, contiene articoli di carattere economico – finanziario.
fase 1: acquisizione dei dati
fase 2: preparazione dei dati
fase 3: scelta delle features
fase 4: preparazione della matrice
fase 5: esperimenti con Weka
Il corpus è stato ricevuto in formato testo delimitato da tabulazione.
Sono stati selezionati i campi utili ai fini della classificazione automatica e modificati i tipi degli attributi sconvenienti per tale fine.
Preparazione del training set
Preparazione del training set
Rappresentazione di una tabella del database: dalla stessa sono stati selezionati i campi “articolo”, “id”, “PoS”, “forma”, “lemma”, “classe (evento)”.
Rappresentazione di una tabella del database: dalla stessa è stato selezionato il campo “numero frase”.
Selezione dei campi:Selezione dei campi:
a)identificatore articolo;b)identificatore univoco token;c)part of speech;d)forma;e)lemma;f) evento;g)numero di frase.
Preparazione del training set
Preparazione del training set
fase 1: acquisizione dei dati
fase 2: preparazione dei dati
fase 3: scelta delle features
fase 4: preparazione della matrice
fase 5: esperimenti con Weka
Scelta delle features
Per feature si intende un determinato contesto (morfologico, sintattico, semantico, ecc.) in cui ricorre, o potrebbe ricorrere, un nome di evento.
I tratti contestuali servono per addestrare un algoritmo di apprendimento automatico a classificare un nome come eventivo oppure no.
Scelta delle features
feature 1feature 1:: “il nome termina in –zione”;
feature 2:feature 2: “il nome termina in –mento”;
feature 3: feature 3: “il nome termina in –ata”;
feature 4:feature 4: “il nome termina in –nza”;
feature 5:feature 5: “il nome è argomento di determinati verbi”;
feature 6:feature 6: “il nome è argomento di un verbo aspettuale”;
feature 7:feature 7: “il nome è preceduto da attuale, vecchio, ex, nuovo”;
Scelta delle features
feature 8:feature 8: “il nome è argomento di un verbo di reporting”;
feature 9:feature 9: “il nome è preceduto da una preposizione”;
feature 10:feature 10: “il nome è preceduto da a/per causa di, per effetto di, per/in via di”;
feature 11:feature 11: “il nome è seguito da un evento”;
feature 12:feature 12: “nella stessa frase è presente un’espressione di tempo”.
Scelta delle features
Criteri adottati nella selezione:
[feat. 1-4][feat. 1-4] i suffissi deverbali -zione, -mento, -ata, -nza indicano tipicamente un nome eventivo:
manifestazione, licenziamento, scalata, insistenza…
[feat. 5][feat. 5] sono stati individuati dei verbi che, come loro argomento, presuppongono un evento:
“Ha preso parte ai massacri
commessi.”“Ciò non impedirà l’abbassamento dei tassi di
mercato.”
Scelta delle features
[feat. 6][feat. 6] i verbi aspettuali sono quasi sempre seguiti da un evento:
“L’Italia ha concluso un accordo con gli U.S.A.”
[feat. 7][feat. 7] gli aggettivi attuale, vecchio, ex, nuovo indicano un cambiamento di stato:
“L’attuale presidente assumerà la carica di executive vice president.”
[feat. 8][feat. 8] i nomi incrementativi o decrementativi sono stati annotati se argomento di un verbo di reporting:
“Ha registrato un aumento delle vendite.”
Scelta delle features
[feat. 9][feat. 9] alcuni nomi assumono o perdono lettura eventiva se preceduti da una preposizione:
“Per via dell’assenza del sindaco…”“In assenza del sindaco…”
[feat. 10][feat. 10] alcune costruzioni introducono sempre un evento:
“In via di ampliamento è la presenza di Rupert nel settore.”
“Si è passati da 2 a 5 mld per effetto di un boom delle vendite.”
Scelta delle features
[feat. 11][feat. 11] relativamente ai nomi seguiti da evento (con costruzione nome + prep + nome), sono applicate precise linee-guida di annotazione:
a)ev + prep + ev: annotati entrambi i nomi“Il segnale di disgelo proveniente da Parigi va
sostenuto.”
b) ev + prep + non-ev: annotato solo il primo nome
“Non resta che attendere la risposta del mercato.”
c) non-ev + prep + ev: nessun nome annotato
“Il discorso è stato rimandato ad un secondo ciclo di colloqui.”
Scelta delle features
[feat. 12][feat. 12] nella maggior parte dei casi un evento è segnalato dalla presenza di un’espressione temporale:
“L’esplosione è avvenuta a mezzanotte di lunedì.”
Questi tratti contestuali, se Questi tratti contestuali, se
considerati singolarmente, sono poco considerati singolarmente, sono poco
pregnanti: è la loro combinazione pregnanti: è la loro combinazione
che fornisce indicazioni affidabili che fornisce indicazioni affidabili
sulla reale presenza di un nome sulla reale presenza di un nome
eventivo.eventivo.
fase 1: acquisizione dei dati
fase 2: preparazione dei dati
fase 3: scelta delle features
fase 4: preparazione della matrice
fase 5: esperimenti con Weka
Preparazione della matrice
a)identificatore univoco token [attributo numerico incrementale];
b)lemma [attributo di tipo “string”]; c)evento [classe del nome - binario];d)insieme di features (f1, f2, f3, f4, f5,
f6, f7, f8, f9, f10, f11, f12) [binari].
Per “matrice di features” si intende un file di testo delimitato da tabulazione che possieda i seguenti attributi per ogni nome appartenente al corpus:
La matrice è stata realizzata usando Perl come linguaggio di programmazione.
Per ogni token del corpus è stato creato un array contenente i campi “ID” e “LEMMA” in cui le features hanno assunto valori binari (0/1).
Per procedere nell’analisi dei dati, la matrice è stata trasformata in uno dei formati compatibili con Weka (ARFF).
Preparazione della matrice
Preparazione della matrice
Estratto della matrice di features in formato testo delimitato da tabulazione.
fase 1: acquisizione dei dati
fase 2: preparazione dei dati
fase 3: scelta delle features
fase 4: preparazione della matrice
fase 5: esperimenti con Weka
Weka
Weka ((WaikatoWaikato EnvironmentEnvironment for for KKnowledgenowledge
AnalysisAnalysis)) è un software di data mining scritto in Java.Possiede un insieme completo di strumenti di pre – processing, algoritmi di apprendimento e metodi di valutazione. Per i dati in ingresso utilizza il formato ARFF (Attribute Relation Attribute Relation
File FormatFile Format).
Esperimento 1
Scelta del classificatore più efficiente
Classificatori a confrontoDopo aver preso in input il file ARFF con Weka sono stati selezionati sei diversi algoritmi di machine learning per la classificazione.
Tutti gli algoritmi sono testati sui dati con il metodo della cross validation: il corpus viene diviso in 10 parti di cui 9 vengono usate come training per la costruzione del modello, e 1 come test per la verifica. L’esperimento viene eseguito 10 volte e il risultato della classificazione scaturisce dalla media degli esperimenti.
Esistono diverse tipologie di algoritmi di apprendimento automatico supervisionato.Per ogni tipologia sono stati selezionati uno o due algoritmi particolari per la classificazione.
Classificatori a confronto
Classificatori a confrontoClassificatori a regole:
rules.ZeroR;
Classificatori bayesiani:
bayes.BayesNet;
bayes.NaiveBayes;
Classificatori Support Vector
Machine:
functions.SMO;
Classificatori ad alberi decisionali:trees.Id3;
trees.J48.
Principali misure di valutazionea)a) PrecisionPrecision: percentuale di predizioni positive corrette:
P = TP/(TP+FP);
b)b) RecallRecall: percentuale di istanze realmente positive classificate come positive: R = TP/(TP+FN);
c)c) TP rateTP rate: percentuale di istanze realmente positive classificate come positive: TP/(TP+FN);
d)d) FPFP raterate: percentuale di istanze realmente negative classificate erroneamente come positive: FP/(FP+TN);
e)e) AccuracyAccuracy: percentuale di istanze sia positive sia negative classificate correttamente: (TP+TN)/(TP+TN+FP+FN);
f)f) F1F1 measuremeasure: media armonica tra Precision e Recall :
2PR / (P+R).
Misure di valutazione rilevantiPoiché l’obiettivo è quello di studiare le prestazioni di un classificatore su una classe particolare, sono state prese in considerazione le misure di:
a) Percentuale di classificazione;a) Percentuale di classificazione;
b) Precision;b) Precision;
c) Recall;c) Recall;
d) F1-Measure.d) F1-Measure.
Confronto sui risultati ottenutiIl classificatore più adatto ai dati linguistici risulta essere quello di Support Vector MachineSupport Vector Machine poiché ha ottenuto il valore più alto di F1-Measure F1-Measure a parità di istanze classificate.
0,8890,9510,835019,50481,723trees.J48
0,9320,9420,92747,2866,14349,842trees.Id3
0,9160,9160,9450,9450,890,890014,25614,25686,6186,61functions.SMO functions.SMO
0,9040,950,865016,17984,853bayes.NaiveBayes
0,9130,9410,888014,62786,257bayes.BayesNet
0,86910,77024,55876,904rules.ZeroR
F1-Measure
Recall
Precision
Percent unclassified
Percent incorrect
Percent correct
Classificazione binaria
La classificazione binaria può essere considerata come una separazione di classi nello spazio delle features: la superficie di decisione è formata da una zona di classificazione positiva, una di classificazione negativa, e al centro una zona di incertezza.
Gli algoritmi SVM trovano il miglior separatore lineare, ossia quello in cui il margine è massimo.
I pregi di SVM
Gli algoritmi SVM sono i più adatti a dati linguistici perché quando non è sufficiente classificare i dati servendosi di una superficie di decisione bidimen-sionale, questi vengono proiettati in uno spazio dimensionale più ampio.
I dati linguistici, per la complessità sintattico complessità sintattico
– semantica– semantica che possiedono difficilmente trovano una rappresentazione lineare soddisfacente.
Analisi degli errori
Gli errori ricorrenti sono dovuti a:
a) False positives in presenza delle features morfologiche;
b) Scarsa selettività della feature indicante la presenza di preposizioni;
c) Eccessiva generalizzazione nell’estrazione delle features: Esse sono state selezionate sulla base delle euristiche generaliste ISO-TimeML. Il corpus sul quale sono state testate è invece specialistico;
d) Sparsità dei dati linguistici: La rarità delle osservazioni rende difficile l’addestramento statistico.
Sparsità dei dati
Sarebbe possibile ridurre i problemi legati alla sparsità dei dati linguistici proprio attraverso un’annotazione semiautomatica incrementale dei testi.
Una volta sviluppato il classificatore automatico, questo può essere usato per l’annotazione di nuovi testi. Dopo essere stati corretti manualmente, tali testi possono essere inseriti nel training corpus per un nuovo addestramento.
Un numero maggiore di esempi migliora l’addestramento statistico, e di conseguenza l’efficienza dei classificatori.
Esperimento 2
Individuazione dei tratti contestuali più utili all’addestramento
Miglioramento delle prestazioniLe prestazioni del classificatore SMO possono essere migliorate individuando, fra quelli selezionati, i tratti contestuali che risultano effettivamente utili al suo addestramento e tralasciando quelli poco significativi.
Focalizzare l’attenzione solo sugli attributi rilevanti serve a ridurre la mole di lavoro dell’algoritmo e a velocizzare la classificazione stessa.
Sottoinsiemi di featuresfase 1:fase 1: le features individuate sono state divise in tre sotto-gruppi in base alle loro caratteristiche:
gruppo 1gruppo 1:: attributi morfologici (features 1-4);
gruppo 2gruppo 2:: attributi semantici (features 5-8);
gruppo 3gruppo 3:: attributi sintattici (features 9-10).
Sono state escluse le features “speciali” 11 e 12.
Prove di classificazione
fase 2:fase 2: il corpus è stato classificato cambiando di volta in volta le features considerate nell’addestramento:
prova 1:prova 1: l’algoritmo è stato addestrato solo sui sottoinsiemi di features individuati in precedenza;
prova 2:prova 2: sono state aggiunte (ad ogni gruppo) le features
“speciali”.
Classificazione – prova 1 Risultati:
0,84410,85330,845714,66%85,34%gruppo 1
0,82170,84180,83715,8%84,2%gruppo 3
0,82140,84150,835615,9%84,1%gruppo 2
F1-Measure
Recall Precisio
n
IncorrectlyClassifiedInstances
CorrectlyClassifiedInstances
Il gruppo di features più predittivo è quello morfologico.
Le features del gruppo semantico sono quelle con meno potere discriminativo e provocano l’overfitting dell’algoritmo.
Classificazione – prova 1
0,8613,4%86,6%gruppo 1+ f.11-12
0,84850,86020,855114%86%gruppo 3+ f.11-12
0,84820,85960,854414%86%gruppo 2+ f.11-12
F1-Measure
Recall Precisio
n
IncorrectlyClassifiedInstances
CorrectlyClassifiedInstances
0,8603 0,8659
Risultati:
Classificazione – prova 2
L’aggiunta delle due features “speciali” fa aumentare la capacità predittiva di tutti i gruppi.
Si confermano i risultati ottenuti dopo il primo test.
Classificazione – prova 2
Prova conclusiva
Ipotesi:Ipotesi: addestrare l’algoritmo tralasciando le
features semantiche non compromette l’esito
della classificazione.
Risultati:
0,86050,86660,860913,33%86,67%tutte tranne semantiche
0,9160,9450,8913,39%86,61%tutte le features
F1-Measure
RecallPrecisio
n
Incorrectly
ClassifiedInstances
CorrectlyClassifiedInstances
I risultati non si sono abbassati di molto: la F1-Measure è passata da 0,916 a 0,8605.
Ciò significa che le features 5-8 possono essere tralasciate senza compromettere l’accuratezza e la correttezza della classificazione.
Prova conclusiva
I tratti più utili per addestrare un algoritmo di machine learning per l’annotazione dei nomi di evento sono:
“il nome termina in –zione”; “il nome termina in –mento”;“il nome termina in –ata”;“il nome termina in –nza”;“il nome è preceduto da una preposizione”;“il nome è preceduto da a/per causa di, per
effetto di, per/in via di”;“il nome è seguito da un evento”;“nella stessa frase è presente
un’espressione di tempo”.
Features più informative
Conclusioni
Prospettive
Il sistema creato può essere ampliato per:
a) Il riconoscimento di eventi esplicitati attraverso verbi, aggettivi, numeri, e preposizioni;
b) Adattare la selezione delle features ai corpora da annotare;
c) Rendere le features più o meno selettive a seconda del task.
In conclusione…
È lecito pensare che l’ampliamento del ampliamento del
modello modello possa condurre a una classificazione automatica in grado di superare in efficienza quella manuale realizzata da parlanti medi.
Si ringraziano per il progetto…
Alessandro Lenci,Tommaso Caselli,
Irina Prodanof.
Bibliografia essenziale
Bouckaert Remco R., et al. [2008], Weka Manual for version 3-6-0
Caselli Tommaso [2008], TimeML Annotation Guidelines for Italian Version 1.0. (Technical Report)
Gaeta Livio [2002], Quando i verbi compaiono come nomi. Un saggio di Morfologia Naturale. Franco Angeli Edizioni
Lanzi Pier Luca [2009], Corso di “Metodologie per Sistemi Intelligenti”. Politecnico di Milano
Navigli Roberto [2009], Corso di “Apprendimento Automatico”. Università di Roma, La Sapienza
Navigli Roberto [2009], Word Sense Disambiguation: A Survey. In ACM Computing Surveys, Vol. 41, No. 2, Article 10