Parser
Parser
1
Overview of Earley’s Algorithm
A D A
+ =
B C D E B C D E
ABC.DE ABCD.E
2
Overview of Earley’s Algorithm
3
Our Usual Example Grammar
ROOT S
S NP VP NP Papa
NP Det N N caviar
NP NP PP N spoon
VP VP PP V ate
VP V NP P with
PP P NP Det the
Det a
4
0 Papa 1 ate 2 the 3 caviar 4 with 5 a 6 spoon 7
VP
74
Left Recursion Kills Pure
Top-Down Parsing …
VP
VP PP
75
Left Recursion Kills Pure
Top-Down Parsing …
VP
VP PP
VP PP
76
Left Recursion Kills Pure
Top-Down Parsing …
VP
makes new hypotheses
VP PP
ad infinitum before we’ve
VP PP seen the PPs at all
VP PP
hypotheses try to predict
in advance how many
PP’s will arrive in input
77
… but Earley’s Alg is Okay!
VP
1 VP . VP PP
VP PP
(in column 1)
78
… but Earley’s Alg is Okay!
VP
1 VP . VP PP
VP PP
(in column 1)
VP
1 VP V NP .
V NP
ate the caviar
(in column 4)
79
… but Earley’s Alg is Okay!
VP
1 VP . VP PP
VP PP
(in column 1)
attach
VP
1 VP VP . PP
VP PP
V NP
ate the caviar
(in column 4)
80
… but Earley’s Alg is Okay!
VP
1 VP . VP PP
VP PP
(in column 1)
VP
1 VP VP PP .
VP PP
with a spoon
V NP
ate the caviar
(in column 7)
81
… but Earley’s Alg is Okay!
VP
1 VP . VP PP
VP PP can be reused
(in column 1)
VP
1 VP VP PP .
VP PP
with a spoon
V NP
ate the caviar
(in column 7)
82
… but Earley’s Alg is Okay!
VP
1 VP . VP PP
VP PP can be reused
(in column 1)
VP
attach 1 VP VP . PP
VP PP
VP PP
with a spoon
V NP
ate the caviar
(in column 7)
83
… but Earley’s Alg is Okay!
VP
1 VP . VP PP
VP PP can be reused
(in column 1)
VP
1 VP VP PP .
VP PP
in his bed
VP PP
with a spoon
V NP
ate the caviar
(in column 10)
84
… but Earley’s Alg is Okay!
VP
1 VP . VP PP
VP PP can be reused again
(in column 1)
VP
1 VP VP PP .
VP PP
in his bed
VP PP
with a spoon
V NP
ate the caviar
(in column 10)
85
… but Earley’s Alg is Okay!
VP
1 VP . VP PP
VP PP can be reused again
(in column 1) VP
attach 1 VP VP . PP
VP PP
VP PP
in his bed
VP PP
with a spoon
V NP
ate the caviar
(in column 10)
86
0 Papa 1 ate 2 the 3 caviar 4 with a spoon 7
0 ROOT . S 0 NP Papa . 1 V ate . 2 Det the . 3 N caviar . … 6 N spoon .
0 S . NP VP 0 S NP . VP 1 VP V . NP 2 NP Det . N 2 NP Det N . 5 NP Det N .
0 NP . Det N 0 NP NP . PP 2 NP . Det N 3 N . caviar 1 VP V NP . 4 PP P NP .
0 NP . NP PP 1 VP . V NP 2 NP . NP PP 3 N . spoon 2 NP NP . PP 5 NP NP . PP
0 NP . Papa 1 VP . VP PP 2 NP . Papa 0 S NP VP . 2 NP NP PP .
0 Det . the 1 PP . P NP 2 Det . the 1 VP VP . PP 1 VP VP PP .
0 Det . a 1 V . ate 2 Det . a 4 PP . P NP 7 PP . P NP
1 P . with 0 ROOT S . 1 VP V NP .
4 P . with 2 NP NP . PP
0 S NP VP .
completed a VP in col 4 1 VP VP . PP
col 1 lets us use it in a VP PP structure 7 P . with
0 ROOT S .
0 Papa 1 ate 2 the 3 caviar 4 with a spoon 7
0 ROOT . S 0 NP Papa . 1 V ate . 2 Det the . 3 N caviar . … 6 N spoon .
0 S . NP VP 0 S NP . VP 1 VP V . NP 2 NP Det . N 2 NP Det N . 5 NP Det N .
0 NP . Det N 0 NP NP . PP 2 NP . Det N 3 N . caviar 1 VP V NP . 4 PP P NP .
0 NP . NP PP 1 VP . V NP 2 NP . NP PP 3 N . spoon 2 NP NP . PP 5 NP NP . PP
0 NP . Papa 1 VP . VP PP 2 NP . Papa 0 S NP VP . 2 NP NP PP .
0 Det . the 1 PP . P NP 2 Det . the 1 VP VP . PP 1 VP VP PP .
0 Det . a 1 V . ate 2 Det . a 4 PP . P NP 7 PP . P NP
1 P . with 0 ROOT S . 1 VP V NP .
4 P . with 2 NP NP . PP
0 S NP VP .
completed that VP = VP PP in col 7 1 VP VP . PP
col 1 would let us use it in a VP PP structure 7 P . with
can reuse col 1 as often as we need 0 ROOT S .
What’s the Complexity?
89