NEUGEN
- Text Generation from Meaning Representations
Yannis Konstas
- Joint work with
Mark Yatskar, Luke Zettlemoyer and Yejin Choi (UW) ~ Yonatan Bisk and Daniel Marcu (ISI)
N EU G EN Text Generation from Meaning Representations Yannis - - PowerPoint PPT Presentation
N EU G EN Text Generation from Meaning Representations Yannis Konstas Joint work with Mark Yatskar, Luke Zettlemoyer and Yejin Choi (UW) ~ Yonatan Bisk and Daniel Marcu (ISI) Motivation Motivation Machine-generated
Yannis Konstas
Mark Yatskar, Luke Zettlemoyer and Yejin Choi (UW) ~ Yonatan Bisk and Daniel Marcu (ISI)
Machine-generated Representation
Machine-generated Representation
Machine-generated Representation
Machine-generated Representation
source block: hk target block: ms pos RP: W scale: small
Machine-generated Representation
source block: hk target block: ms pos RP: W scale: small
Place the heineken block west of the mercedes block.
Machine-generated Representation
source block: hk target block: ups pos RP: W scale: big
Machine-generated Representation
source block: hk target block: ups pos RP: W scale: big
Place the heineken block in the first
Machine-generated Representation
Machine-generated Representation Sentence Compression
Machine-generated Representation Sentence Compression Sentence Fusion
Machine-generated Representation Sentence Compression Sentence Fusion Paraphrasing
Content Selection Document Planning
Surface Realisation Sentence Planning
Text
Communicative Goal Content Planning
A A A A m
Input
Reordering/Linearization Splitting/Aggregation Lexicalization
Framework
Content Selection Document Planning
Surface Realisation Sentence Planning
Text
Communicative Goal Content Planning
A A A A m
Input
Reordering/Linearization Splitting/Aggregation Lexicalization
Framework
Content Selection Document Planning
Surface Realisation Sentence Planning
Text
Communicative Goal Content Planning
A A A A m
Input
Reordering/Linearization Splitting/Aggregation Lexicalization
Framework
Temperature Time Min Mean Max 06:00-21:00 9 15 21 Wind Speed Time Min Mean Max 06:00-21:00 15 20 30 Cloud Sky Cover Time Percent (%) 06:00-09:00 25-50 09:00-12:00 50-75 Wind Direction Time Mode 06:00-21:00 S
S...
S...
S...
S...
S...
? ? ?
Cloudy, with temperatures between 10 and 20 degrees. South wind around 20 mph.
Training S → R(start) R(ri.t)→FS(rj, start)R(rj.t) R(ri.t)→FS(rj, start) FS(r, r.fi)→F(r, r.fj)FS(r, r.fj) FS(r, r.fi)→F(r, r.fj) F(r, r.f)→W(r, r.f)F(r, r.f) F(r, r.f)→W(r, r.f) W(r, r.f)→α W(r, r.f)→g(f.v) FS0,1(temp1,start) FS0,2(temp1,start) F0,1(temp1,min) F0,1(temp1,max) F0,2(temp1,min) F0,2(temp1,max) FS1,2(temp1,start) (2) Hypergraph Representation
FS0,5(skyCover1.t,start) mostly cloudy ? the morning mostly cloudy ? after 11am mostly cloudy ? then becoming · · · F0,2(skyCover1.t,%) mostly cloudy mostly clouds cloudy , · · · W4,5(skyCover1.t,time) morning 11am after · · · W0,1(skyCover1.t,%) mostly cloudy sunny · · · W1,2(skyCover1.t,%) mostly cloudy sunny · · ·
(3) k-best decoding via integration Testing (1) PCFG Grammar
Konstas and Lapata, 2012, 2013
Temperature Time Min Mean Max 06:00-21:00 9 15 21 Wind Speed Time Min Mean Max 06:00-21:00 15 20 30 Cloud Sky Cover Time Percent (%) 06:00-09:00 25-50 09:00-12:00 50-75 Wind Direction Time Mode 06:00-21:00 S
S...
S...
S...
S...
S...
? ? ?
Cloudy, with temperatures between 10 and 20 degrees. South wind around 20 mph.
Training S → R(start) R(ri.t)→FS(rj, start)R(rj.t) R(ri.t)→FS(rj, start) FS(r, r.fi)→F(r, r.fj)FS(r, r.fj) FS(r, r.fi)→F(r, r.fj) F(r, r.f)→W(r, r.f)F(r, r.f) F(r, r.f)→W(r, r.f) W(r, r.f)→α W(r, r.f)→g(f.v) FS0,1(temp1,start) FS0,2(temp1,start) F0,1(temp1,min) F0,1(temp1,max) F0,2(temp1,min) F0,2(temp1,max) FS1,2(temp1,start) (2) Hypergraph Representation
FS0,5(skyCover1.t,start) mostly cloudy ? the morning mostly cloudy ? after 11am mostly cloudy ? then becoming · · · F0,2(skyCover1.t,%) mostly cloudy mostly clouds cloudy , · · · W4,5(skyCover1.t,time) morning 11am after · · · W0,1(skyCover1.t,%) mostly cloudy sunny · · · W1,2(skyCover1.t,%) mostly cloudy sunny · · ·
(3) k-best decoding via integration Testing (1) PCFG Grammar
Konstas and Lapata, 2012, 2013
Temperature Time Min Mean Max 06:00-21:00 9 15 21 Wind Speed Time Min Mean Max 06:00-21:00 15 20 30 Cloud Sky Cover Time Percent (%) 06:00-09:00 25-50 09:00-12:00 50-75 Wind Direction Time Mode 06:00-21:00 S
S...
S...
S...
S...
S...
? ? ?
Cloudy, with temperatures between 10 and 20 degrees. South wind around 20 mph.
Training S → R(start) R(ri.t)→FS(rj, start)R(rj.t) R(ri.t)→FS(rj, start) FS(r, r.fi)→F(r, r.fj)FS(r, r.fj) FS(r, r.fi)→F(r, r.fj) F(r, r.f)→W(r, r.f)F(r, r.f) F(r, r.f)→W(r, r.f) W(r, r.f)→α W(r, r.f)→g(f.v) FS0,1(temp1,start) FS0,2(temp1,start) F0,1(temp1,min) F0,1(temp1,max) F0,2(temp1,min) F0,2(temp1,max) FS1,2(temp1,start) (2) Hypergraph Representation
FS0,5(skyCover1.t,start) mostly cloudy ? the morning mostly cloudy ? after 11am mostly cloudy ? then becoming · · · F0,2(skyCover1.t,%) mostly cloudy mostly clouds cloudy , · · · W4,5(skyCover1.t,time) morning 11am after · · · W0,1(skyCover1.t,%) mostly cloudy sunny · · · W1,2(skyCover1.t,%) mostly cloudy sunny · · ·
(3) k-best decoding via integration Testing (1) PCFG Grammar
Konstas and Lapata, 2012, 2013
know-01 I planet lazy
ARG0 ARG1
inhabit-01
man
ARG1-of ARG0 mod
Input (Graph or Tree)
know-01 I planet lazy
ARG0 ARG1
inhabit-01
man
ARG1-of ARG0 mod
Input (Graph or Tree)
AMR DAG
know-01 I planet lazy
ARG0 ARG1
inhabit-01
man
ARG1-of ARG0 mod
Input (Graph or Tree)
AMR DAG λ-calculus Expression Tree
know-01 I planet lazy
ARG0 ARG1
inhabit-01
man
ARG1-of ARG0 mod
Input (Graph or Tree)
AMR DAG λ-calculus Expression Tree ECIs Tree
know-01 I planet lazy
ARG0 ARG1
inhabit-01
man
ARG1-of ARG0 mod
Input (Graph or Tree)
I know a planet that is inhabited by a lazy man.
Output (Text)
AMR DAG λ-calculus Expression Tree ECIs Tree
I knew a planet that was inhabited by a lazy
I have known a planet that was inhabited by a lazy man.
know-01 I planet lazy
ARG0 ARG1
inhabit-01
man
ARG1-of ARG0 mod
Input (Graph or Tree)
I know a planet that is inhabited by a lazy man.
Output (Text)
AMR DAG λ-calculus Expression Tree ECIs Tree
I knew a planet that was inhabited by a lazy
I have known a planet that was inhabited by a lazy man. I know about a planet. It is inhabited by a lazy man.
know-01 I planet lazy
ARG0 ARG1
inhabit-01
man
ARG1-of ARG0 mod
Input (Graph or Tree)
I know a planet that is inhabited by a lazy man.
Output (Text)
AMR DAG λ-calculus Expression Tree ECIs Tree
ARG1-of
ARG1-of
Encoder Decoder
G w
Encoder
ARG1-of
Encoder Decoder
G w
Encoder
Decoder
ARG1-of
Encoder Decoder
G w
Encoder
Decoder
ARG1-of
Encoder Decoder
G w
Reranker
Encoder
Decoder
Reranker
ARG1-of
Encoder Decoder
G w
Reranker
Encoder
Decoder
Reranker
ARG1-of
Encoder Decoder
G w
Reranker
Encoder
Decoder
Reranker
ARG1-of
Encoder Decoder
G w
Reranker
Encoder
Decoder
Reranker
ARG1-of
Aligner Encoder Decoder
G w Eincr G
Aligner
Reranker
Encoder
Decoder
Reranker
ARG1-of
Aligner Encoder Decoder
G w Eincr G salign
Aligner
Reranker
w: A man inhabited a planet
w: A man inhabited a planet
man inhabit
agent
planet
patient
Eincr
know-01 I planet lazy
ARG0 ARG1
inhabit-01
man
ARG1-of ARG0 mod
G
w: A man inhabited a planet
man inhabit
agent
planet
patient
Eincr
know-01 I planet lazy
ARG0 ARG1
inhabit-01
man
ARG1-of ARG0 mod
G
w: A man inhabited a planet
man inhabit
agent
planet
patient
Eincr
fit(G, Eincr)
know-01 I planet lazy
ARG0 ARG1
inhabit-01
man
ARG1-of ARG0 mod
G
w: A man inhabited a planet
man inhabit
agent
planet
patient
Eincr
fit(G, Eincr) <inhabit, man, agent> <inhabit, planet, patient> <know-01, I, A0> <know-01, planet, A1> <planet, inhabit-01, A1-of> <inhabit-01, man, A0> <man, lazy, mod>
<know, I, A0>
G
[0..1]
fitness score
<inhabit, man, agent>
Eincr E1: .
attention weights
+
max
<inhabit, planet, patient>
<know, I, A0>
Eincr G E2:
fit(G, Eincr) = 1 n
n
X
i=0
fit(G, Ei)
[0..1]
fitness score
attention weights
+
max
.
encoder(G)
know I planet lazy
ARG0 ARG1
inhabit man
ARG1-of ARG0 mod
G
encoder(G)
∅
know I planet lazy
ARG0 ARG1
inhabit man
ARG1-of ARG0 mod
G
encoder(G)
∅
I The A …
know I planet lazy
ARG0 ARG1
inhabit man
ARG1-of ARG0 mod
G
encoder(G)
∅
I The A …
know I planet lazy
ARG0 ARG1
inhabit man
ARG1-of ARG0 mod
…
w11: I
The
w12:
Man
w13:
Tree
w14:
G
encoder(G)
∅
I The A …
re-score:
know I planet lazy
ARG0 ARG1
inhabit man
ARG1-of ARG0 mod
…
w11: I
The
w12:
Man
w13:
Tree
w14:
G
sLSTM
encoder(G)
∅
I The A … know knew planet …
re-score:
know I planet lazy
ARG0 ARG1
inhabit man
ARG1-of ARG0 mod
…
w11: I
The
w12:
Man
w13:
Tree
w14:
G
sLSTM
encoder(G)
∅
I The A … know knew planet …
re-score:
know I planet lazy
ARG0 ARG1
inhabit man
ARG1-of ARG0 mod
…
w11: I
The
w12:
Man
w13:
Tree
w14:
… I know
agent
w21:
I knew
agent
w22:
The planet
w23:
Man planet
w24:
G
sLSTM + salign
encoder(G)
∅
I The A … know knew planet …
re-score:
know I planet lazy
ARG0 ARG1
inhabit man
ARG1-of ARG0 mod
…
w11: I
The
w12:
Man
w13:
Tree
w14:
… I know
agent
w21:
I knew
agent
w22:
The planet
w23:
Man planet
w24:
G
sLSTM + salign
encoder(G)
∅
I The A … know knew planet … a planet man …
re-score:
know I planet lazy
ARG0 ARG1
inhabit man
ARG1-of ARG0 mod
…
…
w11: I
The
w12:
Man
w13:
Tree
w14:
… I know
agent
w21:
I knew
agent
w22:
The planet
w23:
Man planet
w24:
G
sLSTM + salign
encoder(G)
∅
I The A … know knew planet … a planet man …
re-score:
know I planet lazy
ARG0 ARG1
inhabit man
ARG1-of ARG0 mod
…
…
w11: I
The
w12:
Man
w13:
Tree
w14:
… I know
agent
w21:
I knew
agent
w22:
The planet
w23:
Man planet
w24: w41:
I know
agent
a planet
patient
w42:
I knew
agent
planets that
patient
w43: The planet I
knew
agent patient
w44: Man know
agent
a planet
patient
that …
G
sLSTM + salign
encoder(G)
∅
I The A … know knew planet … a planet man …
re-score:
know I planet lazy
ARG0 ARG1
inhabit man
ARG1-of ARG0 mod
…
…
w11: I
The
w12:
Man
w13:
Tree
w14:
… I know
agent
w21:
I knew
agent
w22:
The planet
w23:
Man planet
w24: w41:
I know
agent
a planet
patient
w42:
I knew
agent
planets that
patient
w43: The planet I
knew
agent patient
w44: Man know
agent
a planet
patient
that …
G
sLSTM + salign
?
encoder(G)
∅
I The A … know knew planet … a planet man …
re-score:
know I planet lazy
ARG0 ARG1
inhabit man
ARG1-of ARG0 mod
…
…
w11: I
The
w12:
Man
w13:
Tree
w14:
… I know
agent
w21:
I knew
agent
w22:
The planet
w23:
Man planet
w24: w41:
I know
agent
a planet
patient
w42:
I knew
agent
planets that
patient
w43: The planet I
knew
agent patient
w44: Man know
agent
a planet
patient
that …
G
sLSTM + salign
?
encoder(G)
∅
I The A … know knew planet … a planet man …
re-score:
know I planet lazy
ARG0 ARG1
inhabit man
ARG1-of ARG0 mod
…
…
w11: I
The
w12:
Man
w13:
Tree
w14:
… I know
agent
w21:
I knew
agent
w22:
The planet
w23:
Man planet
w24: w41:
I know
agent
a planet
patient
w42:
I knew
agent
planets that
patient
w43: The planet I
knew
agent patient
w44: Man know
agent
a planet
patient
that …
inhabit inhabited was …
G
sLSTM + salign
Experimental Setup
Experimental Setup
Experimental Setup
Dataset
Experimental Setup
Dataset
Experimental Setup
Dataset
5.5 11 16.5 22 BLEU-4 METEOR
Baseline NeuGen
person Gallardo found-01
domain ARG0-of
Tijuana Drug Cartel
ARG1
G
flee-01
ARG0-of
Gold: Gallardo is the fugitive founder of Tijuana Drug Cartel.
person Gallardo found-01
domain ARG0-of
Tijuana Drug Cartel
ARG1
G
flee-01
ARG0-of
Gold: Gallardo is the fugitive founder of Tijuana Drug Cartel.
person Gallardo found-01
domain ARG0-of
Tijuana Drug Cartel
ARG1
G
flee-01
ARG0-of Gallardo
Gold: Gallardo is the fugitive founder of Tijuana Drug Cartel.
person Gallardo found-01
domain ARG0-of
Tijuana Drug Cartel
ARG1
G
flee-01
ARG0-of Gallardo
Gallardo is the founder of
patient agent
Tijuana Drug Cartel is the founder of
patient patient
Gold: Gallardo is the fugitive founder of Tijuana Drug Cartel.
person Gallardo found-01
domain ARG0-of
Tijuana Drug Cartel
ARG1
G
flee-01
ARG0-of Gallardo
Gallardo is the founder of
patient agent
Tijuana Drug Cartel is the founder of
patient patient
Gallardo is the founder of Tijuana Drug Cartel.
agent patient
Tijuana Drug Cartel is the founder of Gallardo.
agent patient