Span-Based Constituency Parsing with Provably Optimal Dynamic Oracles
James Cross and Liang Huang Oregon State University EMNLP, Austin, TX November 2, 2016
Span-Based Constituency Parsing with Provably Optimal Dynamic - - PowerPoint PPT Presentation
Span-Based Constituency Parsing with Provably Optimal Dynamic Oracles James Cross and Liang Huang Oregon State University EMNLP, Austin, TX November 2, 2016 Dependency vs. Constituency S ROOT NP VP PRP MD VBP S subj dobj dobj aux
James Cross and Liang Huang Oregon State University EMNLP, Austin, TX November 2, 2016
2
search UAS Zhang & Nivre 2011 beam 92.9 Chen & Manning 2014 greedy 91.8 Zhou et al. (2015) beam 93.3 Weiss et al. (2015) beam 94.0
greedy 93.4 Andor et al. (2016) beam 94.4 search F1 Carreras et al. (2008) cubic 91.1 Shindo et al. (2012) cubic 91.1 Thang et al. (2015) (A*) ~cubic 91.1 Watanabe et al. (2015) beam 90.7 Vinyals et al. (2015) (WSJ) beam 90.5
Red = Neural
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
I do like eating fish PRP MD VBP VBG NN
ROOT subj aux dobj dobj
2
search UAS Zhang & Nivre 2011 beam 92.9 Chen & Manning 2014 greedy 91.8 Zhou et al. (2015) beam 93.3 Weiss et al. (2015) beam 94.0
greedy 93.4 Andor et al. (2016) beam 94.4 search F1 Carreras et al. (2008) cubic 91.1 Shindo et al. (2012) cubic 91.1 Thang et al. (2015) (A*) ~cubic 91.1 Watanabe et al. (2015) beam 90.7 Vinyals et al. (2015) (WSJ) beam 90.5
This Work greedy 91.3
Red = Neural
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
I do like eating fish PRP MD VBP VBG NN
ROOT subj aux dobj dobj
3
4
do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
Stack Queue
do/MD I/PRP eating/VBG fish/NN
Stack Queue VP’ NP
like/VBP
current brackets
5
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {}
current brackets
5
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {} Shift do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
current brackets
5
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {} Shift do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {0NP1} Label-NP
current brackets
5
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {} Shift do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
Shift do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {0NP1} Label-NP
current brackets
5
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {} Shift do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
Shift do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {0NP1} Label-NP t = {0NP1} No-Label
current brackets
5
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {} Shift do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
Shift do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
Shift do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {0NP1} Label-NP t = {0NP1} No-Label
current brackets
5
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {} Shift do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
Shift do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
Shift do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {0NP1} Label-NP t = {0NP1} No-Label t = {0NP1} No-Label
6
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {0NP1}
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
6
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {0NP1} Combine do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
6
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {0NP1} Combine do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
t = {0NP1} No-Label
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
6
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {0NP1} Combine do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
Shift do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
t = {0NP1} No-Label
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
6
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {0NP1} Combine do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
Shift do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
t = {0NP1} No-Label t = {0NP1} No-Label
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
6
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {0NP1} Combine do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
Shift do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
t = {0NP1} No-Label t = {0NP1} No-Label Shift do/MD like/VBP I/PRP
1 3 5
eating/VBG fish/NN
4
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
6
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD I/PRP like/VBP
1 2
eating/VBG fish/NN
3 4 5
t = {0NP1} Combine do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
Shift do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
t = {0NP1} No-Label t = {0NP1} No-Label Label-NP t = {0NP1, 4NP5} Shift do/MD like/VBP I/PRP
1 3 5
eating/VBG fish/NN
4
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
7
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
t = {0NP1, 4NP5}
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
7
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
t = {0NP1, 4NP5} Combine do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 5
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
7
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
t = {0NP1, 4NP5} Combine do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 5
Label-S-VP t = {0NP1, 4NP5,
3S5, 3VP5}
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
7
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
t = {0NP1, 4NP5} Combine do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 5
Combine do/MD like/VBP eating/VBG fish/NN I/PRP
1 5
Label-S-VP t = {0NP1, 4NP5,
3S5, 3VP5}
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
`
7
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
t = {0NP1, 4NP5} Combine do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 5
Combine do/MD like/VBP eating/VBG fish/NN I/PRP
1 5
Label-S-VP t = {0NP1, 4NP5,
3S5, 3VP5}
Label-VP t = {0NP1, 4NP5,
3S5, 3VP5, 1VP5}
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
`
7
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
t = {0NP1, 4NP5} Combine do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 5
Combine do/MD like/VBP eating/VBG fish/NN I/PRP
1 5
Combine I/PRP do/MD like/VBP eating/VBG fish/NN
5
Label-S-VP t = {0NP1, 4NP5,
3S5, 3VP5}
Label-VP t = {0NP1, 4NP5,
3S5, 3VP5, 1VP5}
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
`
7
Structural (even step) Shift Combine Label (odd step) Label-X No-Label
do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
t = {0NP1, 4NP5} Combine do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 5
Combine do/MD like/VBP eating/VBG fish/NN I/PRP
1 5
Combine I/PRP do/MD like/VBP eating/VBG fish/NN
5
Label-S-VP t = {0NP1, 4NP5,
3S5, 3VP5}
Label-VP t = {0NP1, 4NP5,
3S5, 3VP5, 1VP5}
Label-S t = {0NP1, 4NP5,
3S5, 3VP5, 1VP5, 0S5}
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
`
8
do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
Stack Queue
8
do/MD like/VBP I/PRP
1
eating/VBG fish/NN
3 4 5
Stack Queue
9
10
hsi I do like eating fish h/si f0 b0
1
f1 b1
2
f2 b2
3
f3 b3
4
f4 b4
5
f5 b5
11
pre-s1 s1 s0 queue do/MD like/VBP I/PRP eating/VBG fish/NN ./.
12
pre-s0 s0 queue do/MD like/VBP eating/VBG fish/NN I/PRP ./.
13
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
shift label-NP shift no-label shift no-label combine no-label
13
S VP S VP NP NN fish VBG eating VBP like MD do NP PRP I
shift label-NP shift no-label shift no-label combine no-label combine
14
15
15
16
do I like eating fish
.
16
do I like eating fish
.
16
do I like eating fish
.
16
do I like eating fish
.
16
do I like eating fish
.
s0 next reachable
16
do I like eating fish
.
s0 next reachable
17
do I like eating fish
.
17
do I like eating fish
.
17
do I like eating fish
.
s0 next reachable
17
do I like eating fish
.
s0 next reachable
18
do I like fish
.
eating
18
do I like fish
.
eating
18
do I like fish
.
s0 next reachable
eating
18
do I like fish
.
s0 next reachable
eating
19
s0 next
Shift —>
s0 next
<— Combine/Shift —>
s0 next
<—Combine
19
s0 next
Shift —>
s0 next
<— Combine/Shift —>
s0 next
<—Combine
19
s0 next
Shift —>
s0 next
<— Combine/Shift —>
s0 next
<—Combine
19
s0 next
Shift —>
s0 next
<— Combine/Shift —>
s0 next
<—Combine
20
20
shift (oracle)
20
shift (oracle) combine (incorrect)
21
(scores on PTB 22) Recall Prec. F1 Static Oracle 91.34 91.43 91.38
static
21
(scores on PTB 22) Recall Prec. F1 Static Oracle 91.34 91.43 91.38
static dynamic
21
(scores on PTB 22) Recall Prec. F1 Static Oracle 91.34 91.43 91.38 Dynamic Oracle 91.14 91.61 91.38
static dynamic
21
(scores on PTB 22) Recall Prec. F1 Static Oracle 91.34 91.43 91.38 Dynamic Oracle 91.14 91.61 91.38
static dynamic
21
(scores on PTB 22) Recall Prec. F1 Static Oracle 91.34 91.43 91.38 Dynamic Oracle 91.14 91.61 91.38
static dynamic + exploration
21
(scores on PTB 22) Recall Prec. F1 Static Oracle 91.34 91.43 91.38 Dynamic Oracle 91.14 91.61 91.38 Dynamic + Exploration 91.07 92.22 91.64
static dynamic + exploration
22
23
24
Parser Search Recall Prec. F1 Carreras et al. (2008) cubic 90.7 91.4 91.1 Shindo et al. (2012) cubic 91.1 Thang et al. (2015) ~cubic 91.1 Watanabe et al. (2015) beam 90.7 Static Oracle greedy 90.7 91.4 91.0 Dynamic + Exploration greedy 90.5 92.1 91.3
25
26
Parser Recall Prec. F1 Björkelund et al. (2014) 82.53 Static Oracle 83.50 82.87 83.18 Dynamic + Exploration 81.90 84.77 83.31
27
pre-s1 s1 s0 queue
do/MD like/VBP I/PRP eating/VBG fish/NN ./.
s0 next
Shift —>
s0 next
<— Combine/Shift —>
s0 next
<—Combine