NLP

Transcript

NLP
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?