Aspetti computazionali e metodologici della disambiguazione del Corpus Taurinense

Post on 14-Jan-2016

36 views 0 download

description

Aspetti computazionali e metodologici della disambiguazione del Corpus Taurinense. Scopo del progetto: Creazione di un corpus che possa fungere da modello di apprendimento per un sistema di annotazione stocastica basata sui Modelli Markoviani Nascosti (HMM). - PowerPoint PPT Presentation

Transcript of Aspetti computazionali e metodologici della disambiguazione del Corpus Taurinense

Aspetti computazionali e metodologici della disambiguazione del Corpus Taurinense

Scopo del progetto:

Creazione di un corpus che possa fungere da modello di apprendimento per un sistema di annotazione stocastica basata sui Modelli Markoviani Nascosti (HMM)

Problema: come realizzare un efficace sistema di disambiguazione per una lingua letteraria ancora vergine sotto l’aspetto del trattamento automatico

Soluzione: creazione di un sistema di disambiguazione per Parti del Discorso (POS) basato su regole, il più possibile svincolate dal contesto in cui si trovano

Necessità di prevedere comunque l’impiego di regole legate al contesto al fine di coprire tutti i numerosi casi di trattazione particolare dell’elemento (token) da disambiguare

Tre differenti tipologie di disambiguazione:

- Esterna: parti del discorso diverse - Interna: attributi genere/numero- Intra-POS: tipi diversi della stessa parte del discorso (es. modo, tempo, ecc.)

Necessità di prevedere una gerarchia di azione:

Regole di disambiguazione organizzate in sei moduli distinti operanti in cascata

In uno stesso modulo organizzazione delle regole secondo uno schema a mutua esclusione: regole diverse non possono agire sullo stesso token

Modulo 1

Modulo 2

Modulo 3

Modulo 6

Modulo 5

Modulo 4

Testo iniziale

Testo disambiguato

Tipologia di disambiguazione (interna, esterna, ecc.) non vincolata ad alcun modulo specifico: possibilità di agire contemporaneamente su più parametri anche all’interno di una stessa regola

Il primo modulo assume in ingresso un testo già diviso in token e dotato di completa annotazione morfosintattica e codifica metatestuale (markup)

Esempio testo di origine:

@Rinuccino@@Sonetti@@@Lir

%001

&V $0035$ #001@ D' amore abiendo gioia interamente ,

lasso , nonn¬ aio in altro intendimento

né che partisse lo cor né la mente

da ÷l primo loco là onde avea abento ;

$0036$ ma feci come· ll' omo che consente

molte fïate contro a suo talento :

traduto m' àn li sguardi che sovente

mi son mostrati , e messo in gran tormento .

Sì come il marinaro la serèna ,

ca lo disvïa co lo dolze canto

e poi li dà tempesta per inganno ,

$0037$ così la gioia m' è cangiata in pena ,

e· ÷Ø riso , lasso m' è tornato in pianto :

per mia follia ò radop&[p&]iato il danno .

Esempio testo etichettato:

@Rinuccino@@Sonetti@@@Lir

%001

&V_lem=versesection,71,0,0,0,0,0 $0035$ #001@ D'_(lem=da,56,0,0,0,0,0);(lem=di,56,0,0,0,0,0);(lem=di,51,0,0,0,0,0);(lem=di;da,56,0,0,0,0,0) amore_lem=amore,20,0,4,6,0,0 abiendo_lem=avere,224,0,0,0,0,0 gioia_lem=gioia,20,0,5,6,0,0 interamente_lem=interamente,45,0,0,0,8,0 ,_lem=comma,71,0,0,0,0,0

lasso_lem=lasso,26,0,4,6,8,0 ,_lem=comma,71,0,0,0,0,0 nonn¬_lem=non,45,0,0,0,8,0 aio_lem=avere,211,1,0,6,0,0 in_(lem=in,56,0,0,0,0,0);(lem=in,51,0,0,0,0,0);(lem=in,75,0,0,0,0,0) altro_lem=altro,32,0,4,6,0,0 intendimento_lem=intendimento,20,0,4,6,0,0

né_lem=né,50,0,0,0,0,0 che_(lem=che,36,0,4;5,6;7,0,0);(lem=che,51,0,0,0,0,0);(lem=ché,51,0,0,0,0,0);(lem=che,35,0,4;5,6,0,0);(lem=che,40,0,4;5,6,0,0);(lem=che,32,0,4,6,0,0);(lem=che,45,0,0,0,8,0) partisse_lem=partire/-si/,116,3,0,6,0,0 lo_(lem=lo,60,0,4,6,0,0);(lem=lo,39,3,4,6,0,0) cor_(lem=cuore,20,0,4,6,0,0);(lem=cor,75,0,0,6,0,0) né_lem=né,50,0,0,0,0,0 la_(lem=la,60,0,5,6,0,0);(lem=la,39,3,5,6,0,0);(lem=là,45,0,0,0,8,0) mente_(lem=mente,20,0,5,6,0,0);(lem=mentire,115,2,0,6,0,0)

Funzionamento del motore di disambiguazione:

- Creazione di una serie di puntatori ai token che compongono il testo

- Definizione di regole che agiscono sul token del puntatore centrale

Caratteristiche dei puntatori:

- numero minimo pari a 3- mobili: avanzano all’interno del testo - puntano a elementi testuali contigui (dati di markup esclusi)- permettono di definire con assoluta precisione il campo di applicazione di una regola non generale

Esempio di puntatori:

né_lem=né,50,0,0,0,0,0 PT 1

che_(lem=che,36,0,4;5,6;7,0,0);(lem=che,51,0,0,0,0,0);(lem=ché,51,0,0,0,0,0);(lem=che,35,0,4;5,6,0,0); (lem=che,40,0,4;5,6,0,0);(lem=che,32,0,4,6,0,0); (lem=che,45,0,0,0,8,0)

PT 2

partisse_lem=partire/-si/,116,3,0,6,0,0 PT 3

lo_(lem=lo,60,0,4,6,0,0);(lem=lo,39,3,4,6,0,0)

cor_(lem=cuore,20,0,4,6,0,0);(lem=cor,75,0,0,6,0,0)

né_lem=né,50,0,0,0,0,0

che_(lem=che,36,0,4;5,6;7,0,0);(lem=che,51,0,0,0,0,0); (lem=ché,51,0,0,0,0,0);(lem=che,35,0,4;5,6,0,0); (lem=che,40,0,4;5,6,0,0);(lem=che,32,0,4,6,0,0); (lem=che,45,0,0,0,8,0) PT 1

partisse_lem=partire/-si/,116,3,0,6,0,0 PT 2

lo_(lem=lo,60,0,4,6,0,0);(lem=lo,39,3,4,6,0,0) PT 3

cor_(lem=cuore,20,0,4,6,0,0);(lem=cor,75,0,0,6,0,0)

Scorrimento in avanti:

Funzionamento delleregole di disambiguazione: - analisi del contenuto dei puntatori: controllo di corrispondenza con quanto stabilito dalla regola- modifica (disambiguazione) del contenuto del puntatore centrale

Esempio di regola di disambiguazione

if (campo ~ /^terza_/ && campo ~ /\);\(/){nf++if ($bw ~ /^già_/ || $fw ~ /^a_/)

{assegna(campo, "20", end)}

else{assegna(campo, "65", end)}

}

Problematiche delle regole di disambiguazione: - elevata complessità di sviluppo- modalità di azione suddivisa su più moduli distinti- definizione di ordine gerarchico di funzionamento- difficoltà di controllo degli errori

Soluzione: 

- suddivisione delle regole in moduli omogenei per campo di applicazione (es. V/N; N/Adj; etc.)- utilizzo preventivo di regole ad-hoc per agevolare il funzionamento delle regole generali- utilizzo del modulo ausiliario “PEX” per la verifica della coerenza sintattica e di applicazione di una data regola

PEX – Pattern EXtractor 

- sistema dotato di capacità di emulazione di qualsivoglia modello

no

Definizione e stampa del contesto

si

Regola individuata?

Ricerca della regola nel testo

Fasi di sviluppo tradizionali:  

- studio teorico dei vari tipi di regole - implementazione pratica delle stesse in un determinato formalismo, di solito strettamente dipendente dal programma di disambiguazione - attivazione del processo di elaborazione- verifica sul testo disambiguato del corretto operato delle regole- correzione in post-editing delle regole - rielaborazione del testo dall’origine

Fasi di sviluppo adottate nel CT:  

- studio teorico dei vari tipi di regole - emulazione delle singole regole mediante l’utilizzo del modulo “PEX” - analisi dei risultati- eventuale correzione delle regole - implementazione definitiva delle regole- elaborazione del testo da disambiguare

Vantaggi:  

- semplificazione dell’iter di sviluppo - abbattimento dei cicli successivi di correzione regole e analisi dei dati- riduzione dei tempi morti di elaborazione - ottenimento di risultati certi e definitivi in tempi notevolmente ridotti- elaborazione finale in un unico passaggio