Download presentation
Presentation is loading. Please wait.
Published byHilda Hubbard Modified over 9 years ago
1
Guiding Inference with Conceptual Graphs Bruce Porter Univ Texas at Austin Peter Clark Boeing Research
2
Context: Multifunctional KBs Goal: KB can answer a wide variety of questions Need representation language which –is natural for the K engineer (CGs) –supports inference (CGs?) Botany KB: –20k concepts (“graphs”), 100k facts –CG-like language = KM
3
Vocabularies for Inference Beta rules: the “assembly code” of inference Minimal joins: a “derived rule” P:p1 schema for P(x) is P:*xrQ rQP:p1 = + (a `scenario’) (a schema) (an elaborated scenario)
4
Minimal join = a sequence of beta rules P:p1 schema for P(x) is P:*xrQ rQP:p1 + = P:*xr(P:*x,Q) P:p1P:*xr(P:*x,Q)P:p1 r(P:p1,Q)P:p1 r(P:p1,Q) P:p1r(P:p1,Q) rQP:p1 = (insertion) (coreferent join) (deiteration) (double negation) QED Proof:
5
The CG Inference Task Given: –an initial scenario CG –a query (= unknown node in the scenario) Find: –a sequence of joins which instantiate that node (answer the query) objperson:joenecktieagntbuy:b01 inst ? Scenario: Query: Goal: find ? (“what is the instrument of the buy?” Ans: $10)
6
Inference using Joins objperson:joenecktiebuy:b01 agnt inst ? Query: inst(b1,X)? Query: “What is the instrument of the buy?” (Ans: $10) objpersonphysobjbuy:*xagnt inst money:@? value poss schema for buy(x) is inst money:@? value poss necktie:*x value schema for necktie(x) is $10 worn-by person money:$10 worn-by person Ans: $10!
7
An alternative sequence of joins objperson:joenecktiebuy:b01 agnt inst ? Query: inst(b1,X)? objpersonphysobjbuy:*xagnt inst money:@? value poss schema for buy(x) is inst money:@? value poss person:*x part head part body schema for person(x) is part head part body schema for head(x) is head has hair shape round has hair shape round money:*x carry-in wallet schema for money(x) is carry-in wallet
8
Solution: Access Paths A chain of predicates (path in a CG) Encodes how to compute a node from others –1. follow the path –2. if stuck, do a join at the current node Introduces controlled incompleteness The Inference Problem Many joins possible Complete reasoning is intractible!
9
Schema with Access Paths objpersonphysobjbuy:*x agntinst *x.obj.value poss *x.inst schema for buy(x) is Standard CG Schema objpersonphysobjbuy:*xagnt inst money:@? value poss schema for buy(x) is value ?
10
Query: inst(b1,X)? objperson:joenecktiebuy:b1 agnt Query: “What is the instrument of the buy?” (Ans: $10) Example of paths guiding inference ? inst schema for buy(x) is objpersonphysobjbuy:*bagnt inst *b.obj.value poss *b.inst inst b1.obj.value inst b1.obj.value value ?
11
Query: inst(b1,X)? objperson:joenecktiebuy:b1agnt Query: “What is the instrument of the buy?” (Ans: $10) Example of paths guiding inference inst b1.obj.value value ? necktie:*x value $10 personworn-byschema for necktie(x) is value $10 Ans: $10!
12
Inference with Access Paths Algorithm: –follow the path –if stuck, do a join at current node Provides a focal point in the graph Defines when and where to expand Focuses/restricts inference
13
Adding Type Definitions Type definitions allow classification => class of objects in scenario may need updating Requires a classification step after each join adhesive:a1joinswoodtype nail(x) isadhesive:*xjoinswood nail:a1joinswood (scenario) (type defn) (elaborated scenario) + =
14
assemble:a1objtable Query: inst(a1,X)? Query: “What instrument assembles a table?” (Answer: “a hammer”) inst? assemble:*xobjphysobjinst*x.adhesive.tool adhesive joins *x.obj.matr schema for assemble(x) is insta1.adhesive.tool
15
assemble:a1objtable Query: inst(a1,X)? Query: “What instrument assembles a table?” (Answer: “a hammer”) inst? a1.adhesive.tool ? adhesive ? tool assemble:*xobjphysobjinst*x.adhesive.tool adhesive joins *x.obj.matr schema for assemble(x) is adhesive
16
assemble:a1objtable Query: inst(a1,X)? Query: “What instrument assembles a table?” (Answer: “a hammer”) inst? a1.adhesive.tool ? adhesive ? tool adhesive nail hammer metal made-of tool nail:*xjoinswood schema for nail(x) is hammer tool Ans: hammer!
17
assemble:a1objtable Query: inst(a1,X)? Query: “What instrument assembles a table?” (Answer: “a hammer”) inst? a1.adhesive.tool ? adhesive ? tool adhesive adhesive:*xjoinswood type nail(x) is Subquery: joins(adh1,wood)? joins ?
18
assemble:a1objtable Query: inst(a1,X)? Query: “What instrument assembles a table?” (Answer: “a hammer”) inst? a1.adhesive.tool ? adhesive ? tool adhesive Subquery: joins(adh1,wood)? joins ? assemble:*xobjphysobjinst*x.adhesive.tool adhesive joins *x.obj.matr schema for assemble(x) is joins a1.obj.matr
19
assemble:a1objtable Query: inst(a1,X)? Query: “What instrument assembles a table?” (Answer: “a hammer”) inst? a1.adhesive.tool ? adhesive ? tool adhesive Subquery: joins(adh1,wood)? joins ? a1.obj.matr matr ? table:*x matr wood schema for table(x) is legs 4 purpose support matr wood
20
matr wood assemble:a1objtable Query: inst(a1,X)? Query: “What instrument assembles a table?” (Answer: “a hammer”) inst? a1.adhesive.tool ? adhesive ? tool adhesive Subquery: joins(adh1,wood)! joins ? a1.obj.matr adhesive:*xjoinswood type nail(x) is nail
21
matr wood assemble:a1objtable Query: inst(a1,X)? Query: “What instrument assembles a table?” (Answer: “a hammer”) inst? a1.adhesive.tool ? adhesive ? tool adhesive joins ? a1.obj.matr nail
22
Discussion Paths –specify preferred sequence of subgoals –say which joins to perform Restricts and focuses inference Trade-off completeness for tractability Key issue: Can engineer encode suitable paths? Extension of CGs
23
Summary Inference with CGs: beta rules and joins Search problem: which sequence of joins to use? Soln: access paths –focus inference –show where and when to do a join Basis for the Botany KB (Univ Texas Austin) + some of Boeing’s new KR work
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.