Grammatiche e parsing

Transcript

Grammatiche e parsing
Linguistica Computazionale
Grammatiche formali e parsing
11 dicembre 2014
Parsing a Stati Finiti
Shallow Parsing
l 
Chunking
l 
ad ogni frase viene assegnata un’unica analisi sintattica sottospecificata
l 
l 
l 
il testo è segmentato in una sequenza “piatta” di unità sintattiche non-ricorsive
(chunks)
le relazioni sintattiche intra-chunk rimangono non risolte (per tipo ed ambito)
nessun ricorso a informazione lessicale sintattico-semantica
(sottocategorizzazione, restrizioni di selezione)
[Il Presidente]
[spera]
[che]
[l’Unione]
[Europea]
[riuscirà]
[a conquistare]
[un ruolo]
[di primo piano]
[a livello]
[internazionale]
[entro pochi anni]
2
Parsing a Stati Finiti
Shallow parsing
l 
Chunks
l 
l 
l 
l 
l 
corrispondono a sequenze testuali di parole adiacenti
nessun livello di incassamento
sono individuati usando solo informazioni morfosintattiche
e vincoli sintattici locali (sequenze di tags)
compatibili ma non equivalenti con i costituenti
sintagmatici
Applicazioni
l 
l 
Information Extraction, Speech Recognition, “NLP
robusto”, ecc.
base di partenza per successivi analisi sintattiche
l 
dipendenze intra-chunks
3
Chunking e ASF
Automa per chunk nominale
Agg
Det
q0
Agg
N
q1
q2
4
Shallow parsing
chunking
|02
[ [ CC: N_C] [ DET: IL#RD@MS] [ AGR: @MS] [ POTGOV: PERICOLO#S@MS]]
il IL#RD@MS+
pericolo PERICOLARE#V@S1IP PERICOLO#S@MS+
|04
[ [ CC: FV_C] [ AGR: @S3+@MS-@MS] [ AUX: ESSERE#V] [ MOD: POTERE#V@S3II]
[ PREMODIF: NON#B] [ POTGOV: SOTTOVALUTARE#V@MSPR SOTTOVALUTATO#A@MS]]
non NON#B+
poteva POTERE#V@S3II+
essere ESSERE#S@MS ESSERA#S@FP ESSERE#V@F+
sottovalutato SOTTOVALUTARE#V@MSPR+ SOTTOVALUTATO#A@MS+
word id
forma
lemma
pos
tratti
id
tipo
accordo
ruolo
1
Il
il
RD
MS
1
N_C
@MS
DET
2
pericolo
pericolo
S
MS
1
N_C
@MS
POTGOV
3
non
non
B
NULL
2
FV_C
@S3
PREMODIF
4
poteva
potere
V
S3II
2
FV_C
@S3
MOD
5
essere
essere
V
F
2
FV_C
@S3
AUX
6
sottovalutato
sottovalutare
V
MSPR
2
FV_C
@S3
POTGOV
5
Full parsing
l 
arg
Full Parser
l 
ricostruisce l’organizzazione sintagmatica completa della frase e le
relazioni di dipendenza funzionale tra i costituenti
[S
[NP Il Presidente]
subj
[VP spera
[S che
[NP l’Unione Europea]i
[VP riuscirà
subj
[PP a [S PROi
[VP conquistare
obj_d
[NP un ruolo
[PP di primo piano]
[PP a livello internazionale]]
[PP entro pochi anni]]]]]]]]
6
Grammatiche formali
Le grammatiche formali forniscono un modello computazionale per
descrivere la struttura sintattica del linguaggio
l 
Grammatica Context-Free (CF) (Phrase-Structure Grammar)
l 
insieme di regole (produzioni) che
l 
l 
l 
generano tutte e solo le frasi grammaticali di una lingua (grammatiche
generative)
assegnano a ciascuna frase la struttura sintagmatica appropriata
Una grammatica CF è una quadrupla <N, Σ, P, S> tale che:
l 
l 
l 
l 
N è l’insieme dei simboli non terminali;
Σ è l’insieme dei simboli terminali;
P è un insieme d produzioni, ciascuna della forma A à α1, …, αn, dove A è
un simbolo non terminale e α1,…, αn è una sequenza ordinata di simboli
terminali o non terminali;
S∈N è il simbolo iniziale (sentence)
7
Grammatiche formali
l 
Simboli terminali (Σ)
l 
le parole del linguaggio generato (descritto) dalla grammatica
l 
l 
Simboli non terminali (N)
l 
i simboli usati dalla grammatica per descrivere i costituenti
sintagmatici
l 
l 
uomo, giornale, il, un, legge, ecc.
NP, VP, V, N, Det, ecc.
Produzioni
l 
regole di riscrittura di simboli
(p1) S à NP VP (p4) N à giornale | uomo
(p2) NP à Det N (p5) Det à il | un
(p3) VP à V NP (p6) V à legge
regole di inserzione
lessicale
8
Grammatiche formali
l 
Linguaggio generato da una grammatica G (LG)
l 
l 
l 
La stringa αAβ deriva la stringa αγβ (αAβ ⇒ αγβ), se e solo esiste
una produzione nella grammatica A à γ
l 
l 
l’insieme di tutte le stringhe di L generate da G
dato un alfabeto Σ, una grammatica G genera una stringa di simboli x∈Σ*
se esiste una derivazione di x in G
S ⇒ NP VP
Derivazione
l 
Data un grammatica G = <N, Σ, P, S>, una derivazione di una frase x∈Σ*
è una sequenza di stringhe x1, …, xn, tc. x1 = S, x=xn e per ogni xi esiste
una produzione tale che xi ⇒ xi+1
9
Grammatiche formali
S ⇒1 NP VP ⇒2 Det N VP ⇒5 un N VP ⇒4 un uomo VP ⇒3 un uomo V NP ⇒6
un uomo legge NP ⇒2 un uomo legge Det N ⇒5 un uomo legge il N ⇒4 un
uomo legge il giornale
LG = {un uomo legge il giornale, un giornale legge un uomo, il giornale legge il giornale, un uomo
legge un uomo, il uomo legge un giornale, un giornale legge un giornale, … }
Per ogni derivazione di una stringa da parte di G esiste un albero sintagmatico (parse
tree) che la rappresenta:
[S
[NP
[Det un]
[N uomo]]
[VP
[V legge]
[NP
[Det il]
[N giornale]]]]
PARSING
Assegnazione ad una frase del suo albero sintagmatico
10
Grammatiche e ambiguità
l 
Una stringa x generata da una grammatica G è sintatticamente ambigua se e solo
esiste più di una derivazione di x in G
(p1) S à NP VP
(p2) NP à Det N
(P3) NP à Det N PP
(p4) VP à V NP
(p5) VP à V NP PP
(p6) PP à P NP
(p7) N à uomo | giornale | occhiali
(p8) Det à il | un | gli
(p9) V à legge
(p10) P à con
S ⇒1 NP VP ⇒2 Det N VP ⇒8 un N VP ⇒7 un uomo VP ⇒4 un uomo V NP ⇒9 un uomo
legge NP ⇒3 un uomo legge Det N PP ⇒8 un uomo legge il N PP ⇒ 7 un uomo legge il
giornale PP ⇒ 6 un uomo legge il giornale P NP ⇒ 10 un uomo legge il giornale con NP
⇒ 2 un uomo legge il giornale con Det N ⇒ 8 un uomo legge il giornale con gli N ⇒ 7 un
uomo legge il giornale con gli occhiali
S ⇒1 NP VP ⇒2 Det N VP ⇒8 un N VP ⇒7 un uomo VP ⇒5 un uomo V NP PP ⇒9 un
uomo legge NP PP ⇒2 un uomo legge Det N PP ⇒8 un uomo legge il N PP ⇒ 7 un
uomo legge il giornale PP ⇒ 6 un uomo legge il giornale P NP ⇒ 10 un uomo legge il
giornale con NP ⇒ 2 un uomo legge il giornale con Det N ⇒ 8 un uomo legge il giornale
con gli N ⇒ 7 un uomo legge il giornale con gli occhiali
11
Grammatiche ed ambiguità
[S
[NP
[VP
[S
[Det un]
[N uomo]]
[V legge]
[NP
[Det il]
[N giornale]
[PP
[P con]
[NP
[Det gli]
[N occhiali]]]]]]
[NP
[Det un]
[N uomo]]
[VP
[V legge]
[NP
[Det il]
[N giornale]]
[PP
[P con]
[NP
[Det gli]
[N occhiali]]]]]
12
Ricorsività e ASF
l 
Organizzazione ricorsiva dei costituenti
l 
l 
[S [NP … [ S … [NP … ]]] [VP … [NP … [PP … [NP … [PP … NP]]]]]]
Un esempio di grammatica CF ricorsiva
NP à Det N PP
PP à P NP
left-recursive
right-recursive
13
Automi e grammatiche formali
l 
l 
l 
Automi e grammatiche servono entrambi per definire
linguaggi (formali)
Le grammatiche CF appartengono ad una famiglia di
grammatiche formali che differiscono per il tipo di regole
Grammatiche lineari (regolari)
l 
una grammatica è regolare se e solo se ogni regola è della
forma A à xB o A à x, dove A e B sono simboli non terminali e
x è un simbolo terminale
l 
ogni regola ha a destra al più un simbolo non terminale
TEOREMA
Per ogni ASF esiste sempre una grammatica regolare che genera lo
stesso linguaggio (e viceversa)
14
Automi, grammatiche e linguaggi
La gerarchia di Chomsky
Linguaggi Tipo 0
Grammatiche “non ristrette”
Macchine di Turing
Linguaggi Tipo 1
Grammatiche Context Sensitive
Linear Bounded Automata
“English is not a finite
state language”
Chomsky (1957)
Linguaggi Tipo 2
Grammatiche CF
Automi a Pila
Linguaggi Tipo 3
Grammatiche regolari
Automi a Stati Finiti
15
Parsing e ambiguità
l 
Ambiguità sintattica
l 
un’espressione linguistica può avere più di un’analisi sintattica
l 
ambiguità soggetto – oggetto
§ 
l 
PP – attachment
§ 
Ho visto l’uomo nel parco col telescopio
§ 
[ V mangia] [NP il panino] [PP col prosciutto]
§ 
l 
Ha chiamato Gianni.
§ 
[[ha chiamato] [sogg Gianni]]
§ 
[[ha chiamato] [ogg Gianni]]
[ V mangia] [NP il panino] [PP con le mani]
V NP PP à a. [ V NP PP]
b. [ V [NP PP]]
ADJ-attachment
§ 
Il dottore ha visitato il paziente nudo.
16
Lessico e ambiguità
Informazione lessicale
Permette di ridurre il numero di ambiguità nel parsing
Rappresenta l’ingrediente necessario per estrarre dal testo il contenuto informativo
l 
Lessici computazionali
l 
grammatica
lessico
codificano informazione lessicale sintattica e semantica in forma
accessibile a programmi di NLP
S à VP NPsogg
S à VP
VP à V
VP à V NPogg
telefonare
V intrans
“Ha telefonato Gianni”
OK!
S
S
VP
NPsogg
V
Gianni
ha telefonato
NO!
VP
V
NPogg
ha telefonato
Gianni
17
Selezione sintattica lessicale
l 
Restrizioni di sottocategorizzazione
l 
contesto sintattico selezionato da un termine lessicale
l 
l 
l 
l 
tipi di complementi (NP, PP, ecc.) selezionati
numero di complementi (0,1, 2, ecc.) selezionati
obbligatorietà dei complementi
caso grammaticale
NPsubj mangiare
NPsubj partire
risposta
NPobj
PP_da
PP_a
u  Parzialmente indipendenti dalle proprietà semantiche di una parola:
u  “to donate” vs. “to give” in inglese
John donated a book to Mary
* John donated Mary a book
John gave a book to Mary
John gave Mary a book
u  “mangiare” vs. “divorare” in italiano
Gianni ha mangiato
* Gianni ha divorato
18
Lessici computazionali
sintattici
l 
L’informazione sintattico-lessicale è rappresentata in frames di
sottocategorizzazione
l 
Frames di sottocategorizzazione:
l 
l 
l 
l 
l 
numero degli argomenti selezionati dalla testa lessicale
categoria sintattica dei costituenti che possono realizzare gli argomenti (PP, NP,
ecc.)
tratti lessicali degli argomenti (es. tipo di preposizione in un PP argomentale)
funzione grammaticale degli argomenti (Subj, Obj, ecc.)
opzionalità, controllo, ausiliare selezionato, ecc.
&telefonare
#
$
!
&
#
CAT
:
NP
&
#
$ SUBCAT : SLOT _ 1 :
!
$
$ FUN : subj ! ! !
$
%
""!
%
$
%$ AUX : avere
"!
& partire
#
$
!
&
&CAT : NP # # !
$
$ SLOT _ 1 : $
! !!
$
FUN
:
subj
%
" !!
$
$
$ SUBCAT : $
, &CAT : PP # )! !
$
*$
$
! '!! !
SLOT
_
2
:
FUN
:
obl
$
*$
$
! '! !
$
*
$
$% PREP : per !" '(" !
+
%
$
!
$% AUX : essere
!"19
Lessici computazionali
sintattici
l 
ComLeX (1994-97)
l 
l 
lessico computazionale sintattico per l’inglese
~38.000 entrate (nomi, verbi e aggettivi)
(verb :orth "build"
:subc ((np) (np-for-np) (part-np
:TAGS ((TAG :BYTE-NUMBER 6918276
(TAG :BYTE-NUMBER 6914461
(TAG :BYTE-NUMBER 6858039
:adval ("up")))
:SOURCE "brown" :LABEL (NP))
:SOURCE "brown" :LABEL (NP))
:SOURCE "brown" :LABEL (NP)))
(noun :orth "assertion"
:subc ((noun-that-s) (noun-be-that-s)))
l 
PAROLE-CLIPS (1998-2003)
l 
l 
lessico di sottocategorizzazione per l’italiano
~50.000 entrate (nomi, verbi, aggettivi, avverbi)
abbinare;
V;avere;
0;
abbassare;
V;essere; 1;
np;inf.a;
CON_S;
abituare;
V;avere;
np;np;inf.a;0;
CON_O
assegnazione;
S
0;
np;np;pp.con;
;pp.di;pp.a;pp.da_parte_di;0;0
20
Full parsing e lessico
l 
La disponibilità di informazione lessicale è la condizione
necessaria per ricostruire l’organizzazione sintagmatica
completa della frase e le relazioni di dipendenza
funzionale tra i costituenti
[S
arg
[NP Il Presidente]
subj
[VP spera
[S che
[NP l’Unione Europea]i
[VP riuscirà
subj
[PP a [S PROi
[VP conquistare
obj_d
[NP un ruolo
[PP di primo piano]
[PP a livello internazionale]]
[PP entro pochi anni]]]]]]]]
21
Dependency Parsing come
problema di classificazione
l 
Esistono diversi metodi per trasformare un compito
di analisi sintattica in un compito di classificazione
l 
l 
l 
Yamada e Matsumoto (2003), Shift/Reduce parser (o
transition-based parser) parser
Il compito di analizzare sintatticamente una frase
diventa il compito di predire l’azione che il parser
deve fare per costruire l’albero sintattico della frase
Ad ogni passo dell’analisi il parser usa un
classificatore addestrato su una TreeBank (o
training corpus) allo scopo di predire quale azione
deve compiere dato l’insieme delle feature (locali+
contestuali) estratte in quel determinato momento
22
Dependency Parsing come
problema di classificazione
l 
Il parser costruisce l’albero a dipendenza analizzando la frase da
sinistra verso destra e compiendo tre azioni: Shift, Right e Left:
l 
Shift: non c’è nessuna relazione tra le due parole target
analizzate, l’analisi si muove verso destra:
Io vidi
l 
una donna con gli occhiali --> io vidi una
donna con gli occhiali
Right: esiste una relazione tra le due parole, il nodo sinistro è
considerato dipendente del nodo testa a destra
Io vidi una
donna con gli occhiali --> io vidi donna con gli occhiali
23
una
Dependency Parsing come
problema di classificazione
l 
Left: esiste una relazione tra le due parole, il nodo sinistro è
considerato testa del nodo dipendente a desta
io vidi
donna con gli occhiali -- > io vidi con gli occhiali
una
donna
una
l 
L’algoritmo prosegue fino a quando non è stato completato
l’albero, ovvero sono stati creati tutti i link sintattici
24
Dependency parsing come
problema di classificazione
l 
l 
A questo punto abbiamo ottenuto un albero
sintattico non marcato (gli archi non sono
marcati con le relazioni di dipendenza: soggetto,
oggetto, complemento di tempo, etc).
Come possiamo fare per ottenere un albero
marcato? Esistono almeno due modi:
l 
l 
attraverso un secondo passo di analisi nel quale si
classifica ogni arco con la classe sintattica più
probabile (problema di classificazione)
semplicemente aumentando il numero delle azioni del
parser, non più solo Shift, Right e Left, ma:
l 
l 
Shift, Right_soggetto, Right_oggetto,
Right_comp_di_tempo, ecc.
Left_soggetto, Left_oggetto, Left_comp_di_tempo, …..
25
Dependency Parsing come
Problema di Classificazione
l 
Quindi il compito di analisi sintattica di una
frase diventa un compito di classificazione
che può essere diviso in tre fasi:
l 
l 
l 
estrazione delle feature (locali e contestuali)
rispetto alle due parole analizzate
stima dell’azione da eseguire attraverso
l’algoritmo di apprendimento supervisionato (dato
un modello di feature pesate)
esecuzione dell’azione e creazione dell’albero
26