Weakly Supervised Semantic Parsing with Abstract Examples
Omer Goldman, Veronica Latcinnik, Udi Naveh, Amir Globerson, Jonathan Berant Tel Aviv University ACL, July 2018
Weakly Supervised Semantic Parsing with Abstract Examples Omer - - PowerPoint PPT Presentation
Weakly Supervised Semantic Parsing with Abstract Examples Omer Goldman , Veronica Latcinnik, Udi Naveh, Amir Globerson, Jonathan Berant Tel Aviv University ACL, July 2018 Semantic Parsing h h
Weakly Supervised Semantic Parsing with Abstract Examples
Omer Goldman, Veronica Latcinnik, Udi Naveh, Amir Globerson, Jonathan Berant Tel Aviv University ACL, July 2018
Semantic Parsing
model
CapitalOf.argmax(Type.State β© LocatedIn.US,Population)
π hππ’ ππ‘ π’hπ πππππ’ππ ππ π’hπ πππ πππ‘π’ ππ π‘π’ππ’π? execution
Sacramento
Introduction Semantic parser Abstract examples Results Conclusions
KB:
1
Training with Full Supervision
Training examples:
Introduction Semantic parser Abstract examples Results Conclusions
x: y: CapitalOf.argmax(Type.State β© LocatedIn.US,Population)
$ β¬ Β₯
2
Training with Weak Supervision
Training examples:
Introduction Semantic parser Abstract examples Results Conclusions
x: y: Sacramento
3
Problems with Weak Supervision
Exponential search space
Introduction Semantic parser Abstract examples Results Conclusions
1 3+3*15 5+30 2-2 4+60/3
decoding
4
Problems with Weak Supervision
Spurious programs (Pasupat and Liang, 2016; Guu et al., 2017)
Introduction Semantic parser Abstract examples Results Conclusions
32/4 20-16 4*2-4 50-1 3+85
decoding
4
Correct program: 2*2
CNLVR (Suhr et al., 2017)
Introduction Semantic parser Abstract examples Results Conclusions 6
Semantic Parsing
model
exist(filter(ALL_ITEMS,Ξ»x.IsBlue(x) β© IsSquare(x)))
πhππ π ππ‘ π πππ£π π‘ππ£ππ π execution True
Introduction Semantic parser Abstract examples Results Conclusions
KB:
Binary!
50% spurious
7
Insight
Introduction Semantic parser Abstract examples Results Conclusions
πhππ π ππ‘ ππ¦πππ’ππ§ πππ πππππ πππ πππ πππ’ π’ππ£πhπππ π’hπ ππππ
Equal(1,(filter(ALL_ITEMS,Ξ»x.IsBlack(x) β© IsCircle(x) β© Β¬IsTouchingWall(x))) GreaterEqual(3,(filter(ALL_ITEMS,Ξ»x.IsBlue(x) β© IsTriangle(x) β© Β¬IsTouchingWall(x))) GreaterEqual(1,(filter(ALL_ITEMS,Ξ»x.IsBlue(x) β© IsTriangle(x) β© Β¬IsTouchingWall(x))) LessEqual(3,(filter(ALL_ITEMS,Ξ»x.IsYellow(x) β© IsRectangle(x) β© Β¬IsTouchingWall(x))) Equal(1,(filter(ALL_ITEMS,Ξ»x.IsBlack(x) β© IsCircle(x) β© Β¬IsTouchingWall(x)))
8
Contributions
πhππ π ππ‘ π π· β π·ππππ π· β ππΌπ΅ππΉ
exist(filter(ALL_ITEMS,Ξ»x.IsC-COLOR(x)βIsC-SHAPE(x)))
πhππ π ππ‘ π π§πππππ₯ πππ πππ
exist(filter(ALL_ITEMS,Ξ»x.IsYellow(x)βIsCircle(x)))
Data augmentation
helps search
Abstract cache
tackles spuriousness
CNLVR improvement: 67.8 82.5
Introduction Semantic parser Abstract examples Results Conclusions 9
11
Logical Program
Introduction Semantic parser Abstract examples Results Conclusions
x: z: exist(filter(ALL_BOXES,Ξ»x.ge(3,count(filter(x,Ξ»y.IsBlue(y))))))
Constant Set(Set(Item)) Function Set() Int Function Set() Bool Variable Set(Item) Variable Item Function Set() BoolFunc() Set() 12
Model
Training maximizes log-likelihood of correct programs + discriminative re-ranker
Introduction Semantic parser Abstract examples Results Conclusions
βThere is a yellow triangleβ
Exist(Filter(ALL_ITEMS,Ξ»x.IsYellow(x))) Exist(Filter(ALL_ITEMS,Ξ»x.And(IsYellow(x), IsTriangle(x)))) GraeterEqual(1,count(Filter(ALL_ITEMS,Ξ»x.And(IsYellow(x),IsTriangle(x)))))
Encoder β Decoder Beam search
13
14
Abstraction
πhππ π ππ‘ π πππ£π π‘ππ£ππ π πhππ π ππ‘ π π§πππππ₯ πππ πππ
πhππ π ππ‘ π π· β π·ππππ π· β ππΌπ΅ππΉ exist(filter(ALL_ITEMS,Ξ»x.IsC-COLOR(x)βIsC-SHAPE(x))) Introduction Semantic parser Abstract examples Results Conclusions
exist(filter(ALL_ITEMS,Ξ»x.IsYellow(x)βIsCircle(x))) exist(filter(ALL_ITEMS,Ξ»x.IsBlue(x)βIsRectangle(x)))
15
Analysis
~150 abstract sentences cover 50% of CNLVR.
Introduction Semantic parser Abstract examples Results Conclusions
abstraction
3163 CNLVR sentences ~1300 abstract sentences
16
Abstraction
Data augmentation Abstract cache
Introduction Semantic parser Abstract examples Results Conclusions 17
Data Augmentation
πhππ π ππ‘ π π§πππππ₯ πππ πππ
πhππ π ππ‘ π π· β π·ππππ π· β ππΌπ΅ππΉ
exist(filter(ALL_ITEMS,Ξ»x.IsC-COLOR(x)βIsC-SHAPE(x)))
πhππ π ππ‘ π πππ£π π πππ’πππππ
exist(filter(ALL_ITEMS,Ξ»x.IsBlue(x)βIsSquare(x)))
πhππ π ππ‘ π π§πππππ₯ π’π ππππππ
exist(filter(ALL_ITEMS,Ξ»x.IsYellow(x)βIsTriangle(x)))
πhππ π ππ‘ π πππππ πππ πππ
exist(filter(ALL_ITEMS,Ξ»x.IsBlack(x)βIsCircle(x)))
Introduction Semantic parser Abstract examples Results Conclusions 18
Training Procedure
~100 Abstract examples ~6000 Instantiated examples Supervised model 3163 CNLVR training examples Weakly-supervised model
Introduction Semantic parser Abstract examples Results Conclusions
Generation Supervised training Weakly supervised training initialization
(abs. sent., abs. prog.) (sentence, program) (sentence, answer)
19
Abstract Cache
Introduction Semantic parser Abstract examples Results Conclusions 20
Reward Tying
Introduction Semantic parser Abstract examples Results Conclusions
50% spurious
21
:False :False
6.25% spurious Introduction Semantic parser Abstract examples Results Conclusions
Reward Tying
22
23
Models
Majority label (True) Max Entropy classifier on extracted features Supervised trained model (+Re-ranker) Weakly supervised trained model (+Re-ranker)
Introduction Semantic parser Abstract examples Results Conclusions
Baselines (Suhr et al., 2017)
24
Results - Public test set
Introduction Semantic parser Abstract examples Results Conclusions
Majority MaxEnt Sup. Sup.+Rerank W.Sup. W.Sup.+Rerank
65 60.1 51.8 38.3 84 81.7 76.6 66.9 67.7 56.2
Test-P Accuracy Test-P Consistency
25
Ablations
Introduction Semantic parser Abstract examples Results Conclusions
No data ugmentation Abstract weakly pervised parser
26
Ablations
Introduction Semantic parser Abstract examples Results Conclusions
W.Sup.+Rerank
67.4 56.1 41.2 7.1 85.7 77.2 71.4 58.2
Dev Accuracy Dev Consistency
Cache addition Data augmentation addition
27
28
Conclusions
Similar ideas in: Dong and Lapata (2018) and Zhang et al. (2017) Automation would be useful
Introduction Semantic parser Abstract examples Results Conclusions 29
Closed domains Weak supervision Abstraction
Better training Facilitate information sharing
https://github.com/udiNaveh/nlvr_tau_nlp_final_proj