Improving semantic parsing using a robot`s belief

Converse with a robot:
Improving semantic parsing using a robot’s belief
Student: Willem Mattelaer
Promotor: Prof. dr. Luc De Raedt
Daily Supervisors: Davide Nitti
Mathias Verbeke
Introduction
Belief
Semantic parsing: capturing the meaning of a sentence
Deterministic
in a structured way
The robot assumes that each fact in its belief is
true
Problem: Ambiguity, i.e. a sentence has multiple
meanings
Probabilistic
Proposed solution: Using the belief to resolve the
The robot assumes that each fact in its belief is
true with a certain probability
ambiguity to find the correct meaning
Move the pyramid on
the blue cube on the
gray cube
Move the pyramid on
the blue cube on the
gray cube
red cube
red cube
blue pyramid
red cube
red cube
green cube
Move the pyramid on
the blue cube on the
gray cube
(0, 0, 0)
(0, 0, 1)
(0, 0, 2)
(7, 0, 0)
(7, 0, 1)
(7, 0, 2)
red cube
blue cube
red pyramid
red cube
red pyramid
green pyramid
⠇
Approach
Lexicon: set of lexemes, that combine a phrase with meaning.
CCG category
take ` S/N P : y x.action(x, take, y)
Syntax
Semantics
0.6
0.3
0.1
0.8
0.2
0.1
⠇
Combinatory Categorial Grammars (CCG)
Meaning represented by CCG category that captures both syntax and
semantics
(0, 0, 0)
(0, 0, 0)
(0, 0, 0)
(0, 0, 1)
(0, 0, 1)
(0, 0, 2)
Put down the green pyramid.
Transform training
data from RCL to λcalculus
(event: (action: drop) (entity: (color: green) (type: prism)))
x.action(x, drop, det( y.color(y, green) ^ type(y, prism)))
Operators: take one or two categories as input and return a single
category
X/Y : f Y : g ) X : f (g) (>)
Y : g X\Y : f ) X : f (g) (<)
Take
S/N P
z y.action(y, take, z)
the
N/N
x.x
pyramid
N
x.type(x, prism)
N
x.type(x, prism)
NP
det( x.type(x, prism))
S
y.action(y, take, det( x.type(x, prism)))
}
Application
operators
Both the training of the CCG as well as the
parsing are done using the Semantic Parsing
Framework (Artzi et al., 2013)
>
>
Move the pyramid on the blue cube
on the gray cube
Parse sentence
Results
Complete
Partial
17%
x.action(x, move, det( obj1.type(obj1, prism) ^
relation(obj1, above, det( obj2.color(obj2, blue) ^ . . .))) ^ . . .
x.action(x, move, det( obj1.type(obj1, prism))) ^
destination(x, above, det( obj2.color(obj2, blue) ^ . . .))
Without belief
15%
17%
x.action(x, move, det( obj1.type(obj1, prism))) ^
destination(x, above, det( obj2.color(obj2, blue) ^ . . .))
4%
12%
28%
71%
58%
79%
Correct
Wrong
Train CCG
(event: (action: move) (entity: (type: prism)) (destination: (spatialrelation: (relation: above) (entity: (color: blue) (type: cube) (spatialrelation: (relation: above) (entity: (color: gray) (type: cube)))))))
Transform result to
RCL
No result
(event: (action: move) (entity: (type: prism)) (destination: (spatialrelation: (relation: above) (entity: (color: blue) (type: cube) (spatialrelation: (relation: above) (entity: (color: gray) (type: cube)))))))
• Complete: Actual result is completely the same as the expected result
• Partial: Actual result is scored between 0 and 1 according to the
resemblance with the expected result; PARSEVAL (Black et al., 1991)
• Without belief: Uses the same parser, but always returns the parse with
the highest likelihood
Verify the RCL
✓
✓
✓
✗
(entity: (type: prism))
(entity: (color: blue) (type: cube))
(entity: (color: gray) (type: cube))
(entity: (color: blue) (type: cube) (spatial-relation: (relation:
above) (entity: (color: gray) (type: cube))))
•
Ezra Black, Steven P. Abney, D. Flickenger, Claudia Gdaniec, Ralph Grishman, P. Harrison, Donald Hindle, Robert Ingria, Frederick Jelinek, Judith L. Klavans, Mark Liberman, Mitchell P. Marcus, Salim Roukos, Beatrice Santorini, and Tomek
Strzalkowski. 1991. A procedure for quantitatively comparing the syntactic coverage of english grammars. In HLT. Morgan Kaufmann.
•
Yoav Artzi, and Luke Zettlemoyer. 2013. UW SPF: The University of Washington Semantic Parsing Framework.