• Non ci sono risultati.

4.4 Gli esperimenti

4.4.3 Gli ultimi esperimenti: aggiunta delle informazioni estratte

Come già annunciato nel capitolo precedente, l’annotazione degli errori e la predisposizione di uno schema di codifica specifico per la lingua italiana rap- presenta una delle principali innovazioni del corpus CItA. Per questa ragione, è stato deciso di sfruttare tale potenzialità per aggiungere nuova informazione lingustica ai vettori degli eventi e passare così ad una terza e ultima fase di esperimenti.

L’idea di utilizzare gli errori come features per i diversi compiti di classifica- zione era già stata sfruttata negli esperimenti discussi nell’articolo di Stefan Richter et al., nel quale però si era arrivati alla conclusione che tale informazio- ne linguistica non sembra influire particolarmente sui risultati. Ed è anche a partire dai dubbi riguardanti questa affermazione che è stato deciso di ripetere gli esperimenti sull’evoluzione delle competenze di scrittura, con la convizione che una più accurata annotazione degli errori avrebbe potuto portare a un perfezionamento dei risultati. Per questa ragione, prima di poter generare le nuove features, tutti i temi del corpus sono stati riannotati, rispetto ai metodi definiti nello studio di S. Richter, dagli insegnanti delle scuole ad un gruppo di annotatori esperti, al fine di raccogliere al meglio la reale distribuzione di questo dato linguistico. Inoltre, alle tre categorie di errore precedentemente definite106, è stato deciso di aggiungere l’annotazione anche per quanto riguar-

da l’errore di punteggiatura. Conclusasi la fase di codifica, per ogni tema è stato creato un file .txt contenente le frequenze di ognuna delle 26 sottocate- gorie di errori.

Una volta generati i file .txt, è stato necessario sviluppare uno piccolo script107

in grado di salvare, in un ulteriore output di testo, un vettore con la seguente struttura:

Codice studente, Vettore degli errori

Per aggiungere ulteriore informazione linguistica, inoltre, è stato deciso di inse- rire in coda alla lista di frequenze anche la somma totale degli errori e la somma delle quattro diverse tipologie predisposte nello schema di annotazione: errore grammaticale, errore ortografico, errore lessicale ed errore di punteggiatura108.

I risultati

Per l’ultima fase di esperimenti, dunque, il classificatore è stato eseguito su corpora contenenti anche le informazioni relative alla codifica degli errori, rag- giungendo così un totale di 555 features per singolo evento E (185 per ogni tema).

Osservando i risultati della tabella, si può facilmente notare che la qualità dei risultati è aumentata in tutti gli esperimenti, ad esclusione di quelli per i quali era già stata registrata un’accuratezza di 0,99. Ad esclusione di quest’ultimi, infatti, tutti gli altri compiti di classificazione presentano un incremento nei valori di F-Score. In particolare, nell’ordine temporale che mette a confronto tutte le prove del primo anno di un dato studente con quelle del secondo, si ottiene un miglioramento di circa 10 punti rispetto alla prima serie di espe- rimenti e di circa 6 punti rispetto alla seconda. Ancor più significativa è la variazione nei risultati che coinvolgono il confronto fra tutte le prove scritte a distanza di un anno, dove l’incremento è di circa 8 punti rispetto ad entrambe le fasi precedenti. In generale, i risultati ottenuti ci permettono di rilevare un’andamento che sembra porsi in contrasto con le considerazioni proposte nell’articolo di Stefan Richter et al. Difatti, nonostante l’incremento medio di tutti i dieci esperimenti non sia particolarmente elevato, il fatto che i risultati più significativi si ottengano nei compiti riguardanti gli intervalli temporali più

107Cfr. Appendice B.

ampi potrebbe suggerire che l’errore come feature linguistica contribuisce signi- ficativamente nel monitoraggio a lungo termine delle compentenze di scrittura. Come vedremo, questa ipotesi troverà la sua conferma nel capitolo seguente, quando andremo ad applicare un algoritmo di features selection per ottenere la classifica delle features più significative per i vari compiti di classificazione.

Scuole F-Score media 1 2 3 4 5 6 7 Terza fase Seconda fase Test 1: Prove a distanza = 1

0,58 0,55 0,55 0,59 0,46 0,53 0,50 0,53 0,52 Test 2: Ia prova - penultima prova (singolo anno)

0,48 0,57 0,54 0,50 0,69 0,59 0,50 0,55 0,54 Test 3: Io anno - IIo anno (senza prove comuni)

0,87 0,74 0,56 0,66 0,70 0,46 0,75 0,68 0,62 Test 4: Prove a distanza di un anno

0,82 0,66 0,53 0,37 0,72 0,58 0,80 0,65 0,57 Test 5: Ia prova - penultima prova (biennio)

0,80 0,85 0,48 0,85 0,53 0,70 0,92 0,73 0,70 Test 6: Ia prova - prova comune (singolo anno)

1,0 1,0 1,0 1,0 1,0 1,0 0,97 0,99 0,99 Test 7: Io anno - IIo anno (con prove comuni)

0,87 0,76 0,67 0,73 0,77 0,58 0,78 0,73 0,67 Test 8: Prove comuni

1,0 0,89 0,94 1,0 1,0 1,0 1,0 0,96 0,95 Test 9: Ia prova - prova comune (biennio)

1,0 1,0 1,0 1,0 1,0 0,95 1,0 0,99 0,99 Test 10: Tutte le prove

0,64 0,60 0,56 0,60 0,59 0,53 0,60 0,58 0,56

Tabella 23: Risultati della terza fase di esperimenti (in rapporto alle F-Score medie della seconda fase). In grassetto sono evidenziati i risultati più alti. Come per gli esperimenti precedenti, abbiamo deciso di sfruttare le quattro ca- tegorie di errori per ripetere i compiti di classificazione e determinare quale tra di esse contribuisce in maniera più significativa al miglioramento dei punteggi di F-Score. Nello specifico, i nuovi risultati sono stati ottenuti aggiungendo al vettore di ogni tema109 solamente le features relative ad una determinata

categoria di errori; una per ogni turno di classificazione. Osservando i dati raccolti nella Tabella 24, possiamo concludere che l’incremento dei punteggi in quest’ultima fase di classificazione è dovuto quasi esclusivamente alla presenza

109Già composto dalle 147 features originarie e da quelle relative alle medie di words

delle features riguardanti gli errori grammaticali. Ad esempio, da uno 0,67 del settimo compito di classificazione ottenuto senza sfruttare le caratteristiche relative agli errori, si passa ad uno 0,72 solamente grazie all’aggiunta della fre- quenza degli errori grammaticali. Inoltre, nel quinto compito di classificazione, il valore di F-Score che si ottiene sfruttando l’annotazione degli errori gramma- ticali è più alto di quello ottenuto utilizzando le quattro categorie insieme (da 0,74 a 0,73). Questo dato non fa altro che confermare quanto già affermato nel capitolo precedente: gli errori grammaticali, così come quelli ortografici, sono destinati a variare notevolmente nel corso dei due anni scolastici e forniscono dunque al classificatore un’importante indicazione sull’ordine cronologico di scrittura dei temi.

Features Test 5 (F-Score media) Test 7 (F-Score media)

Nessuna 0,70 0,67 Errore grammaticale 0,74 0,72 Errore ortografico 0,72 0,67 Errore lessicale 0,70 0,67 Errore di punteggiatura 0,68 0,67 Tutte 0,73 0,73

Tabella 24: Risultati di classificazione al variare delle features relative all’annotazione degli errori.

Per fornire un’ulteriore conferma dell’importante contributo degli errori ai fini del monitoraggio dei processi di apprendimento, abbiamo deciso di ripetere per un’ultima volta i compiti di classificazione, utilizzando però solamente le features linguistiche relative all’annotazione degli errori, per un totale quindi di 90 caratteristiche per ogni evento (30 per tema).

La selezione di esperimenti riportati in Tabella 25 ci permette di evidenziare che, nonostante la quantità esigua di proprietà linguistiche utilizzate per de- scrivere ogni tema, i compiti di classificazione riescono comunque ad ottenere dei punteggi di F-Score piuttosto significativi. Ad esempio, nel compito che mette a confronto tutte le prove del primo anno di un dato studente con quelle del secondo (Test 3), la differenza nei valori di F-Score è solamente di 5 punti percentuali (da 0,68 a 0,63), e se confrontiamo tali risultati con la fase prece- dente, notiamo che l’F-Score media subisce un incremento di circa un punto (da 0,62 a 0,63). In altre parole, le features relative all’annotazione degli er-

rori contribuiscono ai risultati di alcuni esperimenti più di quanto lo facciano le restanti variabili linguistiche, confermandoci ancora una volta l’importanza di tale realizzazione linguistica per tracciare l’evoluzione delle competenze di scrittura.

Scuole F-Score media 1 2 3 4 5 6 7 Solo errori terza fase Test 1: Prove a distanza = 1

0,51 0,54 0,49 0,49 0,53 0,53 0,40 0,50 0,53 Test 3: Io anno - IIo anno (senza prove comuni)

0,72 0,56 0,63 0,65 0,56 0,76 0,54 0,63 0,68 Test 4: Prove a distanza di un anno

0,65 0,57 0,62 0,56 0,64 0,67 0,53 0,61 0,65 Test 5: Ia prova - penultima prova (biennio)

0,72 0,74 0,74 0,70 0,65 0,63 0,54 0,69 0,73

Tabella 25: Risultati degli esperimenti 1, 3, 4 e 5 con le 90 features degli errori (in rapporto alle F-Score medie della terza fase).

5 L’indagine qualitativa

I risultati delle tre diverse fasi di classificazione, oltre a confermare la possi- bilità di un monitoraggio automatico delle compentenze di scrittura, ci hanno permesso di mettere in evidenza alcune caratteristiche fondamentali del corpus CItA e, più in generale, del processo diacronico di apprendimento e di evolu- zione del linguaggio scritto. Abbiamo infatti verificato che le caratteristiche linguistiche utilizzate sono utili per predire l’ordine di scrittura di due temi e che quindi è possibile sfruttarle per intercettare processi di apprendimento. Inoltre, abbiamo potuto confermare che maggiore è l’intervallo temporale fra due temi e più alta sarà la possibilità di identificare quale dei due sia stato scritta prima e che tutti gli esperimenti che coinvolgono le prove comuni pro- ducono i risultati più alti.

Poco però è stato detto sul contributo delle singole caratteristiche linguistiche e delle variabili di sfondo ai compiti di classificazione. Difatti, come illustrato nel capitolo relativo al corpus e al monitoraggio linguistico, le diverse proprietà lessicali, morfosintattiche e sintattiche possono rappresentare delle importanti misure attraverso le quali verificare i mutamenti delle competenze di scrittura. Allo stesso modo, le variabili estratte dai questionari ci hanno permesso di rilevare delle relazioni fra l’evoluzione linguistica degli studenti e il sostrato socio-culturale di riferimento.

Per tali ragioni, è stato deciso di specializzare ulteriormente la fase di classi- ficazione appena discussa, al fine di indivuare le componenti linguistiche che influiscono maggiormente nei vari esperimenti e, successivamente, di riscontra- re nuove relazioni fra i risultati di classificazione e le informazioni di sfondo.

dalle tecniche e dai risultati illustrati nelle pagine precedenti. In particolare, studieremo l’impatto delle singole caratteristiche linguistiche prese in esame attraverso un processo chiamato feature selection, che permette di valutare la rilevanza di ogni variabile in un processo di classificazione. Inoltre, andremo a ripetere tutti gli esperimenti delle fasi precedenti utilizzando solamente le variabili estratte a seguito della feature selection. Successivamente, andremo a verificare se esistono delle correlazioni significative fra la probabilità con cui il classificatore predice la classe di un determinato evento e le variabili di sfondo relative allo studente associato al dato record, in modo da poter confermare alcune dellee considerazioni discusse nelle precedenti ricerche e già citate nel corso della seguente relazione.

5.1 La feature selection

In apprendimento automatico, la feature selection (o selezione delle caratteri- stiche) è un procedimento che permette di isolare il sottoinsieme delle variabili più rilevanti da un gruppo di features prestabilite, al fine di semplificare la creazione del modello statistico, di ridurre i tempi di training e di massimiz- zare l’accuratezza del classificatore.

L’idea centrale è che buona parte degli eventi che vengono utilizzati per i com- piti di classificazione contengono molte variabili superflue o ridondanti, che possono perciò essere rimosse senza andare incontro ad una perdita d’informa- zioni110. Ad esempio, per quanto riguarda le features superflue possiamo men-

zionare quelle relative all’uso dei pronomi clitici e personali che, nel passaggio fra il primo e il secondo anno scolastico, presentano una variazione statistica pressoché identica. Per le caratteristiche ridonandi, anche dette dipendenti, possiamo invece citare la media di congiunzioni coordinanti e subordinanti al- l’interno di ogni tema: data la media di una delle due tipologie di congiunzioni, la media della seconda sarà direttamente deducibile dalla prima.

In generale, un algoritmo di feature selection può essere visto come la combina- zione di due processi distinti: ricerca dei sottoinsiemi di variabili e misurazione

110Jiliang Tang, Salem Alelyani e Huan Liu. «Feature selection for classification: A

di tali sottoinsiemi al fine di poter determinare la sezione migliore. Nonostante ciò, le metodologie implementate sono numerose e possono portare a risultati molto differenti fra di loro.

Per le nostre ricerche, è stato deciso di far riferimento ad un processo di estra- zione delle caratteristiche riconducibile all’insieme dei cosiddetti embedded me- thods, ovvero ad algoritmi che svolgono la selezione delle variabili come parte del procedimento di creazione del modello stesso. In altre parole, la feature selection viene implementata direttamente utilizzando algoritmi di classifica- zione111.

Prima però di passare alla discussione del processo utilizzato e dei rispetti- vi risultati, può essere utile soffermarsi sulle ragioni che hanno portato alla definizione di una fase di feature selection. Difatti, nonostate l’estrazione delle caratteristiche venga principalmente effettuata allo scopo di semplificare il co- sto delle risorse e di ridurre i tempi di classificazione, nel nostro caso specifico sono stati individuati altri due motivi fondamentali. Anzittutto, il proces- so di feature extraction permette di stilare una vera e propria classifica delle variabili più importanti a seconda dei diversi compiti di classificazione, e ciò potrebbe dunque garantire una visione più completa del contributo delle sin- gole componenti per i diversi ordini temporali. Inoltre, le features estratte a seguito di questa fase potrebbero essere messe a confronto con le valutazioni fatte nel capitolo relativo al corpus CItA e al monitoraggio linguistico, in modo da validare le considerazioni già fatte anche da un punto di vista strettamente automatico.

Secondariamente, una volta isolate le variabili linguistiche più significative, si potrebbero ripetere gli esperimenti di classificazione, per verificare se anche con una sezione limitata di features si riescono comunque ad ottenere dei ri- sultati significativi.

Per la nostra fase di feature selection è stato deciso di utilizzare la classe Extra-

111Isabelle Guyon e André Elisseeff. «An introduction to variable and feature selection».

TreesClassifier della libreria open source Scikit-learn112. In generale, questa classe permette di eseguire la classificazione utilizzando un sottoinsieme ca- suale di features candidate (come per gli algoritmi basati su foresta casuale), determinando la regola di splitting della sezione a partire da un insieme di so- glie generate casualmente113. Al fine delle nostre ricerche, è stato però deciso

di sfruttare solo ed esclusivamente i metodi relativi al calcolo del ranking delle variabili linguistiche. Nello specifico, sono state utilizzate le seguenti funzioni: ExtraTreesClassifier e fit, per la generazione della foresta casuale a partire da un set di record, e feature_importances_, per il calcolo della lista di features.

Una volta determinato l’algoritmo di riferimento, è stato sviluppato uno script in python da eseguire sul totale degli eventi (training set + test set) di ognuno dei dieci ordini temporali e in grado di restituire, per ciascuno degli intervalli, il ranking di tutte le 555 features. Inoltre, per poter ripetere gli esperimenti di monitoraggio, abbiamo utilizzato come input dello script anche i training set generati nelle fasi preliminari di classificazione, in modo da produrre la clas- sifica delle variabili linguistiche non solo per ogni ordine temporale ma anche per ogni scuola.

Di seguito sono riportate le righe del file feature-selection-forest.py relative alla generazione del ranking di features:

listaOrdinata = []

forest = ExtraTreesClassifier(n_estimators=1000, random_state=0) forest.fit(features, labels)

importances = forest.feature_importances_ indices = np.argsort(importances)[::-1] for num in indices:

listaOrdinata.append(num)

Poiché la funzione feature_importances_ restituisce la tassonomia delle

112Scikit-learn è una libreria open source in linguaggio python che contiene algoritmi di

apprendimento automatico. Per ulteriori informazioni: http://scikit-learn.org/ stable/(visitato il 13/02/2017).

113http://scikit-learn.org/stable/modules/ensemble.html (visitato il

features sotto forma di lista di indici, è stato sviluppato un ulteriore script114 che, prendendo in input il ranking appena generato e un file contenente i nomi delle caratteristiche, è in grado di restituire la classifica dei nomi delle variabili.

Conclusasi la fase di feature selection, si è potuti passare anzitutto alla nuova fase di esperimenti, per la quale è stato necessario apportare alcune modifiche al classificatore, e successivamente al confronto fra i ranking dei diversi ordini temporali, in modo da poter rilevare le features linguistiche che contribuiscono maggiormente ai compiti di classificazione.

Documenti correlati