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