Natural Language Processing Parte 2: Part of Speech Tagging 2 Marco Maggini Classi di parole - Tecnologie per l'elaborazione del linguaggio 1 • Le parole possono essere raggruppate in classi dette Part of Speech (PoS) o classi morfologiche ▫ La grammatica tradizionale prevede poche tipologie di PoS (sostantivo, verbo, aggettivo, preposizione, avverbio, congiunzione, ecc..) ▫ Modelli più recenti considerano un numero maggiore di classi 45 Penn Treebank 87 Brown corpus 146 C7 tagset ▫ La PoS di una parola fornisce informazione fondamentale per determinare il ruolo della parola stessa e di quelle vicine nella frase sapere se una parola è un pronome personale (io, tu, egli,.. ) o un pronome possessivo (mio, tuo, suo,…) permette di definire meglio quali parole è più probabile trovare nelle sue vicinanze (le regole sintattiche considerano di fatto le PoS delle parole) es. pronome possessivo - sostantivo vs. pronome personale - verbo 3 Marco Maggini Classi di parole - Tecnologie per l'elaborazione del linguaggio 2 • Le classi sono in genere definite in base alle proprietà morfologiche o alla funzione sintattica delle parole ▫ parole che hanno funzioni simili in base agli affissi (proprietà morfologiche) ▫ parole che condividono contesti simili (proprietà legata alla loro distribuzione/ funzione sintattica) • Non si fa in genere riferimento alla definizione di classi basate su coerenza semantica ▫ un sostantivo è un referente di “persone, luoghi o cose” • Le classi considerate possono essere chiuse o aperte ▫ Le classi chiuse sono quelle che hanno dei membri fissi (es. preposizioni) Tendono a contenere le parole funzionali (di, e, che, da, in, …) che sono brevi, frequenti e hanno un ruolo nella grammatica ▫ Le classi aperte invece sono soggette all’aggiunta di nuovi termini (es. verbi e sostantivi) 4 Marco Maggini Classi di parole – Tecnologie per l'elaborazione del linguaggio sostantivi/nomi • Le 4 maggiori classi aperte di parole, previste dalla maggior parte dei linguaggi, sono ▫ sostantivi ▫ verbi ▫ avverbi ▫ aggettivi • I sostantivi sono termini concreti (es. nave, tavolo), astrazioni (es. relazione, funzione),… ▫ dal punto di vista funzionale possono essere legati a termini determinativi (la nave, una nave, ..) e assumere anche la forma plurale (le navi), ecc.. ▫ Sono tradizionalmente suddivisi in nomi propri (es. Marco, Italia, ecc. ) e nomi comuni (es. libro, lezione, ecc..) ▫ In molti linguaggi i nomi comuni sono ulteriormente suddivisi in contabili (count nouns – prendono il plurale) e non contabili (mass nouns – si usano al singolare, es. neve, comunismo) 5 Marco Maggini Classi di parole – Tecnologie per l'elaborazione del linguaggio verbi e aggettivi • La classe dei verbi include la maggior parte delle parole che fanno riferimento ad azioni e processi ▫ scrivere, andare, mangiare ▫ possono avere più forme morfologiche In Inglese non-3rd-person-sg (eat), 3rd-person-sg (eats), progressive (eating), past-participle (eaten), past perfect (ate) Una classe particolare di verbi sono gli ausiliari (essere, avere) • La classe degli aggettivi contiene termini che descrivono proprietà o qualità ▫ La maggior parte dei linguaggi ha aggettivi per i concetti di colore (bianco, rosso,..), di età (giovane, vecchio,..), di qualità (buono, cattivo,..), ecc. 6 Marco Maggini Classi di parole - Tecnologie per l'elaborazione del linguaggio avverbi • In genere gli avverbi sono accumunati di avere una funzione di modifica di altri termini (non solo verbi) ▫ Gli avverbi direzionali o locativi specificano la direzione o la locazione di una certa azione (qui, là, laggiù, su,..) ▫ Gli avverbi di grado specificano il livello di un’azione, processo o proprietà (estremamente, molto, poco,..) ▫ Gli avverbi di modo descrivono il modo di qualche azione o processo (lentamente, delicatamente, attentamente,..) ▫ Gli avverbi temporali descrivono la collocazione temporale di azioni o eventi (ieri, oggi, prima, dopo, poi, Lunedì, ..) • La classe degli avverbi è comunque abbastanza eterogenea ▫ Alcuni avverbi possono anche assimilati a sostantivi (es. Lunedì – ci vediamo Lunedì, ci vediamo il Lunedì ) 7 Marco Maggini Classi di parole – Tecnologie per l'elaborazione del linguaggio classi chiuse 1 • Sono classi più diversificate da linguaggio a linguaggio ▫ ▫ ▫ ▫ Preposizioni: da, a, su, di, con, per,… (on, under, by, at, with,..) Articoli determinativi/indeterminativi: il, la, lo, le, i, gli, un,.. (the, a , an) Pronomi: lei, lui, io, chi, altri,… (I, you, she, who, others,…) Congiunzioni: e, ma, o, se, poiché, quando… (and, but, or, if, because, when,…) ▫ verbi ausiliari: essere, avere, potere, dovere (be, have, can, must,…) ▫ numerali: uno, due, tre, .. primo, secondo (one, two,.., first, second) • Le preposizioni occorrono prima di parti nominali (noun phrases) ▫ Semanticamente esprimono una relazione (spaziale, temporale, ecc..) ▫ In Inglese alcune preposizioni in certi contesti assumono un ruolo diverso e si possono attribuire alla categoria delle particelle es. on nelle frasi verbali come go on in cui hanno una funzione analoga ad un avverbio 8 Marco Maggini Classi di parole – Tecnologie per l'elaborazione del linguaggio classi chiuse 2 • Gli articoli sono spesso la parte iniziale di una parte nominale ▫ Sono fra i termini più comuni (es. the in Inglese) • Le congiunzioni sono utilizzate per connettere frasi ▫ Le congiunzioni coordinative sono usate per unire proposizioni dello stesso livello copulative (e ,anche, pure,..), disgiuntive (o, oppure, ..), avversative (ma, però,..), dichiarative/esplicative (infatti, cioè), conclusive (quindi, dunque,…), correlative (e…e, o…o, non solo…ma anche,..) ▫ Le congiunzioni subordinative esprimono un fatto dipendente dalla proposizione principale dichiarative (che, come,..), condizionali (se, purché, qualora, ..), causali (perché, poiché,..), finali (affinché, perché,..), concessive (sebbene, benché,..), consecutive (a tal punto che, cosicché,..), temporali (quando, prima,..), comparative (più che, tanto quanto,..), modali (come, come se,..), avversative (mentre, quando, invece,..), esclusive (fuorché, tranne che,..) 9 Marco Maggini Classi di parole – Tecnologie per l'elaborazione del linguaggio classi chiuse 3 • I pronomi sono elementi che permettono di riferirsi in modo abbreviato a frasi nominali, entità o eventi ▫ I pronomi personali si riferiscono a persone o entità (io, tu, me,..) ▫ I pronomi possessivi esprimono il possesso o, in generale, una relazione astratta fra una persona e un qualche oggetto (mio, suo, nostro, ..) ▫ I pronomi relativi permettono di mettere in relazione due proposizioni subordinando la frase introdotta a quella che contiene la parola sostituita (che, il quale,…) ▫ I pronomi dimostrativi indicano una persona o oggetto in riferimento a una relazione allo spazio, al tempo o al discorso (questo, quello, codesto,..) ▫ I pronomi indefiniti permettono di riferirsi a un generico oggetto, persona, evento (nessuno, ciascuno, ognuno, tutto,….) 10 Marco Maggini Classi di parole – Tecnologie per l'elaborazione del linguaggio classi chiuse 4 • I verbi ausiliari vengono utilizzati in combinazione con altri verbi per dare un significato particolare alla forma verbale ▫ definire i tempi composti dei verbi (passato prossimo, trapassato remoto, ..) si usa avere per i verbi transitivi, per i verbi intransitivi non c’è una regola chiara. Alcuni verbi hanno entrambe le forme e usano ausiliari diversi (es. scendere – “Sono sceso dalle scale” (intr.) vs. “Ho sceso le scale” (tr.)) ▫ esprimere la forma interrogativa o negativa di un verbo do in Inglese – I do not (don’t) walk, Do you like it? ▫ definire la forma passiva di verbi transitivi (essere, venire) ▫ definire una specifica modalità all’azione (ausiliari modali o verbi servili) necessità/obbligo (dovere, avere da – must, have to, need to) possibilità (potere – may) volontà (volere – will, wish) capacità (sapere, potere – can) 11 Marco Maggini Tecnologie per l'elaborazione del linguaggio Tagsets • Sono stati definiti alcuni insiemi di tag da utilizzare per il PoS tagging ▫ In riferimento alla lingua Inglese i tagset disponibili hanno un dettaglio variabile Penn Treebank tagset: 45 tags (Marcus et al. 1993) C5 tagset: 61 tags (CLAWS project by Lacaster UCREL, 1997) C7 tagset: 146 tags (Leech et al. 1994) ▫ I tag sono in genere aggiunti alla fine della parola dopo / ▫ Il Penn Treebank tagset non descrive alcune proprietà che possono essere comunque ricavate dall’analisi dell’entità lessicale o dalla sintassi es. le preposizioni e le congiunzioni subordinate sono combinate in un unico tag IN perché sono comunque disambiguate nell’albero di analisi 12 Marco Maggini Tecnologie per l'elaborazione del linguaggio Penn Treebank tagset Tag CC CD DT EX FW IN JJ JJR JJS LS MD NN NNS NNP NNPS PDT POS PP PP$ RB RBR RBS RP Description Coordin. Conjunction Cardinal number Determiner Existential ‘there” Foreign word Preposition/sub-conj Adjective Adj. comparative Adj. superlative List item marker Modal Noun, singular/mass Noun, plural Proper noun, singul. Proper noun, plural Predeterminer Possessive ending Personal pronoun Possessive pronoun Adverb Adverb, comparative Adverb, superlative Particle Example and, but, or one, two a, the there mea culpa of, in, by yellow bigger biggest 1,2,3 can, should dog, snow dogs Marco Alps all, both ‘s I, you, he my, your never, often faster fastest up, on ,off Tag SYM TO UH VB VBD VBG VBN VBP VBZ WDT WP WP$ WRB $ # “ ” ( ) , . : Description Symbol “to” Interjection Verb, base form Verb, past tense Verb, gerund Verb, past particip. Verb, non-3sg pres Verb, 3sg pres Wh-determiner Wh-pronoun Possessive whWh-adverb Dollar sign Pound sign Left quote Right quote Left parenthesis Right parenthesis Comma Sentence-final pun Mid-sentence punt. Example +, %, € to ah, uh, oops eat ate eating eaten eat eats which, that what, who whose how, where $ # “ ” ( [ { < ) ] }> , .!? : ; …- 13 Marco Maggini Tecnologie per l'elaborazione del linguaggio PoS tagging & tags • Il PoS tagging consiste nell’assegnare un tag a ciascuna parola di un documento/corpus ▫ La scelta del tagset da usare dipende dalla lingua/applicazione ▫ L’ingresso è una stringa di parole e un tagset da utilizzare e l’uscita è l’associazione ad ogni parole del “migliore” tag ▫ Ci possono essere più tag compatibili con una parola (ambiguità) ▫ Il compito del PoS tagger è di risolvere queste ambiguità scegliendo il tag più appropriato in base al contesto in cui si trova la parola La percentuale di parole ambigue non è elevata, ma fra queste ci sono parole molto frequenti (es. can – Auxiliary verb [potere], Noun [lattina], Verb [inscatolare], still che può avere 7 tag – adj, adv, verb, noun) 14 Marco Maggini Tecnologie per l'elaborazione del linguaggio Algoritmi per PoS tagging • Tagger basati su regole ▫ Prevedono la creazione “manuale” di un ampio database di regole che specificano per i casi ambigui le condizioni da verificare per l’assegnazione di ogni tag possibile es. una parola è un sostantivo se è preceduta da un articolo • Tagger probabilistici ▫ In genere risolvono le ambibuità stimando la probabilità che una data parola abbia un dato tag in un dato contesto usando un corpus di riferimento • Altri approcci ▫ tagging come classificazione (ogni tag corrisponde ad una classe e si utilizza un classificatore che elabora delle feature che descrivono le parole del contesto) ▫ Tagger basati su regole apprese da esempi 15 Marco Maggini Tecnologie per l'elaborazione del linguaggio Rule-based PoS tagging • Processo in due fasi (es. ENGTWOL Voutilainen, 1995) ▫ Assegnazione dei tag alle parole in base a un dizionario (eventualmente più tag per parola) usando le regole morfologiche/ortografiche text stem Pavlov PAVLOV had HAVE HAVE SHOW shown PoS N PoS features NOM SG PROPER V PAST VFIN SVO PCP2 SVO PCP2 SVOO SVO SV that THAT ADV THAT PRON DEM SG THAT DET CENTRAL DEM SG THAT CS salivation SALIVATION N NOM SG ▫ Applicazione di regole per assegnare un solo tag fra quelli possibili 16 Marco Maggini Tecnologie per l'elaborazione del linguaggio Rules • Le regole hanno lo scopo di eliminare le ipotesi incompatibili col contesto ▫ In ENGTWOL sono definite circa 1100 regole ▫ ENGTWOL prevede anche vincoli probabilistici e l’uso di informazione di tipo sintattico. 17 Marco Maggini Tecnologie per l'elaborazione del linguaggio Tagging probabilistico con HMM • Data una sequenza di parole un tagger basato su HMM sceglie la sequenza di tag che massimizza al probabilità ▫ La probabilità è assegnata all’intera sequenza di tag ovvero si trova la sequenza di tag a massima verosimiglianza (Viterbi) data la sequenza di parole osservate W ▫ Applicando la regola di Bayes l’espressione precedente può essere riscritta come 18 Marco Maggini HMM tagging – Tecnologie per l'elaborazione del linguaggio ipotesi del modello • Utilizzando la regola a catena per la fattorizzazione delle probabilità • Per semplificare il modello si fanno delle approssimazioni, come ▫ La probabilità di una parola è dipendente solo dal tag ▫ La dipendenza di un tag dalla storia dei tag precedenti è limitata nel tempo, ad esempio ai due tag precedenti 19 Marco Maggini HMM tagging – Tecnologie per l'elaborazione del linguaggio modello e stima dei parametri • Con le ipotesi fatte la sequenza di tag ottimale è quella che massimizza ▫ Le probabilità richieste possono essere stimate con i conteggi su una dataset etichettato applicando opportune tecniche di smoothing/backoff ▫ Il modello proposto è un HMM di ordine 2 i cui stati corrispondono ai tag e le osservazioni alle parole ▫ La sequenza ottimale di stati (tag) può essere calcolata con l’algoritmo di Viterbi ▫ Questo algoritmo permette di ottenere un’accuratezza di circa il 96% (Weischedel et al. 1993; DeRose 1988) 20 Marco Maggini Tecnologie per l'elaborazione del linguaggio Parole sconosciute • Gli algoritmi di PoS tagging sono basati su un dizionario che permette di elencare i possibili tag da assegnare ad ogni parola • Se si presenta una parola sconosciuta (nome, acronimo, neologismo) ▫ Il tagger utilizzerà i tag del contesto per determinare il tag più probabile ▫ Si può poi supporre che sia ambigua rispetto a tutti i tag con uguale probabilità ▫ In alternativa si può utilizzare la distribuzione dei tag per le parole rare nel corpus di addestramento (ad esempio quelle che si presentano una sola volta) Il caso più probabile è che siano nomi, poi verbi ▫ Si possono usare anche informazioni morfologiche parole in Inglese che terminano con –s è probabile che siano sostantivi plurali termini che inziano con una maiuscola è probabile che siano nomi propri parole che hanno suffissi standard di certe classi (-ion –al –ive –ly) 21 Marco Maggini Tecnologie per l'elaborazione del linguaggio Hidden Markov Models • Un HMM è un modello statistico di un sistema caratterizzato da un insieme finito di stati non osservabili ▫ La parte osservabile è l’uscita che dipende dallo stato ▫ Ciascuno stato è caratterizzato da una specifica distribuzione per i possibili valori di uscita ▫ La sequenza visibile delle uscite fornisce quindi informazione sulla sequenza di stati attraversati dal sistema per generarla ma questa è di fatto “nascosta” ▫ L’evoluzione dello stato è modellato come un processo Markoviano x(t-1) x(t) x(t+1) y(t-1) y(t) y(t+1) Hidden state sequence (random variables) Observed output sequence (random variables) 22 Marco Maggini HMM - Tecnologie per l'elaborazione del linguaggio definizione • Un Hidden Markov Model (di ordine 1) è definito da ▫ Un insieme finito di N stati Q={q1,q2,…,qN} ▫ Un insieme di probabilità di transizione organizzate in una matrice di transizione A={aij}i,j=1,..,N con ▫ Una distribuzione iniziale di probabilità π su Q, tale che ▫ Un insieme di distribuzioni di uscita B = {bi(ok)}i=1,..,N k=1,…,mche definiscono le probabilità di emettere un dato simbolo ok quando il sistema è nello stato qi 23 Marco Maggini HMM - Tecnologie per l'elaborazione del linguaggio problemi a13 a44 a22 q1 o1 …………. o8 a12 q2 o1 …………. o8 a23 a24 q3 o1 …………. o8 a34 q4 o1 …………. o8 • Data una sequenza osservata O=o1o2….oT stimare la probabilità che sia stata generata dal modello • Data una sequenza osservata O=o1o2….oT stimare la sequenza di stati x1x2….xT che l’ha generata dato il modello • Dato un insieme di sequenze generate dal modello, Ok=o1ko2k….oTkk, stimare i parametri del modello A, B, π in modo da massimizzare la verosimiglianza di tutte le sequenze Ok 24 Marco Maggini Tecnologie per l'elaborazione del linguaggio HMM – p(O|M) • Si tratta di calcolare la probabilità di una data sequenza osservata dato il modello ▫ Si può formulare in modo efficiente (algoritmo forward) ▫ Si definiscono i coefficienti α come la probabilità di avere osservato la sequenza parziale o1t = o1o2…ot e di essere nello stato qi al tempo t ▫ I coefficienti α possono essere calcolati iterativamente nel tempo a partire dalla distribuzione iniziale π per t=1 probabilità di essere nello stato x(0)=qi probabilità di generare o1 nello stato x(0)=qi 25 Marco Maggini HMM – Tecnologie per l'elaborazione del linguaggio algoritmo forward 1 • Il passo iterativo è q1 probabilità di generare ot+1 nello stato x(0)=qi a1i qi qN a1N • La terminazione è 26 Marco Maggini HMM- Tecnologie per l'elaborazione del linguaggio algoritmo forward 2 • L’algoritmo può essere visualizzato con un grafo forward ▫ La complessità è dell’ordine O(TN2) o1 q4 q3 o2 o3 o4 o5 o6 π4 π3 p(O|M) q2 q1 π2 π1 α1 α2 α3 α4 α5 α6 27 Marco Maggini HMM Tecnologie per l'elaborazione del linguaggio - allineamento • Qual è la sequenza di stati che meglio spiega una data osservazione? ▫ Permette di allineare la sequenza di osservazioni O con una sequenza di stati X della stessa lunghezza ▫ Una soluzione è l’algoritmo di Viterbi che massimizza P(X|O,M) ▫ Si definiscono le variabili in cui x(1)…x(t-1) è la sequenza di stati più probabile date le osservazioni o1 … ot e lo stato finale qi ▫ La sequenza ottimale di stati viene memorizzata nelle variabili 28 Marco Maggini HMM – Tecnologie per l'elaborazione del linguaggio algoritmo di Viterbi • La procedura complessiva prevede i seguenti passi ▫ inizializzazione ▫ ricorsione � � δt−1 (ot−1 , q )a j ji bi (ot ) 1 1≤j≤N � � t−1 1 ψt (o1 , qi ) = argmax1≤j≤N δt−1 (o1 , qj )aji δt (ot1 , qi ) = max ▫ terminazione ▫ Backtracking per il calcolo della sequenza di stati 29 Marco Maggini HMM- Tecnologie per l'elaborazione del linguaggio algoritmo di Viterbi 2 • L’algoritmo individua il percorso ottimale per le transizioni di stato sul trellis delle transizioni o1 q4 q3 q2 q1 o2 o3 o4 o5 o6 q 1q 2q 2q 2q 4q 4 π4 π3 π2 π1 δ1 δ2 δ3 δ4 δ5 δ6 30 Marco Maggini HMM Tecnologie per l'elaborazione del linguaggio - addestramento • I parametri del modello M=(A,B,π) possono essere stimati a partire da un insieme di sequenze ▫ Supponendo che tutte le sequenze assegnate siano indipendenti fra loro si può massimizzare la probabilità di tutte le sequenze dato il modello ▫ Non esiste una soluzione analitica a questo problema ma gli algoritmi noti sono approssimano iterativamente la soluzione (senza garanzie di trovare l’ottimo assoluto) ▫ L’Algoritmo di Baum-Welch utilizza un meccanismo di tipo EM (Expectation Maximization) ▫ La difficoltà del problema è che la sequenza di stati non è nota ma va stimata e quindi non si possono usare direttamente i meccanismi classici della stima a Maximum Likelihood che utilizzano le frequenze per stimare le probabilità per stimare aij come si fa a sapere la frequenza delle transizioni da i a j?