scaling semantic parsers with on the fly ontology matching
play

Scaling Semantic Parsers with On-the-Fly Ontology Matching Tom - PowerPoint PPT Presentation

Scaling Semantic Parsers with On-the-Fly Ontology Matching Tom Kwiakowski, Eunsol Choi, Yoav Artzi, Luke Zettlemoyer. Semantic Parsing Q: How many people live in Seattle? Semantic Parser MR: 620,778 Open Domain QA Q Who managed Liverpool


  1. Scaling Semantic Parsers with On-the-Fly Ontology Matching Tom Kwiakowski, Eunsol Choi, Yoav Artzi, Luke Zettlemoyer.

  2. Semantic Parsing Q: How many people live in Seattle? Semantic Parser MR: 620,778

  3. Open Domain QA Q Who managed Liverpool F.C. from 2004 to june 2010? A Rafael Benitez Q What architectural style is the Brooklyn Bridge? A Gothic Revival architecture Q What are the symptoms of prostate cancer? A {Hematuria, Nocturia, Dysuria, ... } Q How many people ride the monorail in Seattle daily? A 7,000

  4. Open Domain QA Q Who managed Liverpool F.C. from 2004 to june 2010? is a community authored A Rafael Benitez knowledge base with: Q What architectural style is the Brooklyn Bridge? ‣ 40 Million Entities A Gothic Revival architecture ‣ 2 Billion Facts ‣ 20,000 Relations Q What are the symptoms of prostate cancer? ‣ 10,000 Types A {Hematuria, Nocturia, Dysuria, ... } ‣ 100 Domains Q How many people ride the monorail in Seattle daily? A 7,000

  5. Query is Domain Dependent How many people live in Seattle?

  6. Query is Domain Dependent How many people live in Seattle? Person Home Eunsol Seattle Luke Seattle Jane Boston

  7. Query is Domain Dependent How many people live in Seattle? Person Home Eunsol Seattle Luke Seattle Jane Boston City Population Seattle 620778 Boston 636479

  8. Query is Domain Dependent How many people live in Seattle? • Requires different syntax for different domains ➡ Grammars do not generalize well Person Home ➡ Grammars are hard to learn Eunsol Seattle Luke Seattle Jane Boston City Population Seattle 620778 Boston 636479

  9. Query is Domain Dependent How many people live in Seattle? City Population Seattle 450,000 Boston 750,000 How many people have won the Nobel peace prize? Person Award Nelson M. Nobel P.P. Mother T. Nobel P.P. Leymah G. Nobel P.P.

  10. Query is Domain Dependent How many people live in Seattle? City Population Seattle 620778 Boston 636479 How many people have won the Nobel peace prize? Person Award Nelson M. Nobel P.P. Mother T. Nobel P.P. Leymah G. Nobel P.P.

  11. 2 Stage Semantic Parsing How many people live in Seattle?

  12. 2 Stage Semantic Parsing 1 . Domain independent, linguistically motivated parse. How many people live in Seattle?

  13. 2 Stage Semantic Parsing 2 . Domain specific ontology match. How many people live in Seattle? Person Home Eunsol Seattle Luke Seattle Jane Boston

  14. 2 Stage Semantic Parsing 2 . Domain specific ontology match. How many people live in Seattle? Person Home Eunsol Seattle Luke Seattle Jane Boston City Population Seattle 620778 Boston 636479

  15. 2 Stage Semantic Parsing 2 . Domain specific ontology match. How many people live in Seattle? • All domains use same syntax that generalizes well • Ontology match can be guided by the structure of the underspecified logical form Person Home Eunsol Seattle Luke Seattle Jane Boston City Population Seattle 620778 Boston 636479

  16. Overview • 2 stage semantic parsing ➡ Domain independent parsing ➡ Domain dependent ontology matching • Modeling and Inference • Learning from Question/Answer pairs • Experiments

  17. 2 Stage Semantic Parsing 1 . Domain independent, linguistically motivated parse. 2 . Domain specific ontology match. How many people live in Seattle? Person Home Eunsol Seattle Luke Seattle Jane Boston City Population Seattle 620778 Boston 636479

  18. 2 Stage Semantic Parsing Domain Independent Parse How many people live in Seattle S/ ( S \ NP ) /N N S \ NP S \ S/NP NP Domain Independent Parse λ f λ g λ x.eq ( x, count ( λ x.people ( x ) λ x λ ev.live ( x, ev ) λ x λ f ∃ ev.in ( ev, x ) seattle λ y.g ( y ) ∧ f ( y ))) ∧ f ( ev ) > > < B > S λ x.eq ( x, count ( λ y. ∃ ev.people ( y ) ∧ live ( y, ev ) ∧ in ( ev, seattle ))) Ontology Match λ x.eq ( x, count ( λ y. ∃ ev.people ( y ) ∧ live ( y, ev ) ∧ in ( ev, seattle ))) Structure Match λ x.how many people live in ( seattle, x ) Ontology Match λ x.how many people live in ( seattle , x ) Constant Matches for . λ x. population ( seattle , x )

  19. 2 Stage Semantic Parsing Domain Independent Parse How many people live in Seattle S/ ( S \ NP ) /N N S \ NP S \ S/NP NP λ f λ g λ x.eq ( x, count ( λ x.people ( x ) λ x λ ev.live ( x, ev ) λ x λ f ∃ ev.in ( ev, x ) seattle λ y.g ( y ) ∧ f ( y ))) ∧ f ( ev ) > > < B > S λ x.eq ( x, count ( λ y. ∃ ev.people ( y ) ∧ live ( y, ev ) ∧ in ( ev, seattle ))) Ontology Match λ x.eq ( x, count ( λ y. ∃ ev.people ( y ) ∧ live ( y, ev ) ∧ in ( ev, seattle ))) Structure Match λ x.how many people live in ( seattle, x ) Ontology Match λ x.how many people live in ( seattle , x ) Constant Matches for . λ x. population ( seattle , x )

  20. 2 Stage Semantic Parsing Domain Independent Parse How many people live in Seattle S/ ( S \ NP ) /N N S \ NP S \ S/NP NP λ f λ g λ x.eq ( x, count ( λ x.people ( x ) λ x λ ev.live ( x, ev ) λ x λ f ∃ ev.in ( ev, x ) seattle λ y.g ( y ) ∧ f ( y ))) ∧ f ( ev ) > > < B > S λ x.eq ( x, count ( λ y. ∃ ev.people ( y ) ∧ live ( y, ev ) ∧ in ( ev, seattle ))) Ontology Match λ x.eq ( x, count ( λ y. ∃ ev.people ( y ) ∧ live ( y, ev ) ∧ in ( ev, seattle ))) Structure Match λ x.how many people live in ( seattle, x ) λ x.how many people live in ( seattle , x ) Constant Matches for . λ x. population ( seattle , x )

  21. CCG Parsing CCG Lexicon

  22. CCG Parsing Do not have lexicon for every domain Use Wiktionary for syntactic cues ➡ Parse to underspecified semantics ➡ CCG Lexicon

  23. Domain Independent Parsing 49 domain independent lexical items: Word Syntax Underspecified semantics How many S/ ( S \ NP ) /N : λ f λ g λ x.eq ( x, count ( λ y.f ( y ) ^ g ( y ))) ` What S/ ( S \ NP ) /N : λ f λ g λ x.f ( x ) ^ g ( x ) ` most NP/N : λ f.max count ( λ y.f ( y )) ` etc. 56 underspecified lexical categories: Part-of-Speech Syntax Underspecified semantics proper noun NP : C ` noun N : λ x.P ( x ) ` noun N/N : λ f λ x.f ( x ) ^ P ( x ) ` verb S \ NP : λλ ev.P ( x, ev ) ` verb S \ NP/NP : λ x λ y λ ev.P ( y, x, ev ) ` preposition N \ N/NP : λ f λ x λ y.P ( y, x ) ^ f ( y ) ` preposition S \ S/NP : λ f λ x 9 ev.P ( ev, x ) ^ f ( ev ) ` etc.

  24. Domain Independent Parsing How many people live in Seattle S/ ( S \ NP ) /N N S \ NP S \ S/NP NP λ f λ g λ x.eq ( x, count ( λ x.P ( x ) λ x λ ev.P ( x, ev ) λ x λ f ∃ ev.P ( ev, x ) ∧ f ( ev ) C λ y.g ( y ) ∧ f ( y ))) > > S/ ( S \ NP ) S \ S λ g λ x.eq ( x, count ( λ y.g ( y ) ∧ P ( y ))) λ f ∃ ev.P ( ev, C ) ∧ f ( ev ) < B S \ NP λ x ∃ ev.P ( x, ev ) ∧ P ( ev, C ) > S λ x.eq ( x, count ( λ y.P ( y ) ∧ ∃ ev.P ( y, ev ) ∧ P ( ev, C ))) λ x.eq ( x, count ( λ y. ∃ ev.people ( y ) ∧ live ( y, ev ) ∧ in ( ev, seattle ))) 24

  25. Domain Independent Parsing How many people live in Seattle S/ ( S \ NP ) /N N S \ NP S \ S/NP NP λ f λ g λ x.eq ( x, count ( λ x.P ( x ) λ x λ ev.P ( x, ev ) λ x λ f ∃ ev.P ( ev, x ) ∧ f ( ev ) C λ y.g ( y ) ∧ f ( y ))) > > S/ ( S \ NP ) S \ S λ g λ x.eq ( x, count ( λ y.g ( y ) ∧ P ( y ))) λ f ∃ ev.P ( ev, C ) ∧ f ( ev ) < B S \ NP λ x ∃ ev.P ( x, ev ) ∧ P ( ev, C ) > S λ x.eq ( x, count ( λ y.P ( y ) ∧ ∃ ev.P ( y, ev ) ∧ P ( ev, C ))) λ x.eq ( x, count ( λ y. ∃ ev.people ( y ) ∧ live ( y, ev ) ∧ in ( ev, seattle ))) Use Wiktionary to get part-of-speech set for words 25

  26. Domain Independent Parsing 49 domain independent lexical items: Word Syntax Underspecified semantics How many S/ ( S \ NP ) /N : λ f λ g λ x.eq ( x, count ( λ y.f ( y ) ^ g ( y ))) ` What S/ ( S \ NP ) /N : λ f λ g λ x.f ( x ) ^ g ( x ) ` most NP/N : λ f.max count ( λ y.f ( y )) ` etc. 56 underspecified lexical categories: Part-of-Speech Syntax Underspecified semantics proper noun NP : C ` noun N : λ x.P ( x ) ` noun N/N : λ f λ x.f ( x ) ^ P ( x ) ` verb S \ NP : λλ ev.P ( x, ev ) ` verb S \ NP/NP : λ x λ y λ ev.P ( y, x, ev ) ` preposition N \ N/NP : λ f λ x λ y.P ( y, x ) ^ f ( y ) ` preposition S \ S/NP : λ f λ x 9 ev.P ( ev, x ) ^ f ( ev ) ` etc.

  27. Domain Independent Parsing How many people live in Seattle S/ ( S \ NP ) /N N S \ NP S \ S/NP NP λ f λ g λ x.eq ( x, count ( λ x.P ( x ) λ x λ ev.P ( x, ev ) λ x λ f ∃ ev.P ( ev, x ) ∧ f ( ev ) C λ y.g ( y ) ∧ f ( y ))) > > S/ ( S \ NP ) S \ S λ g λ x.eq ( x, count ( λ y.g ( y ) ∧ P ( y ))) λ f ∃ ev.P ( ev, C ) ∧ f ( ev ) < B S \ NP λ x ∃ ev.P ( x, ev ) ∧ P ( ev, C ) > S λ x.eq ( x, count ( λ y.P ( y ) ∧ ∃ ev.P ( y, ev ) ∧ P ( ev, C ))) λ x.eq ( x, count ( λ y. ∃ ev.people ( y ) ∧ live ( y, ev ) ∧ in ( ev, seattle )))

Recommend


More recommend