Transcript Slide 1
Boeing’s Language Understanding
Engine
(BLUE)
A Quick Tutorial
Peter Clark
Phil Harrison
(Boeing Phantom Works)
What is a Semantic Representation?
(2.1) "Cervical cancer is caused by a virus."
“Leftist”
“Rightist”
Semantic structure close
to syntactic structure,
need more downstream
interpretation
causes(virus01,c-cancer01)
Semantics more
explicit.
forall c isa(c,c-cancer) →
exists e,v isa(e,event), isa(v,virus),
involves(e,v), causes(e,c)
forall c isa(c,c-cancer) →
exists v isa(v,virus), causes(v,c)
Semantic Formalism
Ground (Skolemized) first-order logic assertions
No quantification (left for downstream processing)
“An object is thrown from a cliff.”
isa(object01,object_n1),
isa(cliff01,cliff_n1),
isa(throw01,throw_v1),
object(throw01,object01),
origin(throw01,cliff01).
Embedding used for modals
(6.3) "The farm hopes to make a profit"
isa(farm, farm_n1), …..
agent(hope01,farm01),
object(hope01,[
agent(make02,farm01),
object(make02,profit02)])
BLUE’s Pipeline
“An object is thrown from a cliff”
Parser & LF Generator
Initial Logic Generator
Word Sense Disambiguation
Semantic Role Labeling
Coreference Resolution
Metonymy Resolution
Structural Reorganization
isa(object01,object_n1),
isa(cliff01,cliff_n1),
isa(throw01,throw_v1),
object(throw01,object01),
origin(throw01,cliff01).
Linguistic
and World
Knowledge
Throw
object
Object
origin
Cliff
1. Parsing/Logical Form Generation
Parsing: SAPIR, a bottom-up chart parser, guided by
Hand-coded cost function
“tuples” – examples of attachment preferences
(VPN "fall" "onto" "floor")
(VPN "flow" "into" "body")
(NN "lead" "iodide")
(NPN "force" "on" "block")
(NPN "speed" "at" "point")
(NPN "chromosome" "in" "cell")
(NPN "force" "during" *)
(NPN "distance" "from" *)
(NPN "distance" "to" *)
Several 100 authored by hand
53 million generated automatically
Logical Form: Classical compositional rule-based approach
2. Initial logic generation
“An object is thrown from a cliff”
(DECL
((VAR _X1 "an" "object")
(VAR _X2 "a" "cliff"))
(S (PRESENT) NIL "throw" _X1 (PP "from" _X2))
"object"(object01),
"cliff"(cliff01),
"throw"(throw01),
sobject(throw01,object01),
"from"(throw01,cliff01).
isa(object01,object_n1),
isa(cliff01,cliff_n1),
isa(throw01,throw_v1),
object(throw01,object01),
origin(throw01,cliff01).
Logical
form
Initial
Logic
Final
Logic
3. Subsequent Processing
1. Word Sense Disambiguation:
Naïve use of WordNet (70% ok)
For applications using CLib ontology, then do a mapping:
WordNet
CLib Ontology
Physical-Object
“object”
Lexical Term
Goal
Concept (Word Sense)
3. Subsequent Processing
2. Semantic Role Labeling:
~40 semantic roles (from Univ Texas)
Assign using a hand-built database of (~100) rules
IF
X “of” Y
and X is Physical-Object
and Y is Material
THEN X material Y
Throw
Throw
sobject
Object
“from”
Cliff
Moderate performance
object
Object
origin
Cliff
3. Subsequent Processing
3. Coreference
Same name = same object
Same/subsuming noun phrase = same object
“The red block fell. The block that had fallen was damaged.”
Ordinal reference
“A block is on a block. The second block is larger.”
4. Metonymy resolution
Mainly with CLib KB
“H2O reacts with NaCl”
React
React
raw-material
H2O
raw-material
NaCl
raw-material
Chemical
basic-unit
H2O
raw-material
Chemical
basic-unit
NaCl
3. Subsequent Processing
5. Structural Reorganization
Cliff
“the height of the cliff”
Cliff
subject
“the box contains a block”
height
kg
Weight-Value
Height
Value
Contain
object
Box
Box
“10 kg”
property
Block
content
property
value
Block
10
(:pair 10 kg)
3. Subsequent Processing
5. Structural Reorganization
“be” and “have”
subject
(a) equality
“the color of the
block is red”
Block
color
object
Color
Block
(b) other relation
subject
“the block is red”
Be
Red
color
Be
object
Block
Block
Red
Red
color
Red
Summary
BLUE:
Formalism:
Skolemized first-order logic predicates
Embedding for modals
Mechanism:
Parser → LF generator → initial logic → post-processing
Performance:
Many sentences are mostly right
Most sentences have something wrong
Thank you!