Classificazione automatica dei nomi di evento in italiano Metodi di apprendimento e selezione di features Lucia Passaro e Morena Venturini
Il progetto Il problema: Classificazione automatica dei nomi di evento in italiano. Gli obiettivi: a) individuazione dell’algoritmo di classificazione più efficiente; b) individuazione dei tratti contestuali più utili al suo addestramento. Lo strumento: Weka. Il corpus: Raccolta di articoli di quotidiani in italiano.
Classificazione automatica dei nomi di evento 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. La collaborazione è nata per validare lo schema di annotazione ISO-TimeML per l’italiano.
Riconoscimento degli eventi Un evento è “qualcosa che accade in un certo istante temporale, un fatto, un avvenimento di interesse”. Sono eventi tutti i verbi, pochi aggettivi, numeri e preposizioni, e parte dei nomi. Questi sono i più importanti e difficili da riconoscere, perché la loro eventività è stabilita dal contesto nel quale ricorrono.
Riconoscimento degli eventi I nomi sono considerati eventi in 4 casi particolari: Nomi deverbali: arrivo, corsa, camminata; 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”.
L’importanza del contesto 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 Il caso di assemblea: “L’assemblea è prevista per le 20:00” [a] vs “L’assemblea ha deciso che la società verrà quotata in borsa”. [b] [a] Con “assemblea” si intende la riunione di un certo gruppo di persone; [b] Con “assemblea” indicano le persone stesse.
Apprendimento automatico Si 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: Supervised learning; Unsupervised learning; 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 2: preparazione dei dati 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 del training set 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 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”.
Preparazione del training set Selezione dei campi: identificatore articolo; identificatore univoco token; part of speech; forma; lemma; evento; numero di frase.
Preparazione del training set
fase 3: scelta delle features 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 1: “il nome termina in –zione”; feature 2: “il nome termina in –mento”; feature 3: “il nome termina in –ata”; feature 4: “il nome termina in –nza”; feature 5: “il nome è argomento di determinati verbi”; feature 6: “il nome è argomento di un verbo aspettuale”; feature 7: “il nome è preceduto da attuale, vecchio, ex, nuovo”;
Scelta delle features feature 8: “il nome è argomento di un verbo di reporting”; feature 9: “il nome è preceduto da una preposizione”; feature 10: “il nome è preceduto da a/per causa di, per effetto di, per/in via di”; feature 11: “il nome è seguito da un evento”; feature 12: “nella stessa frase è presente un’espressione di tempo”.
Scelta delle features Criteri adottati nella selezione: [feat. 1-4] i suffissi deverbali -zione, -mento, -ata, -nza indicano tipicamente un nome eventivo: manifestazione, licenziamento, scalata, insistenza… [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] i verbi aspettuali sono quasi sempre seguiti da un evento: “L’Italia ha concluso un accordo con gli U.S.A.” [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] 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] alcuni nomi assumono o perdono lettura eventiva se preceduti da una preposizione: “Per via dell’assenza del sindaco…” “In assenza del sindaco…” [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] relativamente ai nomi seguiti da evento (con costruzione nome + prep + nome), sono applicate precise linee-guida di annotazione: 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] 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 considerati singolarmente, sono poco pregnanti: è la loro combinazione che fornisce indicazioni affidabili sulla reale presenza di un nome eventivo.
fase 4: preparazione della matrice 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 Per “matrice di features” si intende un file di testo delimitato da tabulazione che possieda i seguenti attributi per ogni nome appartenente al corpus: identificatore univoco token [attributo numerico incrementale]; lemma [attributo di tipo “string”]; evento [classe del nome - binario]; insieme di features (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12) [binari].
Preparazione della matrice 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 Estratto della matrice di features in formato testo delimitato da tabulazione.
fase 5: esperimenti con Weka 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 (Waikato Environment for Knowledge Analysis) è 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 File Format).
Scelta del classificatore Esperimento 1 Scelta del classificatore più efficiente
Classificatori a confronto Dopo 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.
Classificatori a confronto 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 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 valutazione Precision: percentuale di predizioni positive corrette: P = TP/(TP+FP); b) Recall: percentuale di istanze realmente positive classificate come positive: R = TP/(TP+FN); c) TP rate: percentuale di istanze realmente positive classificate come positive: TP/(TP+FN); d) FP rate: percentuale di istanze realmente negative classificate erroneamente come positive: FP/(FP+TN); Accuracy: percentuale di istanze sia positive sia negative classificate correttamente: (TP+TN)/(TP+TN+FP+FN); F1 measure: media armonica tra Precision e Recall : 2PR / (P+R).
Misure di valutazione rilevanti Poiché 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; b) Precision; c) Recall; d) F1-Measure.
Confronto sui risultati ottenuti Il classificatore più adatto ai dati linguistici risulta essere quello di Support Vector Machine poiché ha ottenuto il valore più alto di F1-Measure a parità di istanze classificate. Percent correct Percent incorrect Percent unclassified Precision Recall F1-Measure rules.ZeroR 76,904 24,558 0,77 1 0,869 bayes.BayesNet 86,257 14,627 0,888 0,941 0,913 bayes.NaiveBayes 84,853 16,179 0,865 0,95 0,904 functions.SMO 86,61 14,256 0,89 0,945 0,916 trees.Id3 49,842 6,143 47,286 0,927 0,942 0,932 trees.J48 81,723 19,504 0,835 0,951 0,889
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 – semantica che possiedono difficilmente trovano una rappresentazione lineare soddisfacente.
Analisi degli errori Gli errori ricorrenti sono dovuti 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.
Individuazione dei tratti contestuali più utili all’addestramento Esperimento 2 Individuazione dei tratti contestuali più utili all’addestramento
Miglioramento delle prestazioni Le 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 features fase 1: le features individuate sono state divise in tre sotto-gruppi in base alle loro caratteristiche: gruppo 1: attributi morfologici (features 1-4); gruppo 2: attributi semantici (features 5-8); gruppo 3: attributi sintattici (features 9-10). Sono state escluse le features “speciali” 11 e 12.
Prove di classificazione fase 2: il corpus è stato classificato cambiando di volta in volta le features considerate nell’addestramento: prova 1: l’algoritmo è stato addestrato solo sui sottoinsiemi di features individuati in precedenza; prova 2: sono state aggiunte (ad ogni gruppo) le features “speciali”.
Classificazione – prova 1 Risultati: Correctly Classified Instances Incorrectly Classified Instances Precision Recall F1-Measure gruppo 1 85,34% 14,66% 0,8457 0,8533 0,8441 gruppo 2 84,1% 15,9% 0,8356 0,8415 0,8214 gruppo 3 84,2% 15,8% 0,837 0,8418 0,8217
Classificazione – prova 1 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 2 Risultati: Correctly Classified Instances Incorrectly Classified Instances Precision Recall F1-Measure gruppo 1 + f.11-12 86,6% 13,4% 0,8603 0,8659 0,86 gruppo 2 + f.11-12 86% 14% 0,8544 0,8596 0,8482 gruppo 3 + f.11-12 86% 14% 0,8551 0,8602 0,8485
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.
tutte tranne semantiche Prova conclusiva Ipotesi: addestrare l’algoritmo tralasciando le features semantiche non compromette l’esito della classificazione. Risultati: 0,8605 0,8666 0,8609 13,33% 86,67% tutte tranne semantiche 0,916 0,945 0,89 13,39% 86,61% tutte le features F1-Measure Recall Precision Incorrectly Classified Instances Correctly
Prova conclusiva 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.
Features più informative 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”.
Conclusioni
Prospettive Il sistema creato può essere ampliato per: Il riconoscimento di eventi esplicitati attraverso verbi, aggettivi, numeri, e preposizioni; Adattare la selezione delle features ai corpora da annotare; Rendere le features più o meno selettive a seconda del task.
In conclusione… È lecito pensare che l’ampliamento del 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