Syntaktisk parsning (Jurafsky & Martin kapitel 13)

Relevanta dokument
Partiell parsning Parsning som sökning

Parsning = analys. Parsningsalgoritmer. Användningsområden. L1: Introduktion

Tekniker för storskalig parsning

Tekniker för storskalig parsning: Grundbegrepp

Automatateori (2) Idag: Sammanhangsfria språk. Dessa kan uttryckas med Grammatik PDA

Matematik för språkteknologer

Lite mer psykologi. L2: Automater, Sökstrategier. Top-down. Kimballs sju principer

Frasstrukturgrammatik

Datorlingvistisk grammatik

729G09 Språkvetenskaplig databehandling

Modellering med kontextfri grammatik Kontextfri grammatik - definition En enkel kontextfri grammatik Klasser av formella språk

Grundläggande textanalys. Joakim Nivre

Yvonne Adesam. Syntaktisk analys. Parsning. Ambiguitet. Utvärdering. References

Föreläsning 5: Modellering av frasstruktur. 729G09 Språkvetenskaplig databehandling Lars Ahrenberg

Reguljära uttryck Grammatiker Rekursiv nedåkning Allmänna kontextfria grammatiker. Syntaxanalys. Douglas Wikström KTH Stockholm

Föreläsning 7: Syntaxanalys

Parsningens olika nivåer

Grundläggande logik och modellteori

Innehåll. Syntax. Kan allt delas upp i små delar? Varför är syntax fascinerande? Vad är syntax? Olika språksyn

Algoritmer, datastrukturer och komplexitet

Huvudansatser för parsningsmetoder

Ord, lexem, ordformer (repetition) Ord och morfem (repetition) Fraser/konstituenter (repetition) Grammatisk analys i språkteknologin

Två-nivåmodellen, TWOL. 2D1418 Språkteknologi, Nada KTH Höstterminen 2004 Lisa Lagerkvist, Me-01

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Parsning I. Disposition. Parsning användingsområden. Vad menas med parsning inom språkteknologin? Top-down parsning. Parsning som sökning

Matematiska metoder för språkvetare, 7,5 hp

Språkteknologi. Språkteknologi

Exempel: Förel Rekursion III Nr 14. Uno Holmer, Chalmers,

b) NY KURS (Ange kursnamn, årskurs, önskad läsperiod, schemablocksplacering. Bifoga utkast till kursplan.)

Innehåll. Syntax. Kan allt delas upp i små delar? Varför är syntax fascinerande? Olika språksyn. Vad är syntax?

i=1 c i = B och c i = a i eller c i = b i för 1 i n. Beskriv och analysera en algoritm som löser detta problem med hjälp av dynamisk programmering.

TDDD02 Språkteknologi (2016) Syntaktisk analys. Marco Kuhlmann Institutionen för datavetenskap

Parsningens olika nivåer

FL 6: Definite Clause Grammars (kap. 7)

Grundläggande textanalys, VT2012

DD1361 Programmeringsparadigm. Formella Språk & Syntaxanalys. Per Austrin

Grundläggande logik och modellteori

DD1361 Programmeringsparadigm. Formella Språk & Syntaxanalys. Per Austrin

Språkteknologi och Open Source

Tekniker för storskalig parsning

Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

PROBLEMLÖSNING. ! GPS! Mål medel analys! Problemlösning i programmering. Lars-Erik Janlert 2007

Kompositionell semantik och λ-kalkyl

TDDD02 Språkteknologi för informationssökning (2016) Introduktion. Marco Kuhlmann Institutionen för datavetenskap

Föreläsning 10 Innehåll. Prioritetsköer och heapar. ADT Prioritetskö. Interface för Prioritetskö. Exempel på vad du ska kunna

Föreläsning 7: Syntaxanalys

Introduktion till programmering SMD180. Föreläsning 9: Tupler

Innehåll. Föreläsning 12. Binärt sökträd. Binära sökträd. Flervägs sökträd. Balanserade binära sökträd. Sökträd Sökning. Sökning och Sökträd

Föreläsning 8 Datastrukturer (DAT037)

Kontextfria grammatiker

HKGBB0, Artificiell intelligens

Syntax S NP VP. AdjP. sleep. ideas. DH2418 Språkteknologi Johan Boye. Syntax

ADT Prioritetskö. Föreläsning 13 Innehåll. Prioritetskö vs FIFO-kö. Prioritetskö Exempel på användning. Prioritetsköer och heapar

729G09 Språkvetenskaplig databehandling

Språkgranskningsverktyg. Grammatikkontroll med Scarrie

Föreläsning 9 Innehåll. Söndra och härska. Fibonaccitalen. Söndra och härska. Divide and conquer teknik för att konstruera rekursiva algoritmer.

Särdrag, lexikon och syntax. Ordklasser. Ordklasskriterier II. Ordklasskriterier. Öppna klasser. Slutna klasser

Tentamen TEN1 HI

Djupstruktur och ytstruktur

TDDI16 Datastrukturer och algoritmer. Prioritetsköer, heapar, Union/Find

TDDC74 Lab 02 Listor, sammansatta strukturer

ADT Prioritetskö. Föreläsning 12 Innehåll. Prioritetskö. Interface för Prioritetskö. Prioritetsköer och heapar

Word- sense disambiguation

Ordklasser. Särdrag, lexikon och syntax. Ordklasskriterier II. Ordklasskriterier. Öppna klasser. Slutna klasser

Datastrukturer och algoritmer. Föreläsning 4 Test, Stack och Kö

Tentamen Del A. Marco Kuhlmann

Föreläsning Datastrukturer (DAT036)

RoboLinguistics. Ett textförståelseprogram. Henrik Palmér, d01hp

Språkets struktur och funktion, 7,5 hp

Föreläsning 9: NP-fullständighet

Föreläsning 7+8: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?

Seminarium 13 Innehåll

Föreläsning 8 Datastrukturer (DAT037)

Föreläsning Datastrukturer (DAT036)

Föreläsning 5: Giriga algoritmer. Kruskals och Prims algoritmer

Föreläsning 8+9: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?

Programmering II (ID1019) :00-11:00

Föreläsning Datastrukturer (DAT037)

Dekomposition och dynamisk programmering

Datastrukturer, algoritmer och programkonstruktion (DVA104, HT 2014) Föreläsning 5

Bearbetning och Presentation

Datastrukturer och algoritmer

LINKÖPINGS UNIVERSITET 729G11, Artificiell Intelligens II, HT10 SMT. En fördjupning i statistiska maskinöversättningssystem

Föreläsning 9 Innehåll. Söndra och härska. Fibonaccitalen. Söndra och härska. Divide and conquer teknik för att konstruera rekursiva algoritmer.

Föreläsning 5: Giriga algoritmer. Kruskals och Prims algoritmer

Marco Kuhlmann, Institutionen för datavetenskap, Linköpings universitet 17 mars 2014

b) S Ø aa, A Ø aa» bb, B Ø aa» bc, C Ø ac» bc» 2. Låt L vara språket över 8a< som nedanstående NFA accepterar.

Datastrukturer och algoritmer

Datastrukturer. föreläsning 10. Maps 1

DD1361 Programmeringsparadigm HT15

Algoritmer, datastrukturer och komplexitet

2. Utgångspunkter och angreppssätt för automatisk språkgranskning

Ord och morfologi. Morfologi

Parsning. TDP007 Konstruktion av datorspråk Föreläsning 6. Peter Dalenius Institutionen för datavetenskap

Föreläsning 13. Dynamisk programmering

Föreläsning 1: Dekomposition, giriga algoritmer och dynamisk programmering

Tentamen, Algoritmer och datastrukturer

Skrivstöd. Joakim Nivre. Introduktion till språkteknologi. Skrivstöd. Inledning. Orsaker till stavfel. Detektering av icke-ord

Testning av program. Verklig modell för programutveckling

Programmering i C++ EDA623 Dynamiska datastrukturer. EDA623 (Föreläsning 11) HT / 31

Transkript:

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