Natural Language Processing
Parte 3: Sintassi e grammatica
chunking e costituenti
2
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Sintassi
•  La sintassi fornisce le regole con cui le parole sono organizzate in
una frase a livello dei seguenti elementi
▫  Costituenti – la sintassi di basa su regole i cui token sono in genere
gruppi di parole (chunks) che a livello sintattico sono viste come unità
  es. la parte nominale - noun phrase – che comprende gruppi costituiti da
sostantivi, articoli, aggettivi (the big house, a red and large carpet, …)
▫  Relazioni grammaticali – rappresentano la formalizzazione della
struttura di una frase come legame fra SOGGETTI e OGGETTI
  es. [he]/SUBJECT took [the big hammer]/OBJECT
▫  Sottocategorizzazioni e relazioni di dipendenza – sono regole che
esprimono vincoli sulle relazioni fra parole e gruppi frasali
  es. volere può reggere un infinito o avere un complemento oggetto (voglio
camminare, voglio una pizza) mentre trovare può avere solo un complemento
oggetto (ho trovato un amico)
3
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Costituenti e chunking
•  In genere più parole sono raggruppate a formare un costitutente o
chunk che ha una specifica funzione
▫  Una tipologia di costituente, es. una parte nominale (noun phrase NP),
può comparire solo in certi contesti, es. NP prima del verbo
  [il volo da Parigi] arriva in ritardo
  [l’auto nuova di Filippo] è parcheggiata…
▫  Altre tipologie di costituenti possono avere più possibilità di costruzione
(preposta, postposta)
  [Il 17 giugno] farò l’ultima lezione/Farò l’ultima lezione [il 17 giugno]
▫  In ogni caso le parole che compogono il chunk sono sempre organizzate
in un gruppo unico
▫  I chunk possono essere modellati con grammatiche Context Free
4
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Grammatiche CF e chunk
•  Le regole seguenti possono descrivere (parzialmente) la struttura di una
noun phrase (NP)
NP → Det Nominal
Det → a | the
NP → ProperNoun
Nominal → Noun | Noun Nominal Noun → flight | plane | arrival
▫  Una parte delle regole è di fatto il lessico che associa ad ogni parola il
simbolo terminale della PoS corrispondente
•  Una verb phrase (VP) consiste di un verbo eventualmente seguito da una
serie di altri chunk come una NP o prepositional phrase (PP)
VP → Verb
mangio
VP → Verb NP
mangio una pizza
VP → Verb NP PP
mangio una pizza con la forchetta
VP → Verb PP mangio con la forchetta 5
Marco Maggini
Chunks –
Tecnologie per l'elaborazione del
linguaggio
PP e frasi
•  Una parte preposizionale (PP) è un gruppo di parole generalmente
introdotto da una preposizione
PP → Preposition NP
con la forchetta bianca di plastica
▫  Le PP possono essere anche molto complesse
•  Un modello semplice per la frase completa (che rappresenta lo
scopo S del linguaggio) è
S → NP VP
[S[NPIl mio amico] [Vpmangia la forchetta bianca di plastica]]
6
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Costruzioni a livello di frase
•  Ci sono molte strutture possibili per le frasi e per l’Inglese le 4
principali sono
▫  dichiarative
S → NP VP
The plane will land in the afternoon
▫  imperative
S → VP
List all the flights to New York
▫  domande si/no
S → Aux NP VP
Will the plane arrive on time?
▫  domande chi/cosa (wh-subject-question/wh-non-subject-question)
S → Wh-NP VP
Which flights depart at night?
S → Wh-NP Aux NP VP Which flights does UA have from NYC?
7
Marco Maggini
NP: Noun Phrase -
Tecnologie per l'elaborazione del
linguaggio
1
•  Una NP ha un sostantivo principale (head) a cui si possono
aggiungere dei modificatori prima (prenominale) o dopo
(postnominal)
▫  In genere una NP inizia con un determinatore (a, the, this, any,..) ma può
anche essere omesso se il sostantivo head è plurale (es. UA flights are
based in..) ed è omesso se è un sostantivo non contabile (es. water is a
public resource)
▫  Possono essere presenti dei pre-determinatori (all the passengers)
▫  Fra il determinatore e il sostantivo principale possono esserci varie classi
di parole (post-determinatori)
  numeri cardinali (the two flights) o ordinali (the first flight) e quantificatori
(many flights)
  aggettivi raggruppabili in una parte aggettivale (AP – Adjective phrase) che
oltre all’aggettivo può includere un avverbio (very expensive)
8
Marco Maggini
NP: Noun Phrase -
Tecnologie per l'elaborazione del
linguaggio
2
•  Considerando le parti prenominali (opzionali) si può definire un modello
semplificato della NP
NP → (Det) (Card) (Ord) (Quant) (AP) Nominal
•  Il sostantivo principale (head) può essere seguito da modificatori
postnominali
▫  Parti preposizionali (PP)
Nominal → Nominal PP (PP) (PP)
flights from Rome to NYC by UA
▫  Forme con gerundio – la parte nominale è seguita da una forma verbale
costruita col gerundio
Nominal → Nominal GerundVP
GerundVP → GerundV NP | GerundV PP
| GerundV | GerundV NP PP
flights arriving from NYC
9
Marco Maggini
NP: Noun Phrase -
Tecnologie per l'elaborazione del
linguaggio
3
▫  Forme verbali non finite – la parte nominale è seguita da una forma
verbale costruita con infinito o participio passato
  es. the flights arrived last night, the aircraft used by this flight
▫  Proposizioni relative – spesso iniziano con un pronome relativo (that,
who,..) che funge da soggetto della frase relativa
Nominal → Nominal RelClause
flights that arrive at night
RelClause → (who|that) VP
  Un caso un po’ più complesso sono le relative in cui il pronome relativo ha la
funzione di oggetto o complemento (es. the steward, whom I asked the question
to, the flight that I got on)
▫  I modificatori postnominali possono poi essere combinati
  Is there a flight to NYC departing from Washington at night?
10
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Frasi coordinate
•  Le parti nominali e altre unità possono essere coordinate con le
congiunzioni (and, or, but,..)
▫  es.
NP → NP and NP
the pilots and the crew
•  Si possono coordinare anche parti verbali e proposizioni intere
VP → VP and VP
the flights departing from NYC and arriving in San Diego
S → S and S
I will fly to Denver and then I will drive to Aspen
11
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Accordo di genere/persona
•  E’ possibile modificare la grammatica per tener in conto delle regole
di accordo di persona/genere
▫  Un modo diretto è quello di espandere la grammatica esplicitando la
stessa regola per tutti i casi di accordo
  es. domande in Inglese non terza persona/terza persona singolare
S → 3sgAux 3sgNP VP
S → Aux NP VP
S → Non3sgAux Non3sgNP VP
3sgAux → does | has | can …
Non3sgAux → do | have | can …
▫  Di fatto si moltiplica il numero di regole per le possibili forme che
richiedono accordo
  Il problema può essere affrontato in altro modo, ad esempio aggiungendo delle
feature ai simboli terminali
12
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Verb Phrase & Sottocategorie -
1
•  Non tutti i verbi sono compatibili con tutte le strutture/complementi
possibili
•  Una distinzione classica è fra verbi transitivi e intransitivi, ma nei modelli di
grammatica più recenti si arriva fino a circa 100 sottocategorie
  La distinzione è basata sui complementi che possono essere retti dal verbo
(subcategorization frame). Un verbo può anche essere usato con costruzioni
corrispondenti a frame diversi
Frame
Verb

sleep, walk
NP
find, take
NP NP
PPfrom PPto
show, give
fly, go
Example
I walk
I take a taxi
I showed him my documents
I went from NYC to Boston
NP PPwith
help, load
He helped me with my baggage
VPto
want, need
I need to leave
VPstem
can, would
I can wait
S
mean, say
I say I will not go home
13
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Verb Phrase & Sottocategorie -
2
•  Le costruzioni specifiche di ogni sottocategoria possono essere espresse
tramite regole grammaticali ad hoc
Verb-with-no-complement → walk | sleep |…
VP → Verb-with-no-complement
Verb-with-NP-complement → find | leave | ..
VP → Verb-with-NP-complement NP
Verb-with-S-Complement → think | say | …
VP → Verb-with-S-complement S
….
…..
•  Questo approccio ha lo svantaggio di richiedere la scrittura ad hoc per ogni
costruzione possibile aumentando di molto il numero di regole
•  Una soluzione più efficiente prevede l’uso di feature per i simboli terminali
•  La necessità di suddividere le parole in sottocagorie basate sulle possibili
costruzioni si può applicare anche a sostantivi, aggettivi e preposizioni
14
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
CF parsing per NLP
•  Le grammatiche necessarie per modellare la costruzione di frasi in
NLP possono avere caratteristiche che rendono difficile l’analisi
▫  Ricorsione a sinistra
  E’ un problema se si utilizza un analizzatore ricorsivo discendente
  Si può eliminare ma la grammatica equivalente risultante può modellare la
struttura sintattica in modo non naturale
▫  Ambiguità
  L’ambiguità strutturale si ha quando esiste più di un albero di analisi per la
stessa frase
  L’ambiguità di collegamento (attachment ambiguity) si ha quando una parte
può essere inserito nell’albero di analisi in più punti
  L’ambiguità di coordinamento (coordination ambiguity) si ha quando ci sono
più elementi uniti con congiunzioni coordinate (and)
15
Marco Maggini
Ambiguità in NLP -
Tecnologie per l'elaborazione del
linguaggio
collegamento
S
VP
NP
PP
PP
NP
Nominal
NP
Nominal
Det Noun
il poliziotto
Nominal
Verb Prep Det
sparò
a
il
Noun
ladro
Prep Det
con
la
Noun
pistola
S
L’ambiguità di collegamento
non può essere risolta a
livello sintattico ma solo a
livello semantico/pragmatico
VP
PP
NP
Nominal
Det Noun
il poliziotto
NP
PP
NP
Nominal
Nominal
Verb Prep Det
sparò
a
il
Noun
ladro
Prep Det
con
la
Noun
pistola
16
Marco Maggini
Ambiguità in NLP -
Tecnologie per l'elaborazione del
linguaggio
esempi
Ambiguità di collegamento
I saw the Grand Canyon flying to New York
Si può risolvere a livello semantico…
.. il Grand Canyon non vola!!
Ambiguità di coordinamento
the bad boys and girls
sono possibili due ragguppamenti
[the [bad boys] and [girls]]
[the [bad [boys and girls]]]
•  Spesso la disambiguazione per scegliere uno solo fra i diversi alberi di
analisi può essere effettuata solo con conoscenza statistica/semantica
▫  I parser che non utilizzano un disambiguatore devono produrre tutti i possibili
alberi di analisi
▫  Produrre tutti gli alberi di analisi può essere costoso
17
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
L’algoritmo di Earley (1970)
•  Le grammatiche CF usate in NLP in genere non appartengono a
sottocategorie per cui è possibile costruire parser efficienti (es. LL(k)
o LR(k))
▫  Le grammatiche per NLP sono in genere ambigue e richiedono la
costruzione di tutti i possibili alberi di analisi per una frase
▫  L’ algoritmo di Earley utilizza la programmazione dinamica per rendere
efficiente la fase di analisi mantenendo in memoria i sottoalberi parziali
relativi ai componenti della frase
  E’ un parser parallelo di tipo top-down che elimina la soluzione ripetitiva dei
sottoproblemi generati durante la ricerca con backtracking in modo da ridurre
la complessità
  Nel caso peggiore l’algoritmo ha una complessità O(N3) dove N è il numero di
parole della frase
  L’algoritmo esegue una singola scansione da sinistra a destra (left-to-right) e
riempie un array (chart) di N+1 elementi
18
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Il chart
•  Il chart memorizza gli stati visitati nell’analisi in modo efficiente
▫  Per ogni parola della frase il chart contiene la lista di tutti gli alberi di
analisi parziali che sono stati generati fino a quel punto
▫  Nella posizione corrispondente alla fine della frase il chart contiene una
codifica compatta di tutti gli alberi di analisi possibili
▫  I sottoalberi di analisi sono rappresentati solo una volta nel chart (la
prima volta che sono generati) e negli alberi che li contengono sono
riferiti con puntatori
▫  Ogni stato contiene tre elementi
  un sottoalbero corrispondente ad una regola grammaticale
  il grado di completamento del sottoalbero (si usa una regola puntata –
elemento LR(0))
  La posizione del sottoalbero rispetto all’ingresso codificata con una coppia di
indici corrispondenti all’inizio del sottoalbero e alla posizione del punto
19
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Stati nel Chart
book the room
0
1
2
3
S → VP , [0,0]
NP → Det Nominal , [1,2]
VP → Verb NP , [0,3]
•  L’analisi avviene elaborando gli insiemi di stati nel chart da sinistra
a destra
▫  Ad ogni passo si prende in considerazione uno stato e si applica una fra
tre possibili operazioni che può generare un nuovo stato nella posizione
corrente del chart o in quella successiva
▫  L’algoritmo procede sempre in avanti non rimuovendo stati già generati
ma aggiungendo nuovi stati
▫  La presenza dello stato S
α , [0,N] nell’ultima posizione del chart
indica un’analisi terminata con successo
20
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Operatori del parser - predictor
•  Predictor
▫  Crea nuovi stati sulla base del meccanismo di analisi top-down
▫  E’ applicato ad ogni stato che ha un non terminale alla destra del punto
▫  Si genera uno stato per ogni possibile espansione del non-terminale e lo
si inserisce nello stesso insieme del chart
▫  Il punto di inizio e fine degli stati inseriti sono gli stessi dello stato che li
ha generati
S → VP , [0,0]
S → VP , [0,0]
VP →  Verb , [0,0]
Predictor
chart[0]
VP → Verb NP, [0,0]
chart[0]
21
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Operatori del parser - scanner
•  Scanner
▫  Quando uno stato ha un elemento PoS alla destra del punto lo scanner
esamina l’input
▫  Viene creato un nuovo stato con il punto spostato alla destra della
categoria PoS predetta (la regola applicata permette di disambiguare la
PoS della parola se non è unica)
▫  Il nuovo stato è inserito nella posizione successiva del chart e la posizione
del punto è incrementata
S → VP , [0,0]
VP → Verb  NP, [0,1]
VP →  Verb , [0,0]
VP → Verb NP, [0,0]
chart[0]
Scanner
book +Noun
book +Verb
chart[1]
22
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Operatori del parser - completer
•  Completer
▫  Si applica a uno stato quando il punto ha raggiunto l’estremità destra
della produzione
▫  Corrisponde all’aver individuato una possibile applicazione della
produzione e quindi una categoria sintattica su una parte dell’input
▫  Il completer cerca tutti gli stati creati in precedenza che attendevano
questa categoria in questa posizione di ingresso
▫  Aggiunge alla posizione corrente tutti gli stati trovati con il punto
spostato avanti di una posizione
NP → Det Nominal, [1,3]
NP → Det Nominal, [1,3]
Completer
chart[3]
VP → Verb NP, [0,1]
in chart[1]
VP → Verb NP, [0,3]
chart[3]
23
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Costruzione dell’albero
•  Gli alberi di analisi validi corrispondono agli stati S
nell’ultima posizione del chart
α , [0,N]
▫  Per ricostruire l’albero occorre mantenere traccia di quali completamenti
sono stati fatti dal Completer
▫  Per ogni stato si deve tener traccia di quali stati completati hanno
generato le sue componenti
▫  Questa informazione può essere aggiunta dal completer una volta
assegnato un identificatore ad ogni stato (es. un numero progressivo)
▫  Per ricostruire un albero di analisi è sufficiente partire dalla regola
completa nella posizione N del chart e ripercorrere ricorsivamente
all’indietro le sostituzioni che sono state memorizzate
24
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Features
•  Ad ogni elemento della grammatica (terminale/non terminale) è
possibile associare un insieme di proprietà
▫  Possono essere usate per definire una rappresentazione più compatta di
certe tipologie di vincoli (accordo di numero/genere, sottocategorie di
verbi e relativi frame)
▫  Sono insiemi di coppie proprietà-valore dove il valore può essere a sua
volta un’entità strutturata
feature per una 3sgNP
rappresentazione flat
feature per una 3sgNP
rappresentazione strutturata
25
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Unificazione di feature
•  L’unificazione permette di fondere due strutture di proprietà solo
nel caso in cui esse sono compatibili
▫  E’ un operatore binario
▫  Il caso più semplice è il seguente in cui si fa una verifica di uguaglianza di
numero
  se in uno degli operandi la feature non ha un valore assegnato, la si unifica al
valore dell’altra e la fusione avviene con successo
26
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Sussunzione
•  L’unificazione di due strutture produce una struttura di feature che
è più specifica (o è uguale) rispetto agli operandi
▫  E’ più specifica nel senso che contiene più feature specificate
▫  Una struttura meno specifica (più astratta) si dice che sussume una
struttura ugualmente o più specifica
▫  La sussunzione definisce un ordinamento parziale (ci sono strutture che
non sono sussunte le une rispetto alle altre)
27
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Feature & grammatica
•  Le regole della grammatica possono essere arricchite
▫  Si associano strutture di feature sia a elementi lessicali (simboli
terminali) che a elementi sintattici (simboli non terminali)
▫  Si definisce la composizione delle strutture di feature associate agli
elementi di una produzione per ottenere la struttura associata al simbolo
a cui si riduce
▫  Si aggiungono vincoli di compatibilità
Regole “arricchite”
tipi di vincoli
  Ad esempio l’accordo di numero può esprimere come
28
Marco Maggini
Feature & rules – esempio 1
•  Accordo in una parte nominale
unifica il valore
head features
Lexicon
Tecnologie per l'elaborazione del
linguaggio
29
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Feature & rules – esempio 2
•  Sottocategorizzazione (versione semplificata)
▫  Occorre definire una categoria per ogni possibile configurazione (frame)
head features
Lexicon
30
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Parsing & constraints
•  Si possono integrare i vincoli di unificazione sulle feature associati alle
regole direttamente all’interno dell’algoritmo di parsing
▫  Si eliminano direttamente gli stati incompatibili con i vincoli
▫  Si può modificare l’algoritmo di Early per gestire sia le strutture di
feature che i vincoli associati alle produzioni della grammatica
  Si può aggiungere ad ogni stato la rappresentazione della strutturadi feature ad
esso associata
  Il modulo Predictor inserisce uno stato che rappresenta i vincoli associati alla
produzione
  Il modulo Completer combina due stati (il completamento di una produzione
con l’avanzamento di un’altra) e quindi deve gestire l’unificazione delle due
strutture associate agli stati considerati nella creazione del nuovo stato; se le
due strutture non si unificano il Completer non crea il nuovo stato
  Un nuovo stato non è aggiuntio se è sussunto da uno stato già presente (ovvero
esiste uno stato più generale)
31
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Probabilistic CF grammars
•  Il parsing probabilistico fornisce un contributo alla disambiguazione
▫  Fra gli alberi di parsing compatibili con una frase si sceglie quello a
massima probabilità
▫  Una grammatica CF stocastica (PCFG) prevede di aggiungere una
probabilità condizionata ad ogni regola
  Se si considerano tutte le possibili espansioni del non terminale A, la somma
delle probabilità associate deve essere 1
▫  Una PCFG assegna una probabilità ad ogni albero di analisi T
  Assumendo l’indipendenza nella scelta delle regole la probabilità di un albero è
32
Marco Maggini
Tecnologie per l'elaborazione del
linguaggio
Probabilistic parsing
•  Il problema dell’analisi per una grammatica PCFG è quello di produrre
l’albero di analisi più probabile per una data frase
▫  Gli algoritmi per il calcolo dell’albero di analisi più probabili sono
estensioni degli algoritmi standard (es. l’algoritmo di Earley)
•  Le probabilità possono essere stimate da un corpus che contiene frasi già
analizzate (treebank)
•  Le PCFG nella forma base hanno comunque dei limiti che derivano
dall’assunzione di indipendenza dell’espansione di un simbolo non
terminale rispetto agli altri
▫  In realtà esistono dipendenze strutturali e lessicali
  es. il modo di espandere un nodo può dipendere dalla posizione in cui si trova
nell’albero (il soggetto di una frase tende di più ad essere un pronome)
33
Marco Maggini
PCFG -
Tecnologie per l'elaborazione del
linguaggio
limiti
•  Un altro limite delle PCFG è la non dipendenza dalle parole
▫  le parole hanno un ruolo fondamentale nella selezione del parsing
corretto in caso di ambiguità
▫  Le ambiguità nelle parti coordinate sono un altro esempio in cui le
dipendenze lessicali sono importanti per la disambiguazione
  es. dogs in houses and cats -> [dog in houses] and [cats]
•  Una soluzione è associare ad ogni non terminale la parola principale (head)
della parte funzionale che rappresenta
▫  Si individua nella parte destra della produzione il termine che fornisce la
parola principale (in generale non è sempre chiaro quale prendere)
▫  Si ottiene una grammatica con attributi (le produzioni sono dipendenti
dal valore dell’attributo)
▫  I parser basati su lexicalized PCFG adattano assunzioni di indipendenza
per evitare di stimare una probabilità per ogni head/regola
Scarica

NLP - Sintassi