Lecture 16: The CKY parsing algorithm Kai-Wei Chang CS @ - - PowerPoint PPT Presentation

lecture 16 the cky parsing algorithm
SMART_READER_LITE
LIVE PREVIEW

Lecture 16: The CKY parsing algorithm Kai-Wei Chang CS @ - - PowerPoint PPT Presentation

Lecture 16: The CKY parsing algorithm Kai-Wei Chang CS @ University of Virginia kw@kwchang.net Couse webpage: http://kwchang.net/teaching/NLP16 CS6501: NLP 1 How to represent the structure CS6501: NLP 2 Phrase structure (constituency)


slide-1
SLIDE 1

Lecture 16: The CKY parsing algorithm

Kai-Wei Chang CS @ University of Virginia kw@kwchang.net Couse webpage: http://kwchang.net/teaching/NLP16

1 CS6501: NLP

slide-2
SLIDE 2

How to represent the structure

CS6501: NLP 2

slide-3
SLIDE 3

Phrase structure (constituency) trees v Can be modeled by Context-free grammars v We will see how constituent parse and dependency parse are related

CS6501: NLP 3

slide-4
SLIDE 4

Parse tree defined by CFG

CS6501: NLP 4

1 2 3 4 5 6 7

slide-5
SLIDE 5

Naïve top-down parsing

v # possible trees is exponential v Many sub-trees are the same

CS6501: NLP 5

slide-6
SLIDE 6

Two key issues

v Computational complexity

vCan we reuse the computations? Dynamic programming

v Ambiguity

v(Lexicalized) PCFG

CS6501: NLP 6

slide-7
SLIDE 7

Chomsky Normal Form

v Chomsky Normal Form allows only two kinds of right-hand sides:

vTwo non-terminals: (e.g., VP → ADV VP) vOne terminal: VP → eat

v Any CFG can be rewritten into an equivalent Chomsky Normal Form

CS6501: NLP 7

slide-8
SLIDE 8

Chomsky Normal Form

v Chomsky Normal Form allows only two kinds of right-hand sides:

vTwo non-terminals: (e.g., VP → ADV VP) vOne terminal: VP → eat

v Any CFG can be rewritten into an equivalent Chomsky Normal Form v Try this: VP → VBD NP PP PP

CS6501: NLP 8

slide-9
SLIDE 9

More about the conversion

v Eliminate rules with non-solitary terminals 𝐵 → 𝑌$ … 𝑏 … 𝑌( add Y* → 𝑏 and replace the rule with 𝐵 → 𝑌$ … 𝑍

* … 𝑌(, Y* → 𝑏

v Eliminate right-hand sides with > 2 nonterminals 𝐵 → 𝑌$ … 𝑌. … 𝑌( replace the rule by 𝐵 → 𝑌$𝐵$,𝐵$ → 𝑌0𝐵0,… , 𝐵(10 → 𝑌(1$𝑌( v Remove unit rules 𝐵 → 𝐶 replace each rule 𝐶 → 𝑌$𝑌0 with A → 𝑌$𝑌0

CS6501: NLP 9

slide-10
SLIDE 10

One more example

v Example from https://en.wikipedia.org/wiki/Chomsky_normal_form

CS6501: NLP 10

<S> → Expr Expr → Term | Expr AddOp Term | AddOp Term Term → Factor | Term MulOp Factor Factor → Primary | Factor ^ Primary Primar y → number | variable | ( Expr ) AddOp → + | − MulOp → * | /

slide-11
SLIDE 11

Let’s try to parse!

CS6501: NLP 11

“Papa ate the caviar with a spoon”

S à NP VP NP à Det N NP à NP PP VP à V NP VP à VP PP PP à P NP NP à Papa N à caviar N à spoon V à spoon V à ate P à with Det à the Det à a 1 2 3 4 5 6 7

The following slides are modified from Jason Eisner’s NLP course

slide-12
SLIDE 12

CS6501: NLP 12

§ initialize the list with parts-of-speech (non-terminal) “Papa ate the caviar with a spoon” NP V Det N P Det N § for each constituent on the LIST § for each adjacent constituent on the list § for each rule to combine them § add the result to the LIST if it’s not already there § if the above loop added anything, do it again!

slide-13
SLIDE 13

CS6501: NLP 13

Initialize § NP 0 1 § V 1 2 § Det 2 3 § N 3 4 § P 4 5 § Det 5 6 § N 6 7 § V 6 7

1st pass § NP 2 4 § NP 5 7 2nd pass § VP 1 4 § NP 2 4 § PP 4 7 § NP 5 7 3rd pass § …

“Papa ate the caviar with a spoon”

1 2 3 4 5 6 7

slide-14
SLIDE 14

CS6501: NLP 14

This is correct, but we repeatedly check same pairs!

slide-15
SLIDE 15

What are the problems?

We kept checking the same pairs that we’d checked before (both bad and good pairs)

Can’t we manage the process in a way that avoids duplicate work?

And even finding new pairs was expensive because we had to scan the whole list

Can’t we have some kind of index that will help us find adjacent pairs?

CS6501: NLP 15

slide-16
SLIDE 16

Indexing: Store S 0 4 in chart[0,4]

CS6501: NLP 16

S à NP VP NP à Det N NP à NP PP VP à V NP VP à VP PP PP à P NP

Every cell stores constituents found between i and j

slide-17
SLIDE 17

Avoid duplicate work:

CS6501: NLP 17

S à NP VP NP à Det N NP à NP PP VP à V NP VP à VP PP PP à P NP

slide-18
SLIDE 18

How to build a width-6 phrase

CS6501: NLP 18

?

1 7 = 1 2 + 2 7 J 1 3 + 3 7 1 4 + 4 7 J 1 5 + 5 7 1 6 + 6 7

S à NP VP NP à Det N NP à NP PP VP à V NP VP à VP PP PP à P NP

slide-19
SLIDE 19

CKY algorithm

CS6501: NLP 19

§ for J := 1 to n § Add to [J-1,J] all categories for the Jth word § for width := 2 to n § for start := 0 to n-width // this is I § Define end := start + width // this is J § for mid := start+1 to end-1 // find all I-to-J phrases § for every nonterminal Y in [start,mid] § for every nonterminal Z in [mid,end] § for all nonterminals X § if X à Y Z is in the grammar § then add X to [start,end]

slide-20
SLIDE 20

CKY algorithm

CS6501: NLP 20

§for J := 1 to n §Add to [J-1,J] all categories for the Jth word §for width := 2 to n §for start := 0 to n-width // this is I §Define end := start + width // this is J §for mid := start+1 to end-1 // find all I-to-J phrases §for every rule X à Y Z in the grammar if Y in [start,mid] and Z in [mid,end] then add X to [start,end]

slide-21
SLIDE 21

CKY parsing algorithm

v Dynamic programming:

vSave the results in a table and reuse the computations

v Complexity: 𝑃 𝑜6 𝐻 𝑜: length of the sentence, |𝐻|: size of grammar v Assume CFG is in Chomsky Normal Form

CS6501: NLP 21

slide-22
SLIDE 22

Your turn!

𝑇 → 𝑂𝑄 𝑊𝑄 𝑊𝑄 → 𝑊 𝑂𝑄 𝑊𝑄 → 𝑊𝑄 𝑄𝑄 𝑄𝑄 → 𝑄 𝑂𝑄 𝑂𝑄 → 𝑂𝑄 𝑄𝑄

CS6501: NLP 22

NP V NP P NP

slide-23
SLIDE 23

𝑇 → 𝑂𝑄 𝑊𝑄 𝑊𝑄 → 𝑊 𝑂𝑄 𝑊𝑄 → 𝑊𝑄 𝑄𝑄 𝑄𝑄 → 𝑄 𝑂𝑄 𝑂𝑄 → 𝑂𝑄 𝑄𝑄 𝑇

CS6501: NLP 23

slide-24
SLIDE 24

Probability Context-Free Grammars

CS6501: NLP 24

slide-25
SLIDE 25

Likelihood of a parse tree

CS6501: NLP 25

slide-26
SLIDE 26

Probabilistic CKY

CS6501: NLP 26

slide-27
SLIDE 27

CS6501: NLP 27

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 1 NP 4 VP 4 2 P 2 V 5 3 Det 1 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

The following slides are modified from Jason Eisner’s NLP course

NOTE that the in the following animation we consider “minimizing the loss”. The algorithm that “maximizes the probability” will be similar.

slide-28
SLIDE 28

CS6501: NLP 28

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 1 NP 4 VP 4 2 P 2 V 5 3 Det 1 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-29
SLIDE 29

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 1 NP 4 VP 4 2 P 2 V 5 3 Det 1 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-30
SLIDE 30

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 1 NP 4 VP 4 2 P 2 V 5 3 Det 1 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-31
SLIDE 31

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 1 NP 4 VP 4 2 P 2 V 5 3 Det 1 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-32
SLIDE 32

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 1 NP 4 VP 4 2 P 2 V 5 3 Det 1 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-33
SLIDE 33

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 1 NP 4 VP 4 2 P 2 V 5 3 Det 1 NP 10 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-34
SLIDE 34

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 1 NP 4 VP 4 2 P 2 V 5 3 Det 1 NP 10 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-35
SLIDE 35

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 1 NP 4 VP 4 2 P 2 V 5 PP 12 3 Det 1 NP 10 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-36
SLIDE 36

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 1 NP 4 VP 4 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-37
SLIDE 37

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 1 NP 4 VP 4 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-38
SLIDE 38

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 1 NP 4 VP 4 NP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-39
SLIDE 39

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 1 NP 4 VP 4 NP 18 S 21 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-40
SLIDE 40

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-41
SLIDE 41

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-42
SLIDE 42

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 NP 24 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-43
SLIDE 43

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 NP 24 S 22 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-44
SLIDE 44

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 NP 24 S 22 S 27 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-45
SLIDE 45

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 NP 24 S 22 S 27 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-46
SLIDE 46

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 NP 24 S 22 S 27 NP 24 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-47
SLIDE 47

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 NP 24 S 22 S 27 NP 24 S 27 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-48
SLIDE 48

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 NP 24 S 22 S 27 NP 24 S 27 S 22 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-49
SLIDE 49

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 NP 24 S 22 S 27 NP 24 S 27 S 22 S 27 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8

1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

slide-50
SLIDE 50

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 NP 24 S 22 S 27 NP 24 S 27 S 22 S 27 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8 1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP S

Follow backpointers …

Here we consider minimizing the “loss”. So we pick the one with the minimal loss

slide-51
SLIDE 51

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 NP 24 S 22 S 27 NP 24 S 27 S 22 S 27 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8 1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP S NP VP

slide-52
SLIDE 52

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 NP 24 S 22 S 27 NP 24 S 27 S 22 S 27 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8 1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP S NP VP VP PP

slide-53
SLIDE 53

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 NP 24 S 22 S 27 NP 24 S 27 S 22 S 27 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8 1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP S NP VP VP PP P NP

slide-54
SLIDE 54

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 NP 24 S 22 S 27 NP 24 S 27 S 22 S 27 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8 1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP S NP VP VP PP P NP Det N

slide-55
SLIDE 55

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 NP 24 S 22 S 27 NP 24 S 27 S 22 S 27 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8 1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

Which entries do we need?

slide-56
SLIDE 56

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 NP 24 S 22 S 27 NP 24 S 27 S 22 S 27 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8 1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

Which entries do we need?

slide-57
SLIDE 57

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 NP 24 S 22 S 27 NP 24 S 27 S 22 S 27 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8 1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

Not worth keeping …

slide-58
SLIDE 58

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 NP 24 S 22 S 27 NP 24 S 27 S 22 S 27 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8 1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

… since it just breeds worse options

slide-59
SLIDE 59

time 1 flies 2 like 3 an 4 arrow 5 NP 3 Vst 3 NP 10 S 8 S 13 NP 24 S 22 S 27 NP 24 S 27 S 22 S 27 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8 1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

Keep only best-in-class!

inferior stock

slide-60
SLIDE 60

time 1 flies 2 like 3 an 4 arrow 5 0 NP 3 Vst 3 NP 10 S 8 NP 24 S 22 1 NP 4 VP 4 NP 18 S 21 VP 18 2 P 2 V 5 PP 12 VP 16 3 Det 1 NP 10 4 N 8 1 S → NP VP 6 S → Vst NP 2 S → S PP 1 VP → V NP 2 VP → VP PP 1 NP → Det N 2 NP → NP PP 3 NP → NP NP 0 PP → P NP

Keep only best-in-class!

(and its backpointers so you can recover best parse)

slide-61
SLIDE 61

Weighted CKY: Viterbi algorithm

CS6501: NLP 61

  • initialize all entries of chart to ∞
  • for i := 1 to n
  • for each rule R of the form X à word[i]
  • chart[X,i-1,i] max ( weight(R) )
  • for width := 2 to n
  • for start := 0 to n-width
  • Define end := start + width
  • for mid := start+1 to end-1
  • for each rule R of the form X à Y Z
  • chart[X,start,end] = max( weight(R) +

chart[Y,start,mid] + chart[Z,mid,end])

  • return chart[ROOT,0,n]