Consorzio ICoN – Italian Culture on the Net Universit` a di Bari, Cassino, Catania, Genova, I.U.L.M., Milano Statale, Napoli L’Orientale, Padova, Parma, Pavia, Perugia per Stranieri, Pisa, Roma La Sapienza, Roma Tor Vergata, Roma Tre, Salerno, Siena per Stranieri, Teramo, Torino, Trento e Venezia Corso di Laurea in Lingua e Cultura italiana per stranieri [Classe 5 delle lauree in Lettere] UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO Relatore: Candidato: Chiarissimo Professor Alessandro Lenci Tiago Tresoldi Anno Accademico 2006-2007
42
Embed
UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Consorzio ICoN – Italian Culture on the NetUniversita di Bari, Cassino, Catania, Genova, I.U.L.M., Milano Statale,
Napoli L’Orientale, Padova, Parma, Pavia, Perugia per Stranieri, Pisa,
Roma La Sapienza, Roma Tor Vergata, Roma Tre, Salerno, Siena per
Stranieri, Teramo, Torino, Trento e Venezia
Corso di Laurea in Lingua e Cultura italiana per
stranieri
[Classe 5 delle lauree in Lettere]
UTILIZZAZIONE DI
“HIDDEN MARKOV MODELS” ED
ALTRI MODELLI PER IL
TAGGING DELL’ITALIANO
Relatore: Candidato:
Chiarissimo Professor Alessandro Lenci Tiago Tresoldi
rebbero seri limiti a quest’ultima affermazione, ma per il campo del tagging possiamo e
dobbiamo partire da questo postulato.
8
2.2 Le tag-sets
2.2 Le tag-sets
Il tagging attribuisce ad ogni token una tag che, normalmente, riporta infor-
mazioni grammaticali4, ma non vi e alcuna determinazione o obbligo quanto
a tipi o gradi di classificazione. Gli insiemi di tags possibili adottati da un
modello vengono chiamati tag-sets e possono presentare gradi di dettaglio
diversi: si va da una distinzione minima fra “nomi”, “verbi” ed “altro” ad
una classificazione estremamente dettagliata, comprendente caratteristiche
secondarie come la distinzione tra nomi maschili e femminili o fra tempi ver-
bali. Il tag-set impiegato dal corpus RepubblicaRidotto e di quest’ultimo tipo:
molto dettagliato, con piu di 150 tags diverse per la sezione di training5.
Il tag-set adoperato influisce direttamente sull’accuratezza e sulla scelta
del tipo di tagger da utilizzare: infatti, se da una parte tag-sets di dimensioni
ridotte permettono, in teoria, maggiori accuratezze giacche l’ambiguita per
i tipi viene necessariamente ridotta, d’altra parte questa medesima ambi-
guita ridotta puo rendere difficile la generalizzazione di contesti da parte dei
taggers, poiche gli esempi analizzati vengono semplificati fino a confondersi.
In pratica, i taggers finiscono per non essere capaci di creare modelli validi,
perche incapaci di distinguere le diverse situazioni presentate.
2.3 Tipi di taggers
Le prime ricerche in campo di Natural Language Processing, fra il 1960 e il
1985, utilizzavano un approccio razionalista ([Manning-Schutze99]): i taggers
erano, in essenza, una serie di regole compilate manualmente che imitavano
i processi mentali di classificazione delle parole. Risultati non sempre sod-
disfacenti ed elevati costi di elaborazione, alleati al progresso delle capacita
di calcolo disponibili, fecero sı che in anni recenti l’interesse si sia indirizzato
ad un approccio che si potrebbe definire “empirista” ([Manning-Schutze99],
[Bird04]): sono ormai diffusi sistemi che cercano di creare automaticamente
(valendosi in modo speciale dei campi della probabilita e della statistica) mo-
delli di tagging dai risultati molte volte sorprendenti vista la loro semplicita
([Bird04]).
4Vi sono modelli che lavorano con altre classificazioni, quali la distinzione semantica o
l’identificazione di limiti frasali, che non verranno considerati in questa tesi.5E difficile indicare con precisione il numero totale di tags del tag-set di questo corpus,
poiche viene utilizzato un sistema di tags componibili.
9
Il processo di tagging
Il funzionamento di questi tipi di taggers e diviso in due fasi: una prima,
piu lenta, di training (“allenamento”) su corpora con tags verificate manual-
mente (dette golden tags, “tags auree”), ed una seconda fase che esegue il
tagging dei testi.
Ecco qui di seguito le descrizioni dei principali tipi di taggers disponi-
bili, molti dei quali sono stati utilizzati comparativamente durante la valu-
tazione del nostro tagger HMM (capitolo 5). Per maggiori informazioni, si
raccomandano [Schroder02], [Jurafsky-Martin00] e [Bird04].
2.3.1 Unigramma
I tagger Unigramma sono i taggers statistici piu semplici: ad ogni token vie-
ne assegnata la tag piu comune per il suo tipo (secondo la frequenza rilevata
durante il training), senza analisi del contesto di occorrenza o della funzione
sintattica esercitata6. Ad esempio, nel corpus RepubblicaRidotto un token
“la” verra segnalato da un tagger Unigramma sempre quale “articolo de-
terminativo femminile”, la tag piu comune per il suo tipo, senza considerare
altre classificazioni possibili quale “pronome personale complemento”. Nei
molti casi in cui il tagger Unigramma rilevi un token “raro” (ossia di un
tipo non comparso durante la fase di training e percio sconosciuto), gli viene
assegnata la tag piu frequente o, in sistemi piu elaborati, la tag piu comune
tra i tokens rari7.
La descrizione del funzionamento di questo tagger potrebbe provocare
una diffidenza istintiva a riguardo: un tagger “inutile” perche troppo limita-
to e semplice. Si tratta pero di un sistema efficace: molti tipi non presentano
alcuna ambiguita (per il corpus RepubblicaRidotto, il 92% dei tipi e limitata
ad una sola tag) e in generale la tag piu comune e quella corretta per la mag-
gior parte dei casi rimanenti; nel RepubblicaRidotto, ad esempio, “la” funge
da articolo il 98% delle volte. Di conseguenza, i risultati sono abbastanza
soddisfacenti, como dimostrato nel capitolo 5.
6Vi sono estensioni a questo tipo, che includono nell’analisi sia tokens che antecedono
quello in questione sia, a volte, tokens che lo seguono. Ad ogni modo, la tag assegnata e
sempre la piu probabile o, in altri termini, la piu comune.7Poiche la tag piu comune sara normalmente quella per i segni di punteggiatura, anche
se, salvo pochissime eccezioni, i tokens rari si restringono alle categorie grammaticali
aperte: nomi, aggettivi, verbi ed avverbi.
10
2.3 Tipi di taggers
2.3.2 “Hidden Markov Models”
Gli Hidden Markov Models sono il modello dominante nel campo del rico-
noscimento del parlato ([Jurafsky-Martin00] e [Schroder02]) e vengono uti-
lizzati con frequenza nel campo della classificazione grammaticale (si veda
[Manning-Schutze99], oltre a [Schroder02] e [Bird04]).
Si tratta di un tipo di tagger fondamentalmente statistico, che considera
le sequenza di tokens fornita come risultato (“emissione”) di una catena sot-
tostante e non direttamente osservabile (da cui il nome hidden, “nascosta”)
di tags. I modelli sono composti dalle probabilita statistiche, calcolate du-
rante la fase di training, di “trasmissione” (passaggio da una tag all’altra)
e “emissione” (token como risultato di una tag sottostante). Tra i vantaggi
di questo tagger elenchiamo la velocita di esecuzione e l’accuratezza general-
mente buona, soprattuto nei casi in cui i modelli considerano il contesto e
l’ambiguita specifica di ogni tipo ([Jurish03]).
Questo tagger e il tema centrale di questa tesi, e viene discusso piu
profondamente nel capitolo 3.
2.3.3 “Maximum-Entropy” (“Massima Entropia”)
I taggers a Massima Entropia, anch’essi essenzialmente statistici, sono il tipo
piu studiato ed utilizzato oggi, date le prestazioni frequentemente eccellenti
ed il fatto che essi limitano alcuni problemi di interdipendenza statistica
comuni ad altri tipi di taggers quali gli HMM ([Schroder02]).
I taggers a Massima Entropia partono da un principio teorico che puo
essere ridotto alla “regola del piu semplice”: tra le molte possibilita di di-
stribuzione probabilistica, la migliore e in generale la piu semplice o, in ter-
mini statistici, quella che considera esclusivamente i casi osservati durante il
training (senza accomodare casi non osservati ma teoricamente possibili). A
questa caratteristica deve il tagger il suo nome: l’entropia, nel campo della
“teoria dell’informazione”, e una misura quantitativa dell’incertezza inerente
ad un “contenuto di informazione”; quanto maggiore l’entropia, minore l’in-
certezza. Nelle parole di uno dei primi autori a trattare questo tipo di tagger,
Ratnaparkhi (1998), riportate da [Schroder02]:
“We shall not make any additional assumptions besides the ex-
plicit ones. From all admissible probability distributions, the
11
Il processo di tagging
one that maximizes the entropy (or “uncertainty”) is the most
appropriate choice.”8
2.3.4 “Transformation-Rules” (Apprendimento basa-
to su trasformazioni motivate da errori)
Questo tipo di tagger (piu conosciuto in Italia con la terminologia inglese
“Error-driven transformation-based learning”) puo essere considerato il di-
scendente empirico dei primi tipi di tagger razionalisti. Infatti, dopo una
classificazione iniziale (normalmente con un metodo statistico semplice quale
un tagger Unigramma), una serie di iterazioni elabora una lista di regole di
transformazione (del tipo “se viene rilevato il contesto C, assegna al token
G la tag T”), le quali, applicate successivamente ai risultati della classi-
ficazione iniziale, correggono gli errori commessi, con l’aumento gradativo
dell’accuratezza. Per spiegare questo tipo di tagger, Bird ([Bird04]) utilizza
la metafora di un pittore, che dipinge i colori principali sottostanti e suc-
cessivamente apporta modifiche man mano piu piccole, fino ad ottenere il
risultato desiderato.
Il funzionamento puo essere dimostrato con alcune delle regole di trasfor-
mazione generate sul nostro corpus di lavoro RepubblicaRidotto:
rare(0) → tag(0) = SPNN
tag(−1) = V-S3IP, word(0) = che → tag(0) = C
tag(−1) = S-FS, tag(0) = S-FS → tag(0) = A-FS
La prima regola di trasformazione indica che se il tagger incontra un
token raro, deve assegnargli la tag per “nome proprio” (“SPNN”)9. La seconda
regola, piu complessa, informa che se un verbo indicativo presente alla terza
persona del singolare (“V-S3IP”) viene seguito da un token di tipo “che”,
a quest’ultimo deve essere assegnata la tag “C” (“congiunzione”). Infine, la
terza regola indica che se, dopo le prime tappe di tagging, vengono incontrati
due sostantivi femminili (“S-FS”) di seguito (indici −1 e 0, dove 0 indica il
8“Non dobbiamo ammettere niente oltre a cio che e esplicito. Fra tutte le distribuzioni
di probabilita ammissibili, quella che massimiza l’entropia (o “incertezza”) e la scelta piu
appropriata.”9Ed un’analisi dei corpora rivela che “SPNN” e proprio la tag piu comune in questo caso.
12
2.3 Tipi di taggers
token analizzato e −1 l’anteriore), il secondo deve essere “trasformato” in
“aggettivo femminile” (tag “A-FS”).
Il grande vantaggio di questo tipo di tagger, oltre alla capacita di studiare
e spiegare con facilita i suoi modelli, e la possibilita di intervenire nelle regole
di trasformazione da esso generate. Infatti, queste ultime sono normalmente
analizzate da esperti prima della fase di tagging, che affiancano nuove regole
di trasformazione create ad hoc.
2.3.5 “Example-Based” (“Modelli basati su esempi”)
I tagger basati su esempi presentano similarita con i tipi “Massima Entro-
pia” ed “Error-Driven”. Essi, pero, non generano modelli formati da regole
astratte e da generalizzazioni, ma liste di esempi e contesti incontrati; i con-
tenuti e le frequenze di queste liste vengono comparati con le occorrenze nel
testo fornito per il tagging ([Zavrel-Daelemans97]). E importante precisa-
re che i tipi di esempi da rilevare sono specificati in un momento anteriore
al training e l’accuratezza dipende in gran parte dall’adeguatezza di queste
specificazioni.
2.3.6 Altri tipi di tagger
Vi sono alcuni altri tipi di taggers che meritano di essere mezionati per la
loro relativa diffusione, tra cui:
• taggers per espressioni regolari, i quali sono costituiti da regole ela-
borate perlopiu manualmente che analizzano soltanto la composizione
testuale delle parole (quali suffissi, lettere maiuscole ecc.) ([Bird04] e
[Jurafsky-Martin00]);
• taggers per reti neurali, nei quali modelli computazionali che imitano il
funzionamento delle reti neurali biologiche (“nodi” che ricevono uno o
piu valori ed emettono un solo valore) vengono mutati ad ogni iterazione
da un processo stocastico, con l’obiettivo di migliorarne continuamente
le prestazioni ([Schroder02]);
• taggers per regole finite, simili ai taggers descritti in 2.3.4, nei quali
una serie di regole di classificazione e di trasformazione viene immessa
manualmente per essere applicata ai tokens ([Jurafsky-Martin00]).
13
Il processo di tagging
2.4 Valutazione dell’accuratezza di un tagger
Il principale metodo di valutazione di un tagger e la sua “accuratezza”, che
chiameremo ϕ. Essa e data dall’equazione:
ϕ =# tags corrette
# tags di riferimento=
∑ni=1
Gi = {ti}
n(2.1)
dove n e il numero di tokens nella sequenza, t1 . . . tn le golden tags e
G1 . . . Gn la sequenza di tags attribuita dal tagger in valutazione. Il tagger
Unigramma, per esempio, ha attribuito nel corpus RepubblicaRidotto la tag
corretta a 42.503 tokens su 47.830: un’accuratezza di 88%.
14
Capitolo 3
Markov Models (“Catene di
Markov”)
Gli Hidden Markov Models (HMM), sono un modello statistico di tipo sto-
castico (ossia non deterministico), nei quali la catena di simboli osservati
(nel nostro caso i tokens) viene considerata un risultato “emesso” da una
catena non osservabile di stati sottostanti (nel nostro caso le tags). Questa
seconda catena, detta “nascosta”, puo essere calcolata a partire da matrici
di probabilita elaborate durante il training : fra le possibili catene di stati
nascosti, sara considerata corretta quella che presenti la piu alta probabilita
combinata tra la sucessione dei suoi stati e l’emissione dei simboli osservati.
Le matrici di probabilita sono essenzialmente due: una matrice A detta
“transition”, che contiene le probabilita di passaggio da uno stato all’altro
(per il linguaggio naturale, la probabilita di successione da una categoria
grammaticale all’altra) e una matrice B detta “emission”, che contiene le
probabilita di produzione di ogni simbolo a partire dagli stati sottostanti.
Molte probabilita di queste matrici sono e possono essere nulle (per esempio
la probabilita di uno stato “preposizione” emettere un simbolo “bambino”).
Rabiner ([Rabiner90]) descrive una terza matrice π o “priors”, riguardante
la probabilita per ogni stato di essere alla testa di una catena nascosta (nel
nostro caso, la probabilita per ogni categoria grammaticale di iniziare una
frase), ma questa matrice puo essere generalizzata in A come la transizione
da un “non stato” allo stato in questione.
15
Markov Models (“Catene di Markov”)
3.1 Catene di Markov non nascoste
In genere, le Catene di Markov non nascoste non hanno simboli da osservare
e, percio, non vi e matrice di emission: siccome gli stati sono disponibili,
qualsiasi proprieta statistica puo essere calcolata direttamente.
Per esemplificare, possiamo costruire una Catena di Markov a partire
dalle parole del libro Cuore, di Edmondo De Amicis. Se consideriamo le
lettere come stati che compongono catene (“parole”), possiamo ottenere sia
una matrice di priors sia una di emissions, riportate frammentariamente di
seguito, con le quali calcolare le probabilita di formazione delle parole.
Frammento di “priors” (π)
a 7,05% g 2,96% n 2,70% r 2,42%
b 1,91% j 0,00% o 1,11% t 3,28%
c 8,26% m 5,24% q 1,82% z 0,05%
Frammento di “transitions” (A)
a e i o u m s
a 0,00% 1,55% 2,83% 0,02% 0,30% 4,39% 4,97%
m 30,39% 19,97% 18,24% 13,70% 1,68% 3,71% 3,71%
t 15,95% 14,07% 14,73% 20,27% 6,62% 0,05% 0,00%
L’analisi delle probabilita riportate per la matrice π rivela che lo stato con
piu alta probabilita di iniziare una catena e “c”, con quasi un decimo dei casi,
al passo che per lo stato “j” la probabilita puo essere considerata nulla; dal
frammento della matrice A e possibile scoprire, ad esempio, che la vocale piu
comune dopo una “m” e “a”. Alcune probabilita riportate non sono intuitive,
quali la transizione “t→m”, ma vengono confermate da un’analisi del corpus
utilizzato (nel caso specifico, l’alta frequenza della parola “aritm etica”).
I frammenti riportati permettono dimostrare il calcolo della probabilita
di una sequenza di stati, quale la parola “mamme”1:
1Applicazioni piu rigorose potrebbero considerare altre probabilita, quali l’essere collo-
cato in coda alle catene (l’inverso della matrice π, ossia la transizione da uno stato ad un
“non stato”).
16
3.2 Catene di Markov nascoste
Figura 3.1: Hidden Markov Model
che risulta avere una probabilita statistica del 0,00052%. Si noti come
questo calcolo non consideri la frequenza o la probabilita reali di occorrenza di
una parola (parole non esistenti ma corte avranno, in genere, una probabilita
piu grande che parole esistenti ma lunghe); dal punto di vista statistico,
soltanto le probabilita di transizione e emissione vengono considerate.
3.2 Catene di Markov nascoste
Le Catene di Markov nascoste sono Catene di Markov i cui stati non sono
osservabili direttamente. In un processo di questo tipo, si postula che ogni
stato emetta un simbolo o, in casi piu rari, una sequenza di simboli che
deve comunque essere analizzata come una singola entita2. E importante
precisare che i simboli possono essere condivisi tra diversi stati: nel campo
del linguaggio naturale, ad esempio, un simbolo “sposa” puo essere emesso
sia da uno stato nascosto “sostantivo” (“la sposa si sposa”) sia da uno
stato nascosto “verbo” (“la sposa si sposa”).
2Alcuni casi ancora piu speciali permettono che gli stati emettano un “non simbolo” o,
in altre parole, che non producano simboli.
17
Markov Models (“Catene di Markov”)
Il funzionamento di una Catena di Markov nascosta e dimostrato grafica-
mente nella figura 3.13, dove x1, x2 e x3 rappresentano gli stati non osservabili
(le tags, nel nostro caso), y1, y2 e y3 rappresentano i simboli emessi (i tipi
di token), a12, a21 e a23 rappresentano le transizioni fra stati (matrice A, la
sucessione di categorie grammaticali) e b1, b2 e b3 le emissioni di simboli da
parte di stati (matrice B, i processi di “produzione” di tokens).
3.2.1 Esempio di una Catena di Markov nascosta
Bird ([Bird04]) cita [Huang et alii]4 nel fornire un esempio semplice ma
completo di HMM, che adatteremo qui.
Si immagini l’elaborazione di un HMM per l’analisi di mercati di valori.
Vengono ammessi due stati nascosti: bull (“toro”) e bear (“orso”), rispet-
tivamente momenti in cui il mercato si trova in una fase di crescita e in
una fase di ritrazione. I simboli disponibili sono di tre diversi tipi, ottenuti
ogni giorno dal totale dei valori negoziati: in crescita, in diminuizione ed
invariabile. Ognuno dei due stati puo emettere, con probabilita diverse, uno
qualsiasi fra questi simboli. Si immagini che una fase di training sui dati
di funzionamento di un mercato in particolare abbia elaborato le seguenti
matrici di probabilita5:
Transition (A)
bull bear
bull 70% 30%
bear 45% 55%
Emission (B)
crescita ↑ dimuizione ↓ invariabile ↔
bull 50% 20% 30%
bear 25% 50% 25%
Dall’analisi di un’ipotetica catena di simboli “invariabile - crescita - di-
minuizione - diminuizione - crescita - diminuizione”, ottenuta durante sei
3Grafico ottenuto dal sito Wikipedia, versione in inglese dell’articolo sui
Hidden Markov Models , il 6 maggio 2007.4Il quale, purtroppo, non siamo riusciti a reperire.5Per mantere l’esempio semplificato, abbiamo considerato una matrice π con uguali
probabilita del 50% per i due stati.
18
3.2 Catene di Markov nascoste
giorni consecutivi di analisi, possiamo calcolare la catena di stati nascosti
Figura 4.1: Sommatorie delle differenze logaritmiche
30
Capitolo 5
Analisi empirica
Al fine di valutare l’accuratezza del tagger HMM sviluppato per questa tesi
(3.3), si e condotta una serie di sperimentazioni su tale accuratezza dei risul-
tati sia durante lo sviluppo che dopo di esso. Presenteremo in questo capitolo
i risultati finali di queste sperimentazioni, paragonandoli a quelli ottenuti da
altri tipi di taggers.
5.1 Corpus utilizzato
Come descritto nel capitolo 1, e stato utilizzato un corpus con frasi estratte
da articoli di La Repubblica, che per fini di sperimentazione e stato diviso in
un’area di training ed una di test1. Per entrambe le aree sono state svilup-
pate due diverse versioni: una prima “standard”, nella quale il testo veniva
riportato esattamente come apparso sugli articoli, ed una seconda “norma-
lizzata”. Per il campo del tagging, la “normalizzazione” e frequentemente
costituita da una semplice conversione di tutte le lettere maiuscole in minu-
scole; questo processo presenta il vantaggio di diminuire il numero di tipi e,
di conseguenza, di tokens rari e migliora l’accuratezza finale alcuni tipi di
taggers. Le caratteristiche dei corpora utilizzati sono riportate nella tabella
in seguito.
1Non e infatti raccomandibile valutare un modello sullo stesso corpus in cui e stato
effettuato il training, perche “troppo adatto” al testo in esame. In questi casi l’accu-
ratezza finale sarebbe falsamente elevata sia per le prestazioni di ogni tagger sia per la
comparazione fra i taggers stessi.
31
Analisi empirica
Corpus Numero di tipi Numero di tokens
training “standard” 26.188 192.230
training “normalizzato” 23.252 192.230
test “standard” 11.363 49.941
test “normalizzato” 10.443 49.941
Si tratta di un corpus di piccole dimensioni per il nostro campo di appli-
cazione (le dimensioni si situano normalmente sui milioni di tokens) e non
variato in termini di genere testuale. Combinate al grado di dettaglio del
tag-set utilizzato, con piu di 150 tags diverse, queste caratteristiche han-
no influito negativamente sulle accuratezze ottenute (corpora piu estesi ed
un tag-set piu semplice avrebbero risultato in accuratezze migliori) ma, allo
stesso tempo, hanno permesso un’analisi delle prestazioni in condizioni non
ottimali. In questo senso, le particolarita dei corpora hanno permesso una
valutazione piu rigorosa dei modelli di tagger in scrutinio.
5.2 Taggers utilizzati
Sono stati utilizzati i seguenti tipi di taggers:
• Un tagger di tipo Unigramma, scritto in linguaggio Python secondo il
funzionamento descritto in [Bird04];
• Un tagger di tipo “Error-driven”, parte dell’insieme di taggers “ACO-
POST” ([Schroder02], [Baroni04]);
• Un tagger di tipo “Maximum-Entropy”, parte dell’insieme di taggers
“ACOPOST” ([Schroder02], [Baroni04]);
• Un tagger di tipo “Transformation-Rules”, modificato da quello distri-
buito nell’insieme di taggers “ACOPOST”, ([Schroder02], [Baroni04]);
• Vari taggers di tipo HMM, fra i quali la nostra implementazione e
le varie descritte in 3.3; i risultati qui riportati si riferiscono ad una
versione modificata del tagger presentato da [Jurish03], piu veloce.
E opportuno sottolineare che i risultati ottenuti, benche metodologica-
mente validi, riguardono soltanto le implementazioni sopra descritte e soltan-
to i corpora utilizzati. In particolare, l’accuratezza generale di un qualsiasi
modello non dovra essere giudicata esclusivamente da questi dati.
32
5.3 Risultati
5.3 Risultati
Per ogni tagger, e stato elaborato un modello per il corpus “standard” ed
uno per il corpus “normalizzato”. Le velocita di esecuzione di ogni tagger,
salvo il tagger Unigramma2, sono state le seguenti3:
Tagger Corpus Velocita (s) tokens/s
Error-driven standard 578,04 82,74
normalizzato 516,54 92,59
Maximum-Entropy standard 83,39 573,50
normalizzato 83,11 575,48
Transformation-Rules standard 13,28 3600,84
normalizzato 14,70 3253,52
HMM standard 6,97 6861,28
normalizzato 4,26 11217,16
Le accuratezze per i corpus di test, a partire da modelli elaborati sui
corpus di training corrispondenti, sono state le seguenti:
Tagger Corpus Tokens corretti ϕ
Unigram standard 42.503 88,86%
normalizzato 42.746 89,37%
Error-Driven standard 44.905 93,88%
normalizzato 44.842 93,75%
Maximum-Entropy standard 42.653 89,17%
normalizzato 42.443 88,73%
Transformation-Rules standard 44.007 92,00%
normalizzato 43.803 91,58%
HMM standard 44.295 92,60%
normalizzato 44.536 93,11%
L’esposizione dell’accuratezza sui singoli tokens puo essere affiancata da
un’altrettanto, se non piu, significativa esposizione dei risultati sulle sin-
gole frasi che compongono il corpus di “test” (2.111 in tutto). La media
di accuratezza riportata per le frasi e aritmetica e σ indica la deviazione
standard.:
2Non riportato perche scritto in Python e comparativamente troppo lento.3Ottenuti su un computer Intel Celeron da 2.1GHz, 256 Mb di memoria su sistema
Linux 2.6.
33
Analisi empirica
Figura 5.1: Velocita di tagging (tokens/s)
34
5.4 Un’alternativa: tagger per votazione
Tagger Corpus Frasi corrette Media σ
Unigramma standard 16,72% 87,95% 10,07
normalizzato 21,26% 89,39% 3,85
Error-Driven standard 33,68% 92,76% 9,22
normalizzato 35,62% 93,61% 7,30
Maximum-Entropy standard 18,42% 88,91% 9,23
normalizzato 19,23% 89,22% 8,12
Transformation-Rules standard 28,04% 91,22% 9,80
normalizzato 29,79% 91,87% 8,19
HMM standard 29,03% 91,68% 9,20
normalizzato 33,64% 92,99% 7,66
L’analisi dei risultati dimostra che, in generale, le accuratezze dei taggers
sono abbastanza simili ed infatti la maggior parte dei modelli, se ben co-
struiti, offrono prestazioni che ne permettono l’applicazione pratica. E parti-
colarmente interessante allestire un tagger per Transformation-Rules, poiche
le regole di trasformazione da esso individuate posso essere applicate an-
che ai risultati ottenuti degli altri tagger, come dimostrato in [Schroder02] e
[Baroni04].
I tagger per HMM si dimonstrano un’alternativa validissima non soltan-
to per le prestazioni (che, lo ricordiamo, in questo caso sono estremamente
dipendenti dal tipo di corpus utilizzato) ma per la velocita di tagger e di
training : infatti, anche per corpora estesi queste richiedono sempre pochi
secondi quando ben implementate. Gli HMM sono, percio, tra i modelli
disponibili piu interessanti, specialmente se i tempi richiesti per le loro im-
plementazioni vengono paragonati ai tempi necessari per sistemi piu esigenti
quali gli “Error-Driven” ed i “Transformation-Rules”; anche se l’implementa-
zione che abbiamo utilizzato per quest’ultimo tipo potrebbe essere migliorata,
le circa sei ore necessarie per completare il training (un modello di circa 700
regole) dimostrano che l’utilizzo di quest’ultimo non e sempre praticabile.
5.4 Un’alternativa: tagger per votazione
Sono comuni nella bibliografia (si veda [Schroder02], [Baroni04], [Bird04] e
[Manning-Schutze99]) suggerimenti per l’allestimento di taggers per votazio-
ne, partendo dal principio che, in un gruppo di taggers diversi applicati sul
medesimo testo, la maggior parte di essi concordera sulla tag correta per ogni
35
Analisi empirica
token. Viene percio allestita una “votazione”, nella quale ogni tagger segnala
ad un programma per il conteggio la tag da esso attribuita ad ogni token; la
tag con maggior numero di voti e considerata quella corretta.
Vi sono due metodi di votazione possibili: uno “democratico”, nel quale
il voto di ogni tagger ha un medesimo peso, ed uno “non democratico”,
nel quale il voto di alcuni taggers ha un peso piu grande rispetto agli altri.
Dalle nostre sperimentazioni, i sistemi “non democratici” sembrano avere un
piccolo vantaggio di accuratezza sui primi; vi e pero la difficolta di stabilire
quali debbano essere i pesi attribuiti al voto di ogni tagger 4. Questi possono
essere stimati, in parte, dall’analisi delle accuratezze dei taggers votanti, in
modo speciale dall’accuratezza sui tokens rari5:
Tagger Corpus Tokens corretti Accuratezza
Unigram standard 797 ÷ 3852 20,69%
normalizzato 687 ÷ 3289 20,88%
Error-Driven standard 2754 ÷ 3852 71,49%
normalizzato 2479 ÷ 3289 75,37%
Maximum-Entropy standard 2450 ÷ 3852 63,60%
normalizzato 2215 ÷ 3289 67,34%
Transformation-Rules standard 1499 ÷ 3852 38,91%
normalizzato 1363 ÷ 3289 41,44%
HMM standard 1774 ÷ 3852 46,05%
normalizzato 1577 ÷ 3289 47,94%
La tabella evidenzia caratteristiche importanti dei taggers scelti: l’accu-
ratezza del tagger Unigramma e, come ci si aspetterebbe dalla sua semplicita,
abbastanza ridotta, ma le prestazioni medie dei taggers per “Transformation-
Rules” e per HMM sono affiancate da prestazioni eccellenti dai taggers di tipo
“Error-Driven” e di tipo “Maximum-Entropy”.
Per sperimentare l’accuratezza di un tagger per votazione, abbiamo scrit-
to una implementazione in Python6, nella quale il peso per il voto di ogni
tagger e stato stipulato a partire dall’accuratezza generale sul corpus di “test”
4Ed infatti sistemi “non democratici” nei quali i pesi sono mal attribuiti possono
presentare accuratezze significativamente peggiori rispetto ai sistemi “democratici”.5Si noti come, in questo caso, abbiamo analizzato l’accuratezza sui corpora di test ; per
un’analisi piu valida dei risultati dei tagger per votazione sarebbe necessario un corpus
relativo ad una terza area “test di test”.6Disponibile all’indirizzo http://hermes.sf.net/
36
5.4 Un’alternativa: tagger per votazione
e dall’accuratezza sui tokens rari; il peso e infatti diverso nei casi in cui il
tipo rilevato sia raro, attribuendo un valore piu grande ai taggers “Error-
driven” e “Maximum-Entropy” ed uno praticamente insignificante al tagger
Unigramma.
L’accuratezza di questo tagger per votazione e stata di 94,91%, con 41%
delle frasi correttamente classificate. La media di accuratezza per le frasi e
stata del 94,61%, con deviazione standard di 6,95. Si tratta di una presta-
zione elevata, specialmente quando considerato il numero di frasi classificate
correttamente, e che potrebbe essere migliorata da un’investigazione piu at-
tenta sui pesi da attribuire per il voto di ogni tagger in ogni caso. In negativo,
il tempo necessario per eseguire questo tagger (il tempo di esecuzione com-
binato di tutti i taggers piu il tempo per la “votazione”) fa sı che in molti
casi la sua maggior accuratezza possa essere preterita in favore di tempi di
esecuzione minori.
Figura 5.2: Accuratezze per i tipi di tagger utilizzati.
37
Analisi empirica
38
Capitolo 6
Conclusione
In questo lavoro abbiamo trattato dell’utilizzazione degli Hidden Markov
Models ed altri modelli per il part-of-speech tagging dell’italiano, le cui pre-
stazioni sono state messe a confronto.
Si e dimostrato come la teoria sottostante agli HMM (tra cui la difficolta
per il trattamento di parole nuove e sconosciute), benche matematicamente
complessa, puo essere spiegata facilmente tramite esempi pratici. L’analisi
delle prestazioni ha infine dimostrato come gli HMM siano tra i piu interes-
santi metodi per il tagging dell’italiano, giacche, anche se superati da alcuni
tipi di taggers in accuratezza, la loro velocita di training e tagging e fra le
migliori.
Un possibile sviluppo del nostro lavoro e la creazione di “interfacce”,
“grafiche” o via Internet, che permettano a qualsiasi ricercatore eseguire
rapidamente il tagging su grandi quantita di testo, eventualmente utilizzando
i nuovi testi proposti come ulteriore corpus di training tramite metodi quali
il Baum-Welch ([Bird04]).
39
Conclusione
40
Bibliografia
[Amaral98] R. Amaral, P. Carvalho, D. Caseiro, I. Trancoso e L. Oli-
veira, “Anotacao fonetica automatica de corpora de fala transcritos
ortograficamente”, IST/Inesc Lisbona. (1998).
[Baroni04] M. Baroni, “Trained models for tagging Italian tex-
ts with the ACOPOST taggers”, all’indirizzo internet
http://sslmit.unibo.it/ baroni/ita acopost models.html il 6 maggio
2007. (2004).
[Bird04] S. Bird, “NLTK-Lite: Efficient Scripting for Natural Language Pro-
cessing”, in Proceedings of the 4th International Conference on Natural
Language Processing (ICON), pp. 11-18. (2004).
[Brill93] E. Brill, “Automatic Grammar Induction and Parsing Free Text:
A Transformation-Based Approach”, in Proceedings of the 31st Annual
Meeting of the ACL. (1993).
[Clarkson-Rosenfeld97] P.R. Clarkson e R. Rosenfeld, “Statistical Language
Modeling Using the CMU-Cambridge Toolkit”, in Proceedings of the
ESCA Eurospeech. (1997).
[Jurafsky-Martin00] D. Jurafsky e J.H. Martin, “Speech and Language
Processing”, Prentice Hall. (2000).
[Jurish03] B. Jurish, “A hybrid approach to part-of-speech tagging”,
Final Report of Project Kollokationen im Worterbuch, Berlin-
Brandenburgische Akademie der Wissenschaften. (2003).
[Kanungo99] T. Kanungo, “UMDHMM: Hidden Markov Model Toolkit”, in
“Extended Finite State Models of Language”, Cambridge University
Press. (1999).
BIBLIOGRAFIA
[Kernighan-Ritchie88] B.W. Kernighan e D.M. Ritchie, “The C Program-
ming Language, 2. ed.”, Prentice Hall. (1988).
[Manning-Schutze99] C.D. Manning e H. Schutze, “Foundations of
Statistical Natural Language Processing”, The MIT Press. (1999).
[Rabiner90] L.R. Rabiner, “A tutorial on hidden markov models and selected
applications in speech recognition”, in Readings in Speech Recognition.
(1990).
[Schroder02] I. Schroder, “A Case Study in Part-of-Speech Tagging Using
the ICOPOST Toolkit”, Department of Computer Science, University
of Hamburg (2002).
[Zavrel-Daelemans97] J. Zavrel e W. Daelemans, “Memory-Based Learning:
Using Similarity for Smoothing”, Proceedings of the Thirty-Fifth An-
nual Meeting of the Association for Computational Linguistics and
Eighth Conference of the European Chapter of the Association for
Computational Linguistics. (1997).
Sitografia
[Sampson07] G. Sampson, http://www.grsampson.net/RGoodTur.html, ot-