An AMR Aligner Tuned by Transition-based Parser
Yijia Liu*, Wanxiang Che, Bo Zheng, Bing Qin, Ting Liu
Research Center for Social Computing and Information Retrieval
Harbin Institute of Technology
Abstract Meaning Representation(AMR) Parsing
North Korean froze its nuclear actions in
exchange for two nuclear reactors
exchange-01
country
ARG0 freeze-01
ARG1
recieve-01
ARG3
name
name
ARG0
act-02
ARG1
reactor
ARG1
"North"
op1
"Korea"
op2
nucleus~1
mod
2
quant
nucleus~2
mod
AMR Parsing: Concept Identification
North Korean froze its nuclear actions in
exchange for two nuclear reactors
exchange-01
country
ARG0 freeze-01
ARG1
recieve-01
ARG3
name
name
ARG0
act-02
ARG1
reactor
ARG1
"North"
op1
"Korea"
op2
nucleus~1
mod
2
quant
nucleus~2
mod
AMR Parsing: Relation Identificationexchange-01
country
ARG0 freeze-01
ARG1
recieve-01
ARG3
name
name
ARG0
act-02
ARG1
reactor
ARG1
"North"
op1
"Korea"
op2
nucleus~1
mod
2
quant
nucleus~2
mod
exchange-01
country
ARG0 freeze-01
ARG1
recieve-01
ARG3
name
name
ARG0
act-02
ARG1
reactor
ARG1
"North"
op1
"Korea"
op2
nucleus~1
mod
2
quant
nucleus~2
mod
AMR Parsing: Alignment Challenge
North Korean froze its nuclear actions in
exchange for two nuclear reactors
exchange-01
country
ARG0 freeze-01
ARG1
recieve-01
ARG3
name
name
ARG0
act-02
ARG1
reactor
ARG1
"North"
op1
"Korea"
op2
nucleus~1
mod
2
quant
nucleus~2
mod
Association between a concept and
a span of words is abstracted away
Aligner for Training an AMR Parser:Guessing Alignment
North Korean froze its nuclear actions in
exchange for two nuclear reactors
exchange-01
country
ARG0 freeze-01
ARG1
recieve-01
ARG3
name
name
ARG0
act-02
ARG1
reactor
ARG1
"North"
op1
"Korea"
op2
nucleus~1
mod
2
quant
nucleus~2
mod
its nuclear actions
e
nucleus~1
mod
country
name
name
act-02
"North"
op1
"Korea"
op2
nucleus
m
North Korean froze its
two nuclear reactors
quant
nucleus~2
mod
Aligner
JAMR Aligner (Flanigan et al. 2014)
A Set of Rules Greedy Decoding
• Manually define rule order
• Apply these rules one by one
• Alignments are mutuallyexcluded, a span once alignedwill never be aligned again.
Problems of JAMR
its nuclear actions
e
nucleus~1
mod
two nuclear reactors
quant
nucleus~2
mod
Limited semantic
resources
Ambiguities in
matching results
Parser training does
not feed back to
alignment
its nuclear actions
Our Contributions
A novel aligner A transition-based parser
Our Contributions
A novel aligner A transition-based parser
Our Aligner
Limited semantic
resources
Recall more alignments with
• Glove embedding (Koreanand Korea)
• morphological links(example and exemplify)
Ambiguities in
matching results
Parser training does
not feed back to
alignment
Our Aligner
Limited semantic
resources
Recall more alignments with
• Glove embedding (Koreanand Korea)
• morphological links(example and exemplify)
Ambiguities in
matching results
Parser training does
not feed back to
alignment
Produce multiple alignments
Our Aligner
Limited semantic
resources:
Recall more alignments with
• Glove embedding (Koreanand Korea)
• morphological links(example and exemplify)
Ambiguities in
matching results
Parser training does
not feed back to
alignment
Use an oracle transition-based parse to determine the quality
of an alignment
oracle transition-based parser
Produce multiple alignments
Oracle Transition-based Parser
Oracle Dependency
Parser
Input sentence
Gold dep. tree
Gold transition
sequence
Our Oracle Parser
Input sentence
Alignment
Gold AMR graph
Best transition
sequenceBest AMR
Oracle Transition-based Parser
• State: ! = ($ s&, (, b& b*|,, -)
• Actions:• extension of the list-baseddependency parser
• CONFIRM, ENTITY, and NEW forconcept identification• Oracle parser use the alignmentto derive these actions
buffer:
North Korean froze its nuclear actions in exchange for two nuclear reactors
stack: deque:
ENTITY(country)
SHIFT
A Run on a Successful Alignment
Input sentence: North Korean froze its nuclear actions in exchange for two nuclear reactors
Alignment: North Korean – country entity: ”North Korean”; froze – freeze; nuclear1 – nucleus~1; actions –
act; exchange – exchange; for – receive; two – 2; nuclear2 – nucleus~2; reactors – reactor
buffer:
froze its nuclear actions in exchange for two nuclear reactors
stack:
country
name
name
act-02
"North"
op1
"Korea"
op2
nucleus
m
deque:
A Run on a Successful Alignment
SHIFT
CONCEPT(freeze)
LEFT(ARG0)
Input sentence: North Korean froze its nuclear actions in exchange for two nuclear reactors
Alignment: North Korean – country entity: ”North Korean”; froze – freeze; nuclear1 – nucleus~1; actions –
act; exchange – exchange; for – receive; two – 2; nuclear2 – nucleus~2; reactors – reactor
buffer:
its nuclear actions in exchange for two nuclear reactors
stack:
country
name
name
act-02
"North"
op1
"Korea"
op2
nucleus
m
deque:
A Run on a Successful Alignment
DROP
Input sentence: North Korean froze its nuclear actions in exchange for two nuclear reactors
Alignment: North Korean – country entity: ”North Korean”; froze – freeze; nuclear1 – nucleus~1; actions –
act; exchange – exchange; for – receive; two – 2; nuclear2 – nucleus~2; reactors – reactor
buffer:
nuclear actions in exchange for two nuclear reactors
stack:
country
name
name
act-02
"North"
op1
"Korea"
op2
nucleus
m
deque:
A Run on a Successful Alignment
SHIFT
CONCEPT(nucleus~1)
Input sentence: North Korean froze its nuclear actions in exchange for two nuclear reactors
Alignment: North Korean – country entity: ”North Korean”; froze – freeze; nuclear1 – nucleus~1; actions –
act; exchange – exchange; for – receive; two – 2; nuclear2 – nucleus~2; reactors – reactor
buffer:
actions in exchange for two nuclear reactors
stack:
country
name
name
act-02
"North"
op1
"Korea"
op2
nucleus
m
deque:
A Run on a Successful Alignment
CONCEPT(act)
LEFT(mod)
Input sentence: North Korean froze its nuclear actions in exchange for two nuclear reactors
Alignment: North Korean – country entity: ”North Korean”; froze – freeze; nuclear1 – nucleus~1; actions –
act; exchange – exchange; for – receive; two – 2; nuclear2 – nucleus~2; reactors – reactor
buffer:
in exchange for two nuclear reactors
stack:
country
name
name
act-02
"North"
op1
"Korea"
op2
nucleus
m
deque:
A Run on a Successful Alignment
REDUCE
Input sentence: North Korean froze its nuclear actions in exchange for two nuclear reactors
Alignment: North Korean – country entity: ”North Korean”; froze – freeze; nuclear1 – nucleus~1; actions –
act; exchange – exchange; for – receive; two – 2; nuclear2 – nucleus~2; reactors – reactor
buffer:
in exchange for two nuclear reactors
stack:
country
name
name
act-02
"North"
op1
"Korea"
op2
nucleus
m
deque:
A Run on a Successful Alignment
Input sentence: North Korean froze its nuclear actions in exchange for two nuclear reactors
Alignment: North Korean – country entity: ”North Korean”; froze – freeze; nuclear1 – nucleus~1; actions –
act; exchange – exchange; for – receive; two – 2; nuclear2 – nucleus~2; reactors – reactor
RIGHT(ARG1)
buffer:
in exchange for two nuclear reactors
stack:
country
name
name
act-02
"North"
op1
"Korea"
op2
nucleus
m
deque:
A Run on a Successful Alignment
…
Ends up with 32 actions
Input sentence: North Korean froze its nuclear actions in exchange for two nuclear reactors
Alignment: North Korean – country entity: ”North Korean”; froze – freeze; nuclear1 – nucleus~1; actions –
act; exchange – exchange; for – receive; two – 2; nuclear2 – nucleus~2; reactors – reactor
buffer:
nuclear actions in exchange for two nuclear reactors
stack:
country
name
name
act-02
"North"
op1
"Korea"
op2
nucleus
m
deque:
A Run on an Unsuccessful Alignment
SHIFT
CONCEPT(nucleus~2)
Input sentence: North Korean froze its nuclear actions in exchange for two nuclear reactors
Alignment: North Korean – country entity: ”North Korean”; froze – freeze; nuclear1 – nucleus~2; actions –
act; exchange – exchange; for – receive; two – 2; nuclear2 – nucleus~1; reactors – reactor
buffer:
actions in exchange for two nuclear reactors
stack:
country
name
name
act-02
"North"
op1
"Korea"
op2
nucleus
m
deque:
A Run on an Unsuccessful Alignment
CACHE
Input sentence: North Korean froze its nuclear actions in exchange for two nuclear reactors
Alignment: North Korean – country entity: ”North Korean”; froze – freeze; nuclear1 – nucleus~2; actions –
act; exchange – exchange; for – receive; two – 2; nuclear2 – nucleus~1; reactors – reactor
buffer:
actions in exchange for two nuclear reactors
stack:
country
name
name
act-02
"North"
op1
"Korea"
op2
nucleus
m
deque:
A Run on an Unsuccessful Alignment
Input sentence: North Korean froze its nuclear actions in exchange for two nuclear reactors
Alignment: North Korean – country entity: ”North Korean”; froze – freeze; nuclear1 – nucleus~2; actions –
act; exchange – exchange; for – receive; two – 2; nuclear2 – nucleus~1; reactors – reactor
CONCEPT(act)
RIGHT(ARG1)
buffer:
in exchange for two nuclear reactors
stack:
country
name
name
act-02
"North"
op1
"Korea"
op2
nucleus
m
deque:
A Run on an Unsuccessful Alignment
Input sentence: North Korean froze its nuclear actions in exchange for two nuclear reactors
Alignment: North Korean – country entity: ”North Korean”; froze – freeze; nuclear1 – nucleus~2; actions –
act; exchange – exchange; for – receive; two – 2; nuclear2 – nucleus~1; reactors – reactor
SHIFT
buffer:
in exchange for two nuclear reactors
stack:
country
name
name
act-02
"North"
op1
"Korea"
op2
nucleus
m
deque:
A Run on an Unsuccessful Alignment
Input sentence: North Korean froze its nuclear actions in exchange for two nuclear reactors
Alignment: North Korean – country entity: ”North Korean”; froze – freeze; nuclear1 – nucleus~2; actions –
act; exchange – exchange; for – receive; two – 2; nuclear2 – nucleus~1; reactors – reactor
Keep CACHEing
Ends up with 44 actions
buffer:
nuclear actions in exchange for two nuclear reactors
stack:
country
name
name
act-02
"North"
op1
"Korea"
op2
nucleus
m
deque:
A Run on another Unsuccessful Alignment
DROP
Input sentence: North Korean froze its nuclear actions in exchange for two nuclear reactors
Alignment: North Korean – country entity: ”North Korean”; froze – freeze; actions – act; exchange –
exchange; for – receive; two – 2; nuclear2 – nucleus~2; reactors – reactor
buffer:
actions in exchange for two nuclear reactors
stack:
country
name
name
act-02
"North"
op1
"Korea"
op2
nucleus
m
deque:
A Run on another Unsuccessful Alignment
Input sentence: North Korean froze its nuclear actions in exchange for two nuclear reactors
Alignment: North Korean – country entity: ”North Korean”; froze – freeze; actions – act; exchange –
exchange; for – receive; two – 2; nuclear2 – nucleus~2; reactors – reactor
Ends up with a graph with Smatch of
0.91
Aligner Experiments (intrinsic):Alignment Evaluation
90.6
95.2
85
87
89
91
93
95
97
99
Alignment F1
JAMR Ours
Aligner Experiments (extrinsic):Two Open-sourced AMR Parsers
65.9
67.6
63
64
65
66
67
68
69
70
JAMR (Flanigan14)
Baseline +our alignment
64.6
65.1
63
64
65
66
67
68
69
70
CAMR (Wang15)
Baseline +our alignment
1.7
0.5
On LDC2014T12
Aligner Experiments: Ablations
73.172.7
67.6
71.3
65
66
67
68
69
70
71
72
73
74
75
Smatch
JAMR parser
+ours -semantic matching -tuning +JAMR aligner
Our Contributions
A novel aligner A transition-based parser
Transition-based AMR Parseron Our Transition System
• Use StackLSTM [Dyer et al. 2015] to represent state
• Call a unique subroutine for span-to-concept classification
Parser Experiments
60
61
62
63
64
65
66
67
68
69
70
BA17 Ours Zhou16 Pust15 OursX3 Wang17 OursX10
Parser Experiments
60
61
62
63
64
65
66
67
68
69
70
BA17 Ours Zhou16 Pust15 OursX3 Wang17 OursX10
Comparison to Ballesteros andAl-Onaizan (2017)
60
61
62
63
64
65
66
67
BA17+JAMR alignment
Ours+JAMR alignment
Ours+Our Alignment
●
●
●
●
●
●
●
●●
●●
●
●
●●●
●
●
●●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
● ●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
● ●
●
●
●
●●
● ●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
0
50
100
150
200
250
0 10 20 30 40 50
# of tokens
# o
f a
ctio
ns
● BA17
Ours
Parser Experiments:Speed Comparison
Model Tokens/s
JAMR 7
CAMR 24
Wang17 (Extension of CAMR) <24
Our (X10) 43
Conclusion
• A new AMR aligner that improves two open-sourced parsers
• A transition-based parser that is accurate and fast
• Code and generated alignments (LDC2014T12 andLDC2017T10) are available at:https://github.com/Oneplus/tamr
Thanks and Q/A