scaling semantic parsers with on-the-fly ontology...

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

Upload: others

Post on 05-Jul-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Scaling Semantic Parsers with On-the-Fly Ontology Matching

Tom Kwiakowski, Eunsol Choi, Yoav Artzi, Luke Zettlemoyer.

Page 2: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Semantic Parsing

Semantic Parser

Q: How many people live in Seattle?

MR:

620,778

Page 3: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Open Domain QA

7,000

What are the symptoms of prostate cancer?

What architectural style is the Brooklyn Bridge?

How many people ride the monorail in Seattle daily?

Who managed Liverpool F.C. from 2004 to june 2010?QA

QA

QA

QA

Rafael Benitez

Gothic Revival architecture

{Hematuria, Nocturia, Dysuria, ... }

Page 4: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Open Domain QA

7,000

What are the symptoms of prostate cancer?

What architectural style is the Brooklyn Bridge?

How many people ride the monorail in Seattle daily?

Who managed Liverpool F.C. from 2004 to june 2010?QA

QA

QA

QA

Rafael Benitez

Gothic Revival architecture

{Hematuria, Nocturia, Dysuria, ... }

‣ 40 Million Entities‣ 2 Billion Facts‣ 20,000 Relations‣ 10,000 Types‣ 100 Domains

is a community authored knowledge base with:

Page 5: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

How many people live in Seattle?

Query is Domain Dependent

Page 6: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

How many people live in Seattle?

Person HomeEunsol SeattleLuke SeattleJane Boston

Query is Domain Dependent

Page 7: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

How many people live in Seattle?

City PopulationSeattle 620778Boston 636479

Person HomeEunsol SeattleLuke SeattleJane Boston

Query is Domain Dependent

Page 8: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

How many people live in Seattle?

City PopulationSeattle 620778Boston 636479

Person HomeEunsol SeattleLuke SeattleJane Boston

• Requires different syntax for different domains➡ Grammars do not generalize well➡ Grammars are hard to learn

Query is Domain Dependent

Page 9: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

City PopulationSeattle 450,000Boston 750,000

How many people live in Seattle?

Person AwardNelson M. Nobel P.P.Mother T. Nobel P.P.Leymah G. Nobel P.P.

How many people have won the Nobel peace prize?

Query is Domain Dependent

Page 10: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

City PopulationSeattle 620778Boston 636479

How many people live in Seattle?

Person AwardNelson M. Nobel P.P.Mother T. Nobel P.P.Leymah G. Nobel P.P.

How many people have won the Nobel peace prize?

Query is Domain Dependent

Page 11: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

How many people live in Seattle?

2 Stage Semantic Parsing

Page 12: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

How many people live in Seattle?

2 Stage Semantic Parsing1. Domain independent, linguistically motivated parse.

Page 13: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

How many people live in Seattle?

2 Stage Semantic Parsing

Person HomeEunsol SeattleLuke SeattleJane Boston

2. Domain specific ontology match.

Page 14: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

City PopulationSeattle 620778Boston 636479

How many people live in Seattle?

2 Stage Semantic Parsing

Person HomeEunsol SeattleLuke SeattleJane Boston

2. Domain specific ontology match.

Page 15: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

City PopulationSeattle 620778Boston 636479

How many people live in Seattle?

2 Stage Semantic Parsing

Person HomeEunsol SeattleLuke SeattleJane Boston

2. Domain specific ontology match.

• All domains use same syntax that generalizes well

• Ontology match can be guided by the structure of the underspecified logical form

Page 16: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

• 2 stage semantic parsing

➡ Domain independent parsing

➡ Domain dependent ontology matching

• Modeling and Inference

• Learning from Question/Answer pairs

• Experiments

Overview

Page 17: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

City PopulationSeattle 620778Boston 636479

How many people live in Seattle?

2 Stage Semantic Parsing

Person HomeEunsol SeattleLuke SeattleJane Boston

1. Domain independent, linguistically motivated parse. 2. Domain specific ontology match.

Page 18: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Constant Matchesfor .

2 Stage Semantic ParsingHow 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�f9ev.in(ev, x) seattle

�y.g(y)^ f(y))) ^ f(ev)> >

<B>

S�x.eq(x, count(�y.9ev.people(y)^ live(y, ev)^ in(ev, seattle)))

Domain Independent Parse

Domain Independent Parse

Ontology Match

�x.eq(x, count(�y.9ev.people(y)^ live(y, ev)^ in(ev, seattle)))

�x.how many people live in(seattle, x)

�x.how many people live in(seattle, x)

�x.population(seattle, x)

Structure Match

Ontology Match

Page 19: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Constant Matchesfor .

2 Stage Semantic ParsingHow 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�f9ev.in(ev, x) seattle

�y.g(y)^ f(y))) ^ f(ev)> >

<B>

S�x.eq(x, count(�y.9ev.people(y)^ live(y, ev)^ in(ev, seattle)))

Domain Independent Parse

Ontology Match

�x.eq(x, count(�y.9ev.people(y)^ live(y, ev)^ in(ev, seattle)))

�x.how many people live in(seattle, x)

�x.how many people live in(seattle, x)

�x.population(seattle, x)

Structure Match

Ontology Match

Page 20: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Constant Matchesfor .

2 Stage Semantic ParsingHow 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�f9ev.in(ev, x) seattle

�y.g(y)^ f(y))) ^ f(ev)> >

<B>

S�x.eq(x, count(�y.9ev.people(y)^ live(y, ev)^ in(ev, seattle)))

Domain Independent Parse

Ontology Match

�x.eq(x, count(�y.9ev.people(y)^ live(y, ev)^ in(ev, seattle)))

�x.how many people live in(seattle, x)

�x.how many people live in(seattle, x)

�x.population(seattle, x)

Structure Match

Page 21: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

CCGLexicon

CCG Parsing

Page 22: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

CCGLexicon

CCG Parsing

Do not have lexicon for every domain

Use Wiktionary for syntactic cues

Parse to underspecified semantics

Page 23: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

49 domain independent lexical items: Word Syntax Underspecified semanticsHow 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:

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�x9ev.P (ev, x) ^ f(ev)

etc.

Part-of-Speech Syntax Underspecified semantics

Domain Independent Parsing

Page 24: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Domain Independent ParsingHow 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�f9ev.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))) �f9ev.P (ev, C) ^ f(ev)

<BS\NP

�x9ev.P (x, ev) ^ P (ev, C)>

S

�x.eq(x, count(�y.P (y) ^ 9ev.P (y, ev) ^ P (ev, C)))

�x.eq(x, count(�y.9ev.people(y) ^ live(y, ev) ^ in(ev, seattle)))

24

Page 25: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Domain Independent ParsingHow 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�f9ev.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))) �f9ev.P (ev, C) ^ f(ev)

<BS\NP

�x9ev.P (x, ev) ^ P (ev, C)>

S

�x.eq(x, count(�y.P (y) ^ 9ev.P (y, ev) ^ P (ev, C)))

�x.eq(x, count(�y.9ev.people(y) ^ live(y, ev) ^ in(ev, seattle)))

25

Use Wiktionary to get part-of-speech set for words

Page 26: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

49 domain independent lexical items: Word Syntax Underspecified semanticsHow 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:

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�x9ev.P (ev, x) ^ f(ev)

etc.

Part-of-Speech Syntax Underspecified semantics

Domain Independent Parsing

Page 27: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Domain Independent ParsingHow 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�f9ev.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))) �f9ev.P (ev, C) ^ f(ev)

<BS\NP

�x9ev.P (x, ev) ^ P (ev, C)>

S

�x.eq(x, count(�y.P (y) ^ 9ev.P (y, ev) ^ P (ev, C)))

�x.eq(x, count(�y.9ev.people(y) ^ live(y, ev) ^ in(ev, seattle)))

Page 28: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Domain Independent ParsingHow 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�f9ev.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))) �f9ev.P (ev, C) ^ f(ev)

<BS\NP

�x9ev.P (x, ev) ^ P (ev, C)>

S

�x.eq(x, count(�y.P (y) ^ 9ev.P (y, ev) ^ P (ev, C)))

�x.eq(x, count(�y.9ev.people(y) ^ live(y, ev) ^ in(ev, seattle)))

Page 29: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Domain Independent ParsingHow 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�f9ev.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))) �f9ev.P (ev, C) ^ f(ev)

<BS\NP

�x9ev.P (x, ev) ^ P (ev, C)>

S

�x.eq(x, count(�y.P (y) ^ 9ev.P (y, ev) ^ P (ev, C)))

�x.eq(x, count(�y.9ev.people(y) ^ live(y, ev) ^ in(ev, seattle)))

Page 30: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Domain Independent ParsingHow 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�f9ev.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))) �f9ev.P (ev, C) ^ f(ev)

<BS\NP

�x9ev.P (x, ev) ^ P (ev, C)>

S

�x.eq(x, count(�y.P (y) ^ 9ev.P (y, ev) ^ P (ev, C)))

�x.eq(x, count(�y.9ev.people(y) ^ live(y, ev) ^ in(ev, seattle)))

String labels signify source words, not semantic constants.

Page 31: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Constant Matchesfor .

2 Step Semantic ParsingHow 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�f9ev.in(ev, x) seattle

�y.g(y)^ f(y))) ^ f(ev)> >

<B>

S�x.eq(x, count(�y.9ev.people(y)^ live(y, ev)^ in(ev, seattle)))

Domain Independent Parse

Ontology Match

�x.eq(x, count(�y.9ev.people(y)^ live(y, ev)^ in(ev, seattle)))

�x.how many people live in(seattle, x)

�x.how many people live in(seattle, x)

�x.population(seattle, x)

Structure Match

Page 32: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Structural MatchCollapse and expand subexpressions in underspecified logical form with operators that:

1. Collapse simple typed sub-expression

2. Collapse complex typed sub-expression3. Expand predicate

New example

�x.eq(x, count(�y.people(y) ^ 9e.ride(y, ◆z.monorail(z) ^ in(z, seattle), e) ^ daily(e)))

How many people ride the monorail in Seattle daily?

Page 33: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

1. Find subexpression with type allowed in KB

2. Replace with new underspecified constant

�x.eq(x, count(�y.people(y) ^ 9e.ride(y, ◆z.monorail(z) ^ in(z, seattle), e) ^ daily(e)))

Structural Match

Page 34: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

1. Find subexpression with type allowed in KB

2. Replace with new underspecified constant

�x.eq(x, count(�y.people(y) ^ 9e.ride(y, ◆z.monorail(z) ^ in(z, seattle), e) ^ daily(e)))

�x.eq(x, count(�y.people(y) ^ 9e.ride(y,monorail in seattle), e) ^ daily(e)))

entity typed subexpression

Structural Match

Page 35: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

1. Find subexpression with type allowed in KB

2. Replace with new underspecified constant

�x.eq(x, count(�y.people(y) ^ 9e.ride(y, ◆z.monorail(z) ^ in(z, seattle), e) ^ daily(e)))

�x.eq(x, count(�y.people(y) ^ 9e.ride(y,monorail in seattle), e) ^ daily(e)))

integer typed subexpression

�x.eq(x, how many people ride daily the monorail in seattle)

Structural Match

Page 36: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

1. Find subexpression with type allowed in KB

2. Replace with new underspecified constant

�x.eq(x, count(�y.people(y) ^ 9e.ride(y, ◆z.monorail(z) ^ in(z, seattle), e) ^ daily(e)))

�x.eq(x, count(�y.people(y) ^ 9e.ride(y,monorail in seattle), e) ^ daily(e)))

integer typed subexpression

�x.eq(x, how many people ride daily the monorail in seattle)

Structural Match

Page 37: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

1. Find subexpression with type allowed in KB

2. Replace with new underspecified constant

�x.eq(x, count(�y.people(y) ^ 9e.ride(y, ◆z.monorail(z) ^ in(z, seattle), e) ^ daily(e)))

�x.eq(x, count(�y.people(y) ^ 9e.ride(y,monorail in seattle), e) ^ daily(e)))

�x.eq(x, how many people ride daily the monorail in seattle)

Structural Match

Page 38: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

1. Find subexpression with type allowed in KB

2. Replace with new underspecified constant

�x.eq(x, count(�y.people(y) ^ 9e.ride(y,monorail in seattle), e) ^ daily(e)))

Structural Match

Page 39: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

1. Find subexpression with type allowed in KB

2. Replace with new underspecified constant

�x.eq(x, count(�y.people(y) ^ 9e.ride(y,monorail in seattle), e) ^ daily(e)))

Structural Match

Page 40: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

1. Find subexpression with type allowed in KB

2. Replace with new underspecified constant

�x.eq(x, count(�y.people(y) ^ 9e.ride(y,monorail in seattle), e) ^ daily(e)))

�x.eq(x, count(�y.people(y) ^ ride daily(y,monorail in seattle)))

<e,<e,t>> typed subexpression

Structural Match

Page 41: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

1. Find subexpression with type allowed in KB

2. Replace with new underspecified constant

<i,<e,t>> typed subexpression

�x.eq(x, count(�y.people(y) ^ 9e.ride(y,monorail in seattle), e) ^ daily(e)))

�x.eq(x, count(�y.people(y) ^ ride daily(y,monorail in seattle)))

�x.how many people ride daily(the monorail in seattle, x)

Structural Match

Page 42: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

1. Find subexpression with type allowed in KB

2. Replace with new underspecified constant

�x.eq(x, count(�y.people(y) ^ 9e.ride(y,monorail in seattle), e) ^ daily(e)))

�x.eq(x, count(�y.people(y) ^ ride daily(y,monorail in seattle)))

�x.how many people ride daily(the monorail in seattle, x)

Structural Match

Page 43: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

1. Find subexpression with type allowed in KB

�x.eq(x, count(�y.people(y) ^ 9e.ride(y,monorail in seattle), e) ^ daily(e)))

�x.how many people ride daily(the monorail in seattle, x)

Structural Match

Page 44: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

�x.how many people ride daily(the monorail in seattle, x)

Structural Match

Page 45: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Constant Match

Replace constants with constants from KB

�x.how many people ride daily(the monorail in seattle, x)

Assume constants have English string labels!

Page 46: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Constant Match

Replace constants with constants from KB

�x.how many people ride daily(the monorail in seattle, x)

Page 47: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Constant Match

Replace constants with constants from KB

�x.how many people ride daily(the monorail in seattle, x)

�x.how many people ride daily(seattle monorail, x)

Page 48: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Constant Match

Replace constants with constants from KB

�x.how many people ride daily(the monorail in seattle, x)

�x.how many people ride daily(seattle monorail, x)

�x.transit system/daily riders(seattle monorail, x)

Page 49: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

• 2 stage semantic parsing

➡ Domain independent parsing

➡ Domain dependent ontology matching

• Modeling and Inference

• Learning from Question/Answer pairs

• Experiments

Overview

Page 50: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Constant Matchesfor .

2 Stage Semantic ParsingHow 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�f9ev.in(ev, x) seattle

�y.g(y)^ f(y))) ^ f(ev)> >

<B>

S�x.eq(x, count(�y.9ev.people(y)^ live(y, ev)^ in(ev, seattle)))

Domain Independent Parse

Ontology Match

�x.eq(x, count(�y.9ev.people(y)^ live(y, ev)^ in(ev, seattle)))

�x.how many people live in(seattle, x)

�x.how many people live in(seattle, x)

�x.population(seattle, x)

Structure Match

z}|

{

d

Page 51: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Scoring Derivations

score(d) = �(d)✓

Derivations are scored using a linear model: d

with feature vector that decomposes over:

• Constant match- Lexical features- Knowledge base features

• Structural match• Domain independent parse

�(d)

Page 52: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

• Exact string match• Stemmed string match• Synonym match• Wiktionary gloss overlap

When did Prairie Home Companion first air?

�x.radio program.first broadcast(prairie home companion, x)

�x.when first air(prarie home companion, x)

How high is Niagara Falls? �x.high(niagara falls, x)

�x.location.geocode.elevation(niagara falls, x)

Lexical Features

Page 53: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

• Exact string match.• Stemmed string match.• Synonym match.• Wiktionary gloss overlap.

When did Prairie Home Companion first air?

�x.radio program.first broadcast(prairie home companion, x)

�x.when first air(prarie home companion, x)

How high is Niagara Falls? �x.high(niagara falls, x)

�x.location.geocode.elevation(niagara falls, x)

Lexical Featureselevation (plural elevations)1. The act of raising from a lower place, condition, or quality to a higher; said of material

things, persons, the mind, the voice, etc.; as, the elevation of grain; elevation to a throne; elevation to sainthood; elevation of mind, thoughts, or character.

2. The condition of being or feeling elevated; heightened; exaltation.high (comparative higher, superlative highest)1. Being elevated in position or status, a state of being above many things.  [quotations ▼]

Page 54: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

seattle_monorail

7000

monorail

type

daily_riders

yamaha_motorsport

motorbike_rider

valentino_rossi

Test logical structure to see if it can exist in knowledge base.

Knowledge Base Features

Page 55: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

seattle_monorail

7000

monorail

type

daily_riders

yamaha_motorsport

motorbike_rider

valentino_rossi

Predicted Logical Form

�x.daily riders(seattle monorail, x)

�x.motorbike rider(seattle monorail, x)

Knowledge Base Features

Test logical structure to see if it can exist in knowledge base.

Page 56: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

seattle_monorail

7000

monorail

type

daily_riders

yamaha_motorsport

motorbike_rider

valentino_rossi

Predicted Logical Form

�x�y.daily riders(x, y) ^ monorail(x)

�x�y.motorbike rider(x, y) ^ monorail(x)

Knowledge Base Features

Test logical structure to see if it can exist in knowledge base.

Page 57: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

InferenceOntology matching step is:

• Exponential in arity of most complex predicate

• Polynomial in number of logical symbols

• Linear in the size of the knowledge base

➡ Use dynamic programming➡ Prune heavily according to local score➡ Call constant matching operators greedily

Page 58: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

2 Stage Semantic ParsingHow 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�f9ev.in(ev, x) seattle

�y.g(y)^ f(y))) ^ f(ev)> >

<B>

S�x.eq(x, count(�y.9ev.people(y)^ live(y, ev)^ in(ev, seattle)))

Domain Independent Parse

Ontology Match

�x.eq(x, count(�y.9ev.people(y)^ live(y, ev)^ in(ev, seattle)))

�x.population(seattle, x)

z}|

{

d

�x.eq(x, count(�y.9ev.people(y)^ live(y, ev)^ in(ev, seattle)))

�x.how many people live in(seattle, x)

Page 59: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

• 2 stage semantic parsing

➡ Domain independent parsing

➡ Domain dependent ontology matching

• Modeling and Inference

• Learning from Question/Answer pairs

• Experiments

Overview

Page 60: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Learning{(xi, ai) : i = 1, . . . , n}Q/A pairs

Knowledge Base, Wiktionary, Underspecified Lexicon

Input

Algorithm

i = 1, . . . , nFor :

✓ = ✓ +1

|C|X

c2C

�(c)� 1

|W |X

w2W

�(w)

Max scoring correct parses of

Margin violating incorrect parses of W

C xi

xi

Page 61: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

• 2 stage semantic parsing

➡ Domain independent parsing

➡ Domain dependent ontology matching

• Modeling and Inference

• Learning from Question/Answer pairs

• Experiments

Overview

Page 62: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

ExperimentsQ/A from databases - evaluate on exact answer match

Freebase917- 642 training sentences, 275 test sentences- 135 million facts, 18 million entities, 2000 relations

GeoQuery- 600 training sentences, 280 test sentence- 14018 facts, 3839 entities, 12 relations- High degree of compositional complexity

Feature initialization:Lexical - Prefer exact and partial string matchKnowledge base - Prefer concepts in knowledge base

Page 63: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Related WorkLearning From Q/A Pairs:

‣ Clarke et.al. 2010‣ Goldwasser et.al. 2011‣ Liang et.al. 2011 (DCS)‣ Berant et.al. 2013

Learning CCG from Labelled Logical Forms:‣ Kwiatkowski et.al. 2011 (FUBL) ‣ Cai & Yates 2013

Page 64: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Related WorkLearning From Q/A Pairs:

‣ Clarke et.al. 2010‣ Goldwasser et.al. 2011‣ Liang et.al. 2011 (DCS)‣ Berant et.al. 2013

Learning CCG from Labelled Logical Forms:‣ Kwiatkowski et.al. 2011 (FUBL) ‣ Cai & Yates 2013

G

G

Page 65: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

ExperimentsFreebase 917

50

54

58

62

66

70

Cai & Yates Berant et.al. Our Approach

Page 66: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

ExperimentsGeoQuery

70

75

80

85

90

95

100

FUBL DCS DCS with L+ Our Approach

Page 67: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Example Parses

How many operating systems is Adobe Flash compatible with?

�x.eq(x, count(�y.software compatibility

.operating system(adobe flash, y)))

Page 68: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Example Parses

Who is the CEO of Save-A-Lot?

�x.person(x)^9y.organization(y, savealot)^board member.leader of(x, y) ^ leadership.role(y, ceo)

Page 69: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Example ErrorsHow many children does Jerry Seinfeld have?

�x.eq(x, count(�y.person.children(y, jerry seinfeld)))

�x.eq(x, count(�y.person.children(jerry seinfeld, y)))

Target:

Prediction:

Page 70: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Example ErrorsWhat programming languages were used for AOL instant messenger?

Target:

Prediction:

�x.languages used(aol instant messenger, x)

^programming language(x)

�x.languages used(aol instant messenger, x)

Page 71: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Future Work

Multiple databases:Who’s going to play Batman in the next movie?

When’s the next flight from Seattle to London?What’s the best restaurant near the Grand Hyatt? Parser

Information Extraction:Alan Turing was a British mathematician, logician, cryptanalyst, and computer scientist.

nationality(AT, UK) ^ notable for(AT, mathematian)

^profession(AT, logic)) ^ research(AT, cryptanalysm)

^notable type(AT, compsci)

Page 72: Scaling Semantic Parsers with On-the-fly Ontology Matchinghomes.cs.washington.edu/~eunsol/papers/emnlp2013slides.pdf · 2018-11-12 · Open Domain QA 7,000 What are the symptoms of

Questions

?