Top Banner
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

UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

May 13, 2023

Download

Documents

Jörgen Ödalen
Welcome message from author
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
Page 1: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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

Anno Accademico 2006-2007

Page 2: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO
Page 3: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

Indice

1 Introduzione 5

2 Il processo di tagging 7

2.1 Tokens e tipi . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2 Le tag-sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3 Tipi di taggers . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3.1 Unigramma . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3.2 “Hidden Markov Models” . . . . . . . . . . . . . . . . 11

2.3.3 “Maximum-Entropy” (“Massima Entropia”) . . . . . . 11

2.3.4 “Transformation-Rules” (Apprendimento basato su tra-

sformazioni motivate da errori) . . . . . . . . . . . . . 12

2.3.5 “Example-Based” (“Modelli basati su esempi”) . . . . 13

2.3.6 Altri tipi di tagger . . . . . . . . . . . . . . . . . . . . 13

2.4 Valutazione dell’accuratezza di un tagger . . . . . . . . . . . . 14

3 Markov Models (“Catene di Markov”) 15

3.1 Catene di Markov non nascoste . . . . . . . . . . . . . . . . . 16

3.2 Catene di Markov nascoste . . . . . . . . . . . . . . . . . . . . 17

3.2.1 Esempio di una Catena di Markov nascosta . . . . . . 18

3.2.2 Algoritmo di Viterbi . . . . . . . . . . . . . . . . . . . 19

3.2.3 Difficolta per l’utilizzo degli HMM . . . . . . . . . . . 20

3.3 Implementazione . . . . . . . . . . . . . . . . . . . . . . . . . 22

4 Metodi di Estimation e Discounting 23

4.1 Esempio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.2 Metodi di calcolo di probabilita . . . . . . . . . . . . . . . . . 24

4.2.1 Maximum-Likelihood Estimator . . . . . . . . . . . . . 24

4.2.2 Laplace and Lidstone Estimators . . . . . . . . . . . . 25

3

Page 4: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

INDICE

4.2.3 Good-Turing Discounting . . . . . . . . . . . . . . . . 26

4.2.4 Witten-Bell Discounting . . . . . . . . . . . . . . . . . 27

4.2.5 Absolute Discounting . . . . . . . . . . . . . . . . . . . 27

4.2.6 Linear Discounting . . . . . . . . . . . . . . . . . . . . 27

4.2.7 Held-Out Estimation e Cross Validation . . . . . . . . 27

4.3 Esempio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5 Analisi empirica 31

5.1 Corpus utilizzato . . . . . . . . . . . . . . . . . . . . . . . . . 31

5.2 Taggers utilizzati . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.3 Risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5.4 Un’alternativa: tagger per votazione . . . . . . . . . . . . . . 35

6 Conclusione 39

Bibliografia 41

4

Page 5: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

Capitolo 1

Introduzione

Il part-of-speech tagging, processo di classificazione grammaticale automati-

ca delle parole di un testo, e una delle piu importanti tappe per qualsiasi

sistema di Natural Language Processing (NLP) 1. Infatti, oltre al fatto che

la maggior parte delle funzionalita avanzate dipendano da una classificazio-

ne grammaticale e strutturale esente da errori e senza ambiguita, i metodi

sviluppati per quest’ultima sono, non di rado, estesi ad altri tipi di valuta-

zione ed assegnazione, tra i quali ricordiamo l’analisi semantica ([Bird04]) e

la trascrizione fonetica da corpora ortografici ([Amaral98]).

Scopo di questa tesi e comprovare la possibilita di utilizzare gli “Hidden

Markov Models”2 (HMM) per la classificazione grammaticale di testi in ita-

liano, discutendone le prestazioni. A tal fine, viene introdotto il campo del

tagging tramite una breve descrizione dei principali metodi disponibili (ca-

pitolo 2), a cui segue una descrizione teorica e pratica degli HMM (capitolo

3). I principali metodi di estimation e discounting vengono discussi a parte

(capitolo 4), poiche, come esposto nel capitolo 3, costituiscono il punto di

principale difficolta per il modello scelto. Il capitolo 5 presenta un’analisi

empirica delle prestazioni di un tagger HMM sviluppato a dimostrazione di

questa tesi; tali prestazioni vengono confrontate con quelle di altri tipi di

taggers. Un metodo per la combinazione dei diversi risultati viene esamina-

to a conclusione del capitolo, affiancato da un’analisi dell’accuratezza e da

alcuni suggerimenti per ricerche future.

Per il lavoro, e stata utilizzata una versione ridotta di un corpus forma-

1“Trattamento computazionale di linguaggio naturale”2“Modelli Nascosti di Markov”, ma data la grande diffusione della terminologia inglese

in Italia abbiamo deciso di non tradurre l’espressione.

5

Page 6: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

Introduzione

to da sezioni di articoli de La Repubblica, fornito dall’Istituto di Lingui-

stica Computazionale del Consiglio Nazionale Ricerche, diviso in un’area di

training ed una di test. Le caratteristiche di questo corpus, che d’ora in avan-

ti chiameremo RepubblicaRidotto, e le loro implicazioni nei risultati ottenuti

sono discussi in 5.1.

6

Page 7: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

Capitolo 2

Il processo di tagging

Come visto nel capitolo 1, il part-of-speech tagging, o piu semplicemente

tagging , e una delle principali tappe per qualsiasi sistema di NLP, dato che

esso viene frequentemente utilizzato come tappa intermedia, utile a rive-

lare la struttura inerente al testo in analisi ([Manning-Schutze99]). Que-

ste informazioni relative alla “struttura inerente” vengono espresse tramite

tags (“etichette”), generalmente attribuite ad ogni singola parola; tali tags

informano la classificazione grammaticale delle parti che compongono il testo,

come nell’esempio di seguito1.

Inconsueto/A-MS allarme/S-MS alla/E-FS Tate/SPNN

Gallery/SPNN :/PU una/RIFS sala/S-FS ha/V-S3IP

dovuto/V-MSPR essere/V-F sgomberata/V-FSPR per/E

una/RIFS fuga/S-FS di/E gas/S-MN tossico/A-MS da/E

una/RIFS scultura/S-FS moderna/A-FS in/E vetro/S-MS

che/P-NN simboleggia/V-S3IP /PU i/RDMP

pericoli/S-MP della/E-FS vita/S-FS /PU ./PU

Si noti come tutte le parole (o, piu precisamente, tutti i tokens, come

descritto in 2.1) vengono classificate: in particolare, non si distingue, a questo

scopo, tra “segni di punteggiatura”, “numeri” e “parole”.

Compito di un tagger (il programma che effettua la classificazione au-

tomatica) e attribuire la tag corretta anche nei molti di casi di ambiguita,

come ad esempio la parola “essere” che, dipendendo dalla funzione eserci-

tata, deve essere classificata come “sostantivo maschile” oppure come “verbo

1Estratto da RepubblicaRidotto; gli elementi a sinistra sono le parole dall’articolo, gli

elementi a destra le tags corrette.

7

Page 8: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

Il processo di tagging

infinito”. L’accuratezza (“precisione”) di un tagger (si veda 2.4) dipende da

fattori quali la lingua, il genere testuale e l’insieme di tags utilizzate (si veda

2.2); per l’italiano, le nostre sperimentazioni hanno dimostrato che persino

per i tagger piu semplici la precisione si situa attorno a 85%. Queste pre-

stazioni possono essere migliorate con taggers piu elaborati, ma a partire

da 92-94% il miglioramento delle prestazioni diventa molto difficile, a causa

principalmente delle ambiguita intrinseche dei testi, oltre che alla propria

classificazione adoperata (si pensi alle occasioni in cui neppure gli esperti

concordano su una classificazione grammaticale). Prestazioni vicine al 95%

di accuratezza (una tag sbagliata su venti) sono comunque fattibili e molti

tagger sono capaci di classificare correttamente intere frasi. Si deve ricordare

che una revisione umana delle tags assegnate automaticamente e piu veloce

e meno dispendiosa di un tagging completamente manuale.

2.1 Tokens e tipi

Nel discutere sul tagging, e fondamentale distinguere fra tokens e tipi : i

primi sono le singole occorrenze, “concrete”, di parti del testo; i secondi,

come indicato dal nome, sono tipi “astratti” di tokens, ai quali rimandano

tutti i tokens uguali in apparenza.

Ad esempio, la frase “La sposa si sposa.” e costituita da cinque di-

versi tokens che si succedono in un ordine preciso (“La”, “sposa”, “si”,

“sposa” e “.”), ma soltanto da quattro tipi “astratti” senza un ordine spe-

cifico (“.”, “la”, “si” e “sposa”)2. Non e dunque difficile capire che le tags

vengano assegnate non ai tipi, ma ai singoli tokens (in questo caso, il primo

token “sposa” e un sostantivo, mentre il secondo un verbo); infatti, ogni

token “concreto” avra sempre una e solo una tag corretta3.

Data la distinzione fra tokens e tipi, e possibile dedurre che in ogni corpus

il numero dei primi sara maggiore del numero degli ultimi: nella sezione di

training del RepubblicaRidotto, per esempio, vi sono 184.047 tokens e 26.187

tipi (si veda 5.1).

2In molte occasioni, non si distingue tra lettere maiuscole e minuscole nell’ambito dei

tipi.3Una discussione grammaticale piu rigorosa ed un’analisi empirica piu attenta por-

rebbero seri limiti a quest’ultima affermazione, ma per il campo del tagging possiamo e

dobbiamo partire da questo postulato.

8

Page 9: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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

Page 10: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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

Page 11: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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

Page 12: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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

Page 13: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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

Page 14: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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

Page 15: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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

Page 16: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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:

m a m m e

∅ → m × m → a × a → m × m → m × m → e =

5, 24% × 30, 39% × 4, 39% × 3, 71% × 19, 97% = 0, 00052%

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

Page 17: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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

Page 18: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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

Page 19: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

3.2 Catene di Markov nascoste

giorni consecutivi di analisi, possiamo calcolare la catena di stati nascosti

piu probabile: “bull - bull - bear - bear - bear - bear”.

giorno 1 giorno 2 giorno 3 giorno 4 giorno 5 giorno 6

↔ ↑ ↓ ↓ ↑ ↓

bull bull bear bear bear bear

La probabilita complessiva di questa catena di stati e del 0,135%, un

valore che puo sembrare troppo ridotto, anche se si considera che vi sono

ben 64 catene possibili (26 = 64, per i 2 stati possibili in una catena di lun-

ghezza 6). Questo valore e pero normale, soprattutto quando un’analisi piu

attenta del calcolo delle probabilita rivela che, al contrario di molte distribu-

zioni probabilistiche, la sommatoria delle probabilita per un HMM non e del

100%. Infatti, oltre alla probabilita di emissione per ogni simbolo, vi e un

numero perlomeno uguale di probabilita di transition da computare, le quali

invariabilmente diminuiscono la probabilita finale6.

L’esempio e utile per chiarire che in molti contesti, fra cui il tagging, gli

HMM sono soltanto un modello matematico che e adeguato ai fini per i quali

e utilizzato, senza costituire l’imitazione di un modello reale. Questo e par-

ticolarmente valido per i casi in cui gli stati non sono “stati concreti” di un

modello, ma classificazioni e categorie per simboli: anche se uno studio atten-

to delle matrici di probabilita puo rivelare molte regole sintattiche e perfino

semantiche, non vi sono “veri” stati di categorie grammaticali nascoste che

emettano parole per formare testi.

3.2.2 Algoritmo di Viterbi

Si e detto che uno dei vantaggi dei tagger HMM e la velocita di tagging ;

questo grazie ad un metodo di calcolo che permette di trovare rapidamente

la catena sottostante di maggior probabilita, chiamato Algoritmo di Viterbi

([Rabiner90] e [Manning-Schutze99]). Elaborato negli anni Sessanta, il Vi-

terbi riduce il numero di calcoli necessari a tal punto che, senza di esso, non

sarebbe possibile utilizzare gli HMM nella pratica.

Questa importanza viene spiegata dal fatto che, anche se il calcolo delle

probabilita richiede soltanto moltiplicazioni (o addizioni, nel caso di probabi-

lita logaritmiche), per moltissimi campi di applicazione quali il part-of-speech

6In verita vi sono casi in cui una probabilita sia del 100%, ma sono rarissimi nel campo

del part-of-speech tagging.

19

Page 20: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

Markov Models (“Catene di Markov”)

tagging il calcolo delle probabilita individuali di ogni catena richiederebbe ca-

pacita di calcolo elettronico irreali. Se adoperato un tag-set come quello del

RepubblicaRidotto, di circa 150 tags, una sequenza di soli 10 tokens (come una

frase cortissima) richiederebbe il calcolo di piu di 5.000 miliardi di miliardi

di catene possibili, con perlomeno il doppio di moltiplicazioni7.

L’Algoritmo di Viterbi (sia nella versione “tradizionale” o in quelle piu re-

centi “Iterative Viterbi Decoding” e “Lazy Viterbi Algorithm”) e un metodo

che risolve questo problema tramite la “programmazione dinamica”: parten-

do dai due principi che la maggior parte dei calcoli siano troppo improbabili

e che molti di essi sarebbero ripetuti moltissime volte, l’Algoritmo di Viter-

bi effettua una serie di calcoli preliminari e costruisce la catena sottostante

stato dopo stato, considerando una sola transizione e emissione alla volta8.

In teoria, questo algoritmo non puo garantire che la catena da esso in-

dividuata quale “piu probabile” sia, in effetti, la piu probabile fra tutte.

Soltanto tramite un calcolo esaustivo di tutte le catene nascoste possibili po-

tremmo avere questa garanzia, il che, oltre ad impraticabile, non e necessario

per i nostri fini. I risultati ottenuti con l’Algoritmo di Viterbi sono infat-

ti corretti nella maggior parte dei casi, e nei pochissimi casi restanti sono

sufficientemente attendibili.

3.2.3 Difficolta per l’utilizzo degli HMM

Sono tre le difficolta per l’utilizzo degli HMM che meritano di essere discus-

se in questa tesi: il valore numerico estremamente ridotto delle probabilita

ottenute, le dimensioni delle matrici di probabilita (in modo speciale del-

la matrice di emissione) e l’occorrenza di simboli non osservati durante il

training.

Come abbiamo visto, le probabilita calcolate tramite gli HMM sono estre-

mamente ridotte: dipendendo delle dimensioni del tag-set e delle catene di

simboli osservate, persino per le catene piu probabili i risultati si situano

non di rado nei miliardesimi di miliardesimi. Oltre ad essere poco pratici

per fornire indicazioni comprensibili sulle probabilita, questi valori provoca-

7Ovviamente la stragrande maggioranza di queste catene di stati, quali una composta

da soli verbi, sarebbe estremamente improbabile se non impossibile, ma non vi e un modo

di identificare queste catene “inutili” a priori.8Anche se, ed e importante ricordarlo, i calcoli preliminari permettono, fino ad un

certo punto, di controllare l’effetto che ogni nuovo stato stipulato avra nella probabilita

complessiva della catena.

20

Page 21: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

3.2 Catene di Markov nascoste

no errori di underflow : non capaci di usare valori troppo piccoli, i calcolatori

li trasformano in zero assoluto ed impediscono l’esecuzione dell’Algoritmo di

Viterbi9. La soluzione per questo problema e semplice: vengono calcolati i

logaritmi di tutte le probabilita percentuali che, oltre ad escludere il rischio

di underflow poiche i valori passano a situarsi quasi esclusivamente nella fa-

scia [−4 . . . 0), permettono i calcoli delle probabilita totali tramine addizioni

e non moltiplicazioni (un’operazione piu veloce).

Le dimensioni delle matrici sono il secondo problema da considerare; esse,

infatti, crescono esponenzialmente con la complessita dei tag-set utilizzati e,

soprattutto, con il numero di simboli rilevati durante la fase di training. L’e-

laborazione sul corpus RepubblicaRidotto, con un tag-set da 150 tags diverse

e 50000 diversi tipi di tokens, risulta in una matrice di emissione con piu di

7 milioni di valori. Espresso in termini computazionali, sarebbero necessari

circa 28 Mb soltanto per questa matrice.

La prima alternativa a questo problema e di utilizzare soltanto le proa-

bilita non nulle, poche se comparate al totale di probabilita. Questo metodo

richiede una organizzazione della memoria piu complessa, che verifichi l’esi-

stenza di ogni probabilita richiesta rendendola come zero in caso negativo.

La seconda alternativa e di utilizzare soltanto i valori piu significativi: nel

caso del linguaggio naturale, si potrebbero scartare tutte le probabilita per le

parole poco frequenti, limitando le dimensioni del vocabolario (per esempio

a 10.000 tipi) o determinando una frequenza minima per l’inclusione (come

un minimo di tre occorrenze nel corpus).

Limitare le dimensioni del vocabolario aggrava un fenomeno comunque

inevitabile: l’occorrenza durante il tagging di parole non osservate durante il

training. E comune, infatti, che una sequenza di tokens contenga tipi non os-

servati o scartati per economia di memoria; nel corpus RepubblicaRidotto, ad

esempio, 8% dei tokens dell’area di test sono di questo tipo. Tra le soluzioni

per questo problema, come l’analisi puramente morfolessicale dei tokens, la

migliore e il calcolo di una “probabilita per tipi rari”10. Questo calcolo e ef-

fetuato con “estimators” (perche stimano la probabilita dei tokens rari dalle

altre probabilita) oppure con “metodi di discounting” (perche allocano una

9Oltre al fatto che tutti i valori sono resi uguali, dipendendo dal momento in cui avviene

l’underflow l’algoritmo effettuara divisioni per zero.10Si deve precisare che non si tratta di un valore unico per tutto l’HMM, ma unico per

distribuzione di proprieta; in 3.2.1, ad esempio, verrebbe calcolata una “probabilita per

tipi rari” per ogni linea delle tabelle riportate.

21

Page 22: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

Markov Models (“Catene di Markov”)

percentuale per tokens rari detraendola dalle probabilita calcolate). Questi

metodi vengono esaminati nel capitolo 4.

3.3 Implementazione

Per la nostra implementazione di un software per il tagging via HMM, si

e cominciato consultando la bibliografia a riguardo ([Manning-Schutze99],

[Jurafsky-Martin00], [Rabiner90]) ed alcune implementazioni disponibili sot-

to licenza GNU GPL 2, quali [Bird04] (in linguaggio Python) e [Jurish03]

(in linguaggio C++) e, in modo particolare, [Schroder02] e [Kanungo99]

(entrambi in linguaggio C).

La nostra versione11 e stata scritta in linguaggio C a partire da modifiche

apportate a [Kanungo99]. La stesura di questo software, combinata all’analisi

delle versioni alternative ed a modifiche minori apportate a [Schroder02], ha

permesso una comprensione maggiore delle particolarita degli HMM.

L’obiettivo e stato quello di sviluppare un software per la realizzazione

delle varie sperimentazioni necessarie per questa tesi; dopo la conclusione,

pero, si e investigata la possibilita di continuare lo sviluppo del software

proposto da [Schroder02]12.

Per la gestione della memoria, oltre ad un attento studio delle tecniche

proposte in [Kernighan-Ritchie88], abbiamo deciso per strutture di dati piu

semplici, che combinano le due alternative presentate in 3.2.3: vengono scritte

in memoria solamente le probabilita non nulle (l’organizzazione e controllata

da un semplice ma efficace hash table) e per il trattamento degli eventi rari

viene utilizzato il metodo di “Cross-Validation” (si veda 4.2.7).

11Disponibile all’indirizzo http://hermes.sf.net/12Le nostre prime modificazioni sono disponibili a http://hermes.sf.net/acopost.html

22

Page 23: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

Capitolo 4

Metodi di Estimation e

Discounting

Come introdotto in 3.2.3, il principale problema per i tagger HMM e il cal-

colo della probabilita per eventi non osservati durante il training, quali un

simbolo (tipo) sconosciuto o una transizione fra stati (tags) poco probabile,

ma valida e possibile. Si tratta, in fondo, dello stesso problema discusso

in 3.3 sulle dimensioni in memoria del modello: se da una parte e vero che

non sia necessario riferire esplicitamente in un modello tutti gli eventi in-

contrati, quali un cognome straniero, d’altra parte e anche vero che eventi

poco probabili meritano una particolare attenzione, poiche saranno rilevati

in praticamente tutti i testi forniti ad un tagger.

Oltre a questo, non di rado molti degli errori commessi da un tagger, sia

HMM o di altro tipo, sono conseguenza diretta di un evento poco probabile

o “raro” classificato erroneamente che provoca un “effetto domino” di tags

incorrette.

4.1 Esempio

Il problema del calcolo delle probabilita e infatti molto piu complesso di

quanto possa sembrare a prima vista. Molti autori, quali [Sampson07], usano

una metafora semplice ma efficace di “osservazione di animali” per spiegare

la questione; sembra che la pratica si sia originata con Alan Turing ed il suo

metodo di discounting, discusso in 4.2.3.

Si immagini un turista in Africa; questo turista decide di calcolare le

23

Page 24: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

Metodi di Estimation e Discounting

probabilita di osservazione per ogni animale che vedra (o, in termini proba-

bilistici, “osservera”) durante un safari. Dopo alcuni minuti, egli ha osser-

vato 10 animali: 5 giraffe, 3 rinoceronti e 2 elefanti. Se gli fossero chieste

le probabilita di osservazione di ogni animale, la sua risposta immediata po-

trebbe essere di 50% di probabilita di osservazione per giraffe (5÷10), 30%

per rinoceronti (3÷10) e 20% per elefanti (2÷10). Purtroppo questo metodo

di stima, denominato “Maximum-Likelihood Estimator” e discusso in 4.2.1,

presenta un grande problema: esso annulla la probabilita di osservare altri

tipi di animali, come leoni (0÷10 = 0%), soltanto perche non osservati du-

rante questa sorta di training. Un’alternativa immediata, simile al metodo

“Lidstone Estimator” discusso in 4.2.2, sarebbe determinare una percentua-

le, per esempio 10%, da assegnare a tutti gli animali non osservati e detrarla

dalle probabilita calcolate per i primi (ottenendo 45%, 27% e 18% per giraffe,

rinoceronti ed elefanti, rispettivamente).

Pur migliore, anche questa soluzione non e perfetta. Oltre alla difficolta

nel determinare la giusta percentuale da riservare, il fatto che venga assegnata

la medesima probabilita ad ogni animale non osservato comporta, in primo

luogo, che la somma delle probabilita oltrepassi il limite logico del 100%

(per esempio, con giraffe, rinoceronti, elefanti, leoni e zebre avremmo 45%

+ 27% + 18% + 10% + 10% = 110%). In secondo luogo, il calcolo non

terrebbe conto del tipo di animale non osservato: per il nostro turista in

Africa, questo significherebbe che le probabilita di osservare un leone o un

pinguino sarebbero teoricamente uguali.

4.2 Metodi di calcolo di probabilita

4.2.1 Maximum-Likelihood Estimator

Il “Maximum-Likelihood Estimator” (MLE) e il metodo piu semplice per

calcolo delle probabilita: partendo dal principio che tutti gli eventi possibili

siano stati osservati durante il training, la percentuale di probabilita puo

essere ottenuta facilmente tramite la divisione del numero di occorrenze di

un evento Cw per il numero totale di eventi N .

Anche se perfetto per le distribuzioni in cui tutti i tipi di eventi possibili

sono stati osservati, l’MLE e estremamente inadatto negli altri casi quali il

tagging di linguaggio naturale, poiche esso assegna una probabilita di 0% a

tutti gli “eventi” non osservati. Il problema e particolarmente grave per i

24

Page 25: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

4.2 Metodi di calcolo di probabilita

tagger tipo HMM, nei quali probabilita di 0% provocano una divisione per

zero durante l’esecuzione dell’algoritmo di Viterbi, rendendo impossibile il

tagging.

PMLE(w1 . . . wn) =C(w1 . . . wn)

N(4.1)

4.2.2 Laplace and Lidstone Estimators

La prima alternativa al metodo dell’MLE (4.2.1) fu il “Laplace Estimator”,

conosciuto anche con il nome di “aggiungi uno”. In questo metodo il cal-

colo dell’MLE e esteso in maniera tale che tutti gli eventi non conosciuti

producano una probabilita positiva, grazie ad una costante nel numeratore:

PLap(w1 . . . wn) =C(w1 . . . wn) + 1

N + B(4.2)

dove B e il numero di tipi rilevati durante la fase di training.

Anche se costituisce un’alternativa valida rispetto all’MLE, il “Laplace

Estimator” presenta anch’esso alcuni punti deboli nel calcolo delle probabi-

lita. Oltre al fatto che, come in pressoche tutti i tipi di “estimators” dispo-

nibili, ad ogni singolo evento non conosciuto viene attribuita la medesima

probabilita, il “Laplace Estimator” pecca per la sua caratteristica distintiva:

il valore invariabile aggiunto a qualsiasi tipo di distribuzione. La costante

del numeratore, infatti, non tiene conto delle caratteristiche del modello a

cui viene applicata (quali il numero di tokens, il numero di simboli e l’entro-

pia), allocando troppo o insufficiente spazio per gli eventi non osservati, a

seconda del caso. Questo problema e particolarmente evidente nella matrice

B dei tagger HMM: la probabilita di incontrare un segno di punteggiatura

o una preposizione non osservati durante il training e cosı bassa al punto di

essere insignificante; al contrario, la percentuale allocata da questa costante

per sostantivi e verbi non osservati e solitamente insufficiente.

Un’evoluzione del “Laplace Estimator”, che risolve in parte i problemi

evidenziati di quest’ultimo, e il “Lidstone Estimator”, nel quale sia la co-

stante 1 sia il numero di tipi vengono moltiplicati per una costante λ con

valore nella fascia (0 . . . 1) che puo essere modificata a seconda del tipo di

distribuzione che si sta calcolando (il che permette, ad esempio, di riservare

una percentuale maggiore di discount per i sostantivi ed una minore per le

preposizioni). In ogni caso, come dimostrato in [Manning-Schutze99], anche

25

Page 26: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

Metodi di Estimation e Discounting

per questo tipo di “estimator” vi sono obiezioni: e necessario, a sua volta,

stimare (in pratica, indovinare) valori accettabili di λ per ogni caso (anche se

un’analisi dei corpora disponibili puo fornire indicazioni positive a riguardo)

e le probabilita ottenute sono sempre lineari come i risultati ottenuti tramite

l’MLE, senza concordare con le distribuzioni empiriche a basse frequenze (si

pensi alla Legge di Zipf ed alla Formula di Mandelbrot, da essa derivata,

discusse in [Manning-Schutze99]).

PLid(w1 . . . wn) =C(w1 . . . wn) + λ

N + Bλ(4.3)

4.2.3 Good-Turing Discounting

Questo metodo fu elaborato da Alan Turing durante i suoi lavori di analisi

crittografica e pubblicato dopo la Seconda Guerra Mondiale dal suo colla-

boratore Irving Good. Si tratta di un metodo empirico, che alloca una per-

centuale per gli eventi non osservati a partire dall’analisi delle frequenze nel

corpus di training ; in poche parole, la percentuale e funzione della frequenza

di tipi che sono rilevati una sola volta, poiche anch’essi, prima della loro uni-

ca occorrenza, erano “eventi non osservati”. In maniera inversa, il tipo piu

frequente e postulato con una frequenza uguale a zero, giacche nessun altro

tipo potrebbe avere una frequenza piu grande della sua [Manning-Schutze99].

In termini matematici, il “Good-Turing estimator” viene espresso:

Se C(w1 . . . wn) = r > 0

PGT (w1 . . . wn) =r∗

Ndove r∗ =

(r + 1)S(r + 1)

S(r)(4.4)

Se C(w1 . . . wn) = 0

PGT (w1 . . . wn) =1 −

∑∞

r=1Nr

r∗

N

N0

≈N1

N0N(4.5)

In generale, comunque, viene utilizzato un approccio piu semplice denomi-

nato “Simple Good-Turing”, che combina le due equazioni sopra, presentato

da Gale e Sampson (si veda [Sampson07]) [Manning-Schutze99].

26

Page 27: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

4.2 Metodi di calcolo di probabilita

4.2.4 Witten-Bell Discounting

Il “Witten-Bell” e un metodo di discounting relativamente semplice ma che,

in casi particolari, presenta ottimi risultati. Il suo funzionamento e alquanto

semplice: gli “eventi” che sono stati osservati una sola volta sono conside-

rati esempi di “eventi rari”; ad essi viene distribuita una massa percentuale

uniforme che si rifa al MLE. Questa percentuale e sucessivamente detratta

dagli “eventi” con piu di una osservazione, per garantire che la sommatoria

sia uguale al 100%.

4.2.5 Absolute Discounting

L’“Absolute Discounting” e anch’esso un metodo semplice ed in molti casi

efficace, che detrae un valore δ da tutti gli “eventi” con probabilita positiva,

distribuendo ugualmente la somma di queste detrazioni ad eventi sconosciuti.

Da categorie numericamente limitate, come preposizioni e segni di punteg-

giatura, risulteranno piccole somme di δ e dunque una detrazione minore; da

categorie a piu alta entropia, quali sostantivi, saranno ricavate somme piu

grandi da distribuire ad “eventi” non conosciuti.

Come nel caso del λ per il “Lidstone Estimator”, la grande difficolta per

questo metodo e individuare un valore adatto di δ. Anche in questo caso

l’evidenza empirica dell’applicazione a corpora di test e la successiva analisi

dei risultati puo fornire indicazioni estremamente valide.

4.2.6 Linear Discounting

Il “Linear Discounting” e un metodo che presenta affinita sia con il “Laplace

Estimator” sia con l’“Absolute Disconting”. In questo metodo, infatti, una

massa percentuale del totale di probabilita viene ottenuta dagli eventi con

probabilita positiva ed e riservata a eventi sconosciuti, ai quali e distribuita.

4.2.7 Held-Out Estimation e Cross Validation

L’“Held-Out Estimation” e un metodo che calcola empiricamente le probabi-

lita di occorrenza, con una particolare attenzione per gli eventi non osservati.

Funziona tramite una divisione previa del corpus di training in due parti:

una, normalmente piu grande, per il training ed una seconda, minore, per la

verifica dei risultati ottenuti con la prima parte. In pratica, questa seconda

27

Page 28: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

Metodi di Estimation e Discounting

parte viene utilizzata come esempio delle sequenze che verranno sottoposte

all’estimator : confrontando la sua precisione su questa quanto agli eventi non

osservati, vengono aggiustate le matrici di probabilita per ottenere risultati

piu vicini a questa sperimentazione empirica.

Il “Cross Validation” e un metodo similare all’“Held-Out Estimation”,

che invece di dividere il corpus di training in due, utilizza l’intero corpus sia

per il training che per la verifica della sua precisione.

4.3 Esempio

Per una dimostrazione con alcuni fra i metodi che abbiamo descritto, si e

effettuata una sperimentazione di calcolo di probabilita di tipi di tokens sul

testo della Commedia dantesca: le prime due parti, Inferno e Purgatorio,

hanno formato il nostro corpus di training, mentre la terza, Paradiso, e stata

utilizzata come corpus di verifica. Non si tratta di una sperimentazione

definitiva o conclusiva: i corpora sono molto ridotti in termini computazionali

(circa 82.000 tokens per l’Inferno e per il Purgatorio e circa 40.000 per il

Paradiso), poco vari in termini diafasici, diastratici e diacronici, ma molto

specifici nel linguaggio adoperato (grande quantita di parole “rare”).

I risultati per un elenco di 23 parole selezionate casualmente sono ri-

portati nella tabella che segue, in logaritmi delle percentuali di probabilita;

“Gold” indica i valori di frequenza ottenuti empiricamente sulla terza parte

dell’opera, “Lap” la probabilita secondo il “Laplace Estimator”, “CV” se-

condo il “Cross-Validation”, “WB” secondo il “Witten-Bell” e “GT” secon-

do il “Good-Turing”1. L’ultima linea riporta la sommatoria delle differenze

logaritmiche per le parole considerate: quanto minore, migliori i risultati

ottenuti.

L’analisi dei risultati dimostra che fra i quattro metodi utilizzati il miglior

risultato ottenuto e stato quello del “Cross-Validation”, con un sorprendente

secondo posto per il “Laplace” (vista l’ampia diffusione del “Good-Turing”

e le molte obiezioni al metodo “Laplace”, come in [Manning-Schutze99], la

nostra aspettativa era di avere il “Good-Turing” al primo o secondo posto).

1L’MLE non poteva essere utilizzato data la presenza di parole “rare” nel corpus di

verifica che risultebbero in sommatorie infinite di differenze; il miglior risultato per il

“Lidstone”, comprovato empiricamente tramite iterazioni, era un λ di valore uguale ad 1

(dunque, un “Laplace”) ed i metodi di “Linear” e “Absolute Discounting” non sono stati

utilizzati perche meno comuni.

28

Page 29: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

4.3 Esempio

Come gia specificato, questi risultati non sono particolarmente significativi

fuori dal contesto di analisi, ma servono soprattutto a dimostrare che il trat-

tamento degli eventi rari e possibile e, selezionando il metodo di calcolo e gli

eventuali parametri corretti, fornisce risultati accettabili e sufficientemente

precisi.

Parola Gold Lap CV WB GT

Bernardo -3,7496 -4,9671 -4,4437 -4,9671 -4,9126

Buondelmonti -4,5947 -4,9671 -4,4437 -4,9671 -4,9126

Cristo -3,0150 -4,0129 -3,9911 -4,0640 -4,0096

Dio -2,8023 -3,1410 -3,1003 -3,1476 -3,0932

contra -3,5533 -3,4900 -3,5056 -3,5047 -3,4503

disse -3,0896 -2,7216 -2,8631 -2,7241 -2,6697

esce -3,8958 -3,9671 -3,9574 -4,0129 -3,9585

etterna -3,4186 -3,9671 -3,9817 -4,0129 -3,9585

guise -4,5947 -4,9671 -4,4437 -4,9671 -4,9126

il -2,1699 -2,3256 -2,2328 -2,3266 -2,2722

io -2,1429 -2,1385 -2,0902 -2,1391 -2,0847

mortal -3,4186 -4,1890 -4,3350 -4,2681 -4,2138

nascosta -4,5947 -4,6661 -4,7738 -4,9671 -4,9126

ombra -3,3906 -3,3139 -3,1777 -3,3237 -3,2693

patio -4,2937 -4,9671 -4,4437 -4,9671 -4,9126

produce -3,9927 -4,4900 -4,8949 -4,6661 -4,6117

quasi -3,1968 -3,5521 -3,5326 -3,5692 -3,5148

questo -2,6503 -3,0033 -3,0514 -3,0081 -2,9537

rimarreste -4,5947 -4,9671 -4,4437 -4,9671 -4,9126

sia -3,4186 -3,1542 -3,1783 -3,1609 -3,1065

tedesche -4,5947 -4,9671 -4,4437 -4,9671 -4,9126

tu -2,5455 -2,4758 -2,4749 -2,4772 -2,4228

uscissi -4,5947 -4,9671 -4,4437 -4,9671 -4,9126

Sommatoria 8,7591 7,1464 9,4517 8,8525

29

Page 30: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

Metodi di Estimation e Discounting

Figura 4.1: Sommatorie delle differenze logaritmiche

30

Page 31: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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

Page 32: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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

Page 33: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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

Page 34: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

Analisi empirica

Figura 5.1: Velocita di tagging (tokens/s)

34

Page 35: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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

Page 36: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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

Page 37: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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

Page 38: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

Analisi empirica

38

Page 39: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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

Page 40: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

Conclusione

40

Page 41: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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).

Page 42: UTILIZZAZIONE DI “HIDDEN MARKOV MODELS” ED ALTRI MODELLI PER IL TAGGING DELL’ITALIANO

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-

tenuto il 6 maggio 2007.

42