Syntaktisk parsning (Jurafsky & Martin kapitel 13) Mats Wirén Institutionen för lingvistik Stockholms universitet mats.wiren@ling.su.se DH2418 Språkteknologi DA3010 Språkteknologi för datorlingvister Föreläsning 7, 13/9 2011 Bilder delvis adapterade från Pearson Education, Inc, och från Jimmy Lin
Syntaktisk parsning Indata: sträng (mening) och grammatik Här: Kontextfri grammatik Utdata: trädstruktur Härledningen ska följa grammatikreglerna Rotad i S, ska täcka indatasträngen Ytterligare antaganden: Morfologisk analys är gjord Alla ord finns i lexikonet 2
Resultat av parsning Book that flight Figur 13.2 från Jurafsky & Martin (2009). Copyright 2009 by Pearson Education, Inc. 3
Syntaktisk parsning Vad ska man ha det till? Ger predikat argument-struktur Vem gör vad med vem? Indata till semantisk analys 4
Parsningsalgoritmer Parsning kan ses som sökproblem Två grundläggande (naiva) algoritmer: Toppen nedåt-sökning (top-down) Botten uppåt-sökning (bottom-up) 5
Toppen-nedåt Observation: träd måste vara rotade i en S-nod Parsningsstrategi: Starta från toppen med en S-nod Tillämpa grammatikregler för att bygga delträd nedåt Arbeta ner till löven 6
Exempelgrammatik L1 Figur 13.1 från Jurafsky & Martin (2009). Copyright 2009 by Pearson Education, Inc. 7
Resultat av parsning Book that flight Figur 13.2 från Jurafsky & Martin (2009). Copyright 2009 by Pearson Education, Inc. 8
Toppen-nedåt Sökrymden kan expanderas bredden först eller djupet först Figur 13.3 från Jurafsky & Martin (2009). Copyright 2009 by Pearson Education, Inc. 9
Botten-uppåt Observation: träd måste täcka alla orden i indatasträngen Parsningsstrategi: Starta från botten med orden Tillämpa grammatikregler för att bygga delträd Arbeta upp mot roten S 10
Botten-uppåt Figur 13.4 från Jurafsky & Martin (2009). Copyright 2009 by Pearson Education, Inc. 11
Jämförelse Toppen-nedåt Söker efter giltiga träd utifrån roten S Bygger en del träd som inte är konsistenta med orden i indata Botten-uppåt Bygger bara träd som är konsistenta med indata Bygger en del träd som inte leder till S 12
Parsning som sökproblem Behövs strategi för att hantera ickedeterminism Exempel: Backtracking (återspårning) Välj ett alternativ, om det fungerar så fortsätt Annars, backa tillbaka till senaste valpunkt Men: Skilda globala analyser har ofta många delanalyser som är lika Dvs backtracking leder till onödigt arbete 13
Samma delanalys görs om Nominal Noun Nominal Nominal PP Figur 13.7 från Jurafsky & Martin (2009). Copyright 2009 by Pearson Education, Inc. 14
Underliggande problem: Lokal/global ambiguitet* *Flertydighet Figur 13.5 från Jurafsky & Martin (2009). Copyright 2009 by Pearson Education, Inc. 15
Ambiguitet (1) 2 prepositionsfraser: Put the block in the box on the table Anta subkategorisering: Put X in Y 2 analyser: 1. Put the block [in the box on the table] 2. Put [the block in the box] on the table 16
Ambiguitet (2) 3 prepositionsfraser ger 5 analyser: 1. Put the block [[in the box on the table] in the kitchen] 2. Put the block [in the box [on the table in the kitchen]] 3. Put [[the block in the box] on the table] in the kitchen 4. Put [the block [in the box on the table]] in the kitchen 5. Put [the block in the box] [on the table in the kitchen] 17
Ambiguitet (3) Antalet analyser växer exponentiellt med antalet prepositionsfraser* Catalan-tal = C n = 1, 2, 5, 14, 42, 132, 469, 1430, 4862, 16796,...** *Church & Patil (1982), Coping with Syntactic Ambiguity or How to Put the Block in the Box on the Table, AJCL 8(3 4) ** http://en.wikipedia.org/wiki/catalan_number 18
Ambiguitet (4) Analoga problem Koordinering: Jurafsky och Martin och Manning och Schütze Sammansättningar: Skolbokhylla I matematik: prioritering och parenteser 2 + 3 4 = 14 (2 + 3) 4 = 20 19
Ambiguitet (5) Analoga problem Koordinering: Jurafsky & Martin och Manning & Schütze Sammansättningar: Skolbokhylla I matematik: prioritering och parenteser 2 + 3 4 = 14 (2 + 3) 4 = 20 20
Fråga Hur kan parsning göras effektiv om det finns exponentiellt många analyser? Svar: Dynamisk programmering Spara alla delanalyser så att de delas av överordnade analyser i vilka de ingår Inget arbete görs om Ger polynomisk algoritm CKY (Cocke Kasami Younger*) *D. H. Younger (1967). Recognition and parsing of context-free languages in time n 3. Information and Control 10(2): 189 208 21
Grammatikformat CKY kräver att grammatiken är på Chomsky Normal Form (CNF) Alla regler har formen: A B C D w Om min grammatik inte är i CNF? Adapterad från Jimmy Lin 22
CKY med generell CFG Problem: Anta att grammatiken har regel VP NP PP PP Skriv om grammatiken till CNF Introducera nya mellanliggande icke-terminaler A B C D Vad innebär detta? A X D X B C Svag ekvivalens: Accepterar samma mängd strängar, men ger andra trädstrukturer Adapterad från Jimmy Lin 23
Exempelgrammatik L1 Figur 13.1 från Jurafsky & Martin (2009). Copyright 2009 by Pearson Education, Inc. 24
L1 efter CNF-konversion Lexikala definitioner visas inte, men ingår här också Figur 13.8 från Jurafsky & Martin (2009). Copyright 2009 by Pearson Education, Inc. 25
Två typer av regler i CKY D w Terminalen (ordet) utgör en konstituent A B C Om det finns ett A någonstans i indata så måste det finnas ett B följt av ett C Intervall [ i, j ] där i, j är positioner mellan ord Om A går från i till j så måste det finnas ett k så att i < k < j A i B k C j Adapterad från Jimmy Lin 26
Delanalyser lagras i tabell Konstituent kan täcka [ i, j ] för alla 0 i < j N, där N = längd av indatasträng Behövs (halv) N N-tabell för att representera alla konstituenter Cell [ i, j ] innehåller A omm A täcker i till j i indatasträngen j i Adapterad från Jimmy Lin 27
Delanalyser lagras i tabell För att A ska täcka [ i, j ]: A B C är regel i grammatiken Det finns ett B i [ i, k ] och ett C i [ k, j ] för något i < k < j För att applicera A B C, sök efter ett B i [ i, k ] och ett C i [ k, j ] j i Adapterad från Jimmy Lin 28
CKY: Regelapplicering Observera trycktel i boken, figur 13.11, s. 475: ska vara [0,n] Figur 13.11 från Jurafsky & Martin (2009). Copyright 2009 by Pearson Education, Inc. 29
CKY: Ordning Behövs kanonisk ordning: Fyll tabellen en kolumn i taget, vänster till höger, nedifrån och upp När vi då ska fylla en cell, så finns allt som förutsätts redan i tabellen (till vänster och nedanför) Bra egenskap: analyserar indata vänster höger, ett ord i taget 30
CKY: Ordning Figur 13.9 från Jurafsky & Martin (2009). Copyright 2009 by Pearson Education, Inc. 31
??? Exempel: Läs Houston, fyll kolumn 5?? Figur 13.12 från Jurafsky & Martin (2009). ). Copyright 2009 by Pearson Education, Inc. Adapterad från Jimmy Lin 32
???? Figur 13.12 från Jurafsky & Martin (2009). ). Copyright 2009 by Pearson Education, Inc. Adapterad från Jimmy Lin 33
??? Figur 13.12 från Jurafsky & Martin (2009). ). Copyright 2009 by Pearson Education, Inc. Adapterad från Jimmy Lin 34
?? Figur 13.12 från Jurafsky & Martin (2009). ). Copyright 2009 by Pearson Education, Inc. Adapterad från Jimmy Lin 35
? Figur 13.12 från Jurafsky & Martin (2009). ). Copyright 2009 by Pearson Education, Inc. Adapterad från Jimmy Lin 36
[0,1] + [1,5]: S 1 Verb NP VP Verb NP X2 Verb NP [0,3] + [3,5]: S 2 VP PP VP VP PP S 3 X2 PP Figur 13.12 från Jurafsky & Martin (2009). ). Copyright 2009 by Pearson Education, Inc. Adapterad från Jimmy Lin 37
CKY: Analys Tidskomplexitet: O(n 3 ) Botten-uppåt: skapar en del onödiga konstituenter i tabellen Konversion till CNF ger ökat antal icketerminala noder Svagt ekvivalent med källgrammatik Kan städas upp med post-processning 38
Earleys algoritm Avsnitt 13.4.2 i Jurafsky & Martin Klarar generell CFG Samma komplexitet som CKY 39
Probabilistisk CFG Avsnitt 14.1 i Jurafsky & Martin PCFG: Varje regel i CFG utvidgas med sannolikhet A β [p] Betingad sannolikhet förβgivet A P(A β A) Summan av sannolikheterna för alla omskrivningar av en icke-terminal A är 1 40
PCFG baserad på L1 Figur 14.1 från Jurafsky & Martin (2009). Copyright 2009 by Pearson Education, Inc. 41
Statistisk CKY-parsning Avsnitt 14.2 i Jurafsky & Martin Utvidgning av CKY för att hantera PCFG-regler Hur lär man sig sannolikheterna? T ex med trädbank: beräkna sannolikhet för varje expansion av varje icke-terminal 42
Partiell parsning Avsnitt 13.5 i Jurafsky & Martin Ibland räcker det med en ytlig analys, eller analys som inte täcker allt indata Till exempel informationsextraktion 43