Download presentation
Presentation is loading. Please wait.
Published byBrent Fields Modified over 9 years ago
1
KM2SILK translator – Level 0 Design Peter Clark Boeing Research and Technology April 2010
2
(a) KM Prototypes Core prototype structure (nodes + arcs) Knowledge of coreference between prototypes Additional prototype structure constraints, if-then rules, equations (b) Component Library Ontology (taxonomy, domain/range) “Transitivity” (“grain size”) rules Axioms normal FOL axioms eg., agent=object for Locomotion events situation calculus event axioms? (not used in AURA) What needs to be translated? Level 0 design Fairly straight- foward Later work Hand- translate? Need?
3
Part 1: KM Prototypes Eukaryotic-cell01 DNA01 Nucleus01 is-inside has-part x isa(x,EukCell) → y,z isa(y,Nuc), isa(z,DNA), has-part(x,y), has-part(x,z), is-inside(z,y). has-part Basic idea: represent the graph as a similar data structure in SILK: ?x#eukaryotic-cell -> ?x[has-part->{ _nucleus1(?x)#nucleus, _dna1(?x)#dna[ is-inside->{_nucleus1(?x)}]}] // If ?x is a EukCell… // then it has-part a nucleus… // and a DNA… // that is inside that nucleus Could (?) compile that down to separate axioms (?), one per arc: ?x#eukaryotic-cell -> ?x[has-part->{ _nucleus1(?x)#nucleus}]. ?x#eukaryotic-cell -> ?x[has-part->{_dna1(?x)#dna}]. ?x#eukaryotic-cell -> ?x[has-part->{_dna1(?x)[is-inside->{_nucleus1(?x)}]}] i.e.:
4
Part 1: KM Prototypes - “Coreference” Eukaryotic-cell01 DNA01 Nucleus01 is-inside has-part Plant-cell02 DNA02 Nucleus02 is-inside has-part Chloroplast02 *oval shape what these coreferences ?x#eukaryotic-cell -> ?x[has-part->{ _nucleus1(?x)#nucleus, _dna1(?x)#dna[ is-inside->{_nucleus1(?x)}]}] ?x#plant-cell -> ?x[has-part->{ _nucleus1(?x)#nucleus[shape->oval], _dna1(?x)#dna[ is-inside->{_nucleus1(?x)}], _chloroplast1(?x)#chloroplast}]. KM finds this using unification SILK can do this via shared Skolem function names
5
Part 1: KM Prototypes - “Coreference” Eukaryotic-cell01 DNA01 Nucleus01 is-inside has-part Plant-cell02 DNA02 Nucleus02 is-inside has-part Chloroplast02 *oval shape what these coreferences ?x#eukaryotic-cell -> ?x[has-part->{ _nucleus1(?x)#nucleus, _dna1(?x)#dna[ is-inside->{_nucleus1(?x)}]}] ?x#plant-cell -> ?x[has-part->{ _nucleus1(?x)#nucleus[shape->oval], _dna1(?x)#dna[ is-inside->{_nucleus1(?x)}], _chloroplast1(?x)#chloroplast}]. KM finds this using unification SILK can do this via shared Skolem function names KM keeps track of these dependencies (if user did a copy+extend) → basis for generating shared Skolem names in SILK.
6
Part 1: Coreference and question-answering Shared Skolem function names help (solve?) coreference issues within the KB but not with question answering Eukaryotic-cell01 DNA01 Nucleus01 is-inside has-part ?x#eukaryotic-cell -> ?x[has-part->{ _nucleus1(?x)#nucleus, _dna1(?x)#dna[ is-inside->{_nucleus1(?x)}]}] // If ?x is a EukCell… // then it has-part a nucleus… // and a DNA… // that is inside that nucleus // “What is the DNA of a eukaryotic cell inside?” euk-cell02#eukaryotic-cell. | ?- euk-cell02[has-part->{_dna??(euk-cell02)[is-inside->?y]} How do we know which DNA are we asking about? Ask: Given:
7
Part 1: KM Prototypes - A bit more complexity… A Skolem might have more than one source… Eukaryotic-cell01 DNA01 Nucleus01 is-inside has-part Plant-cell02 DNA02 Nucleus02 is-inside has-part DNA03 Nucleus03 is-inside cloned-from: Nucleus01, Nucleus03 How do we name the Skolem functions now? _nucleus01(?plant-cell) ? _nucleus03(?plant-cell) ?
8
Part 1: KM Prototypes - Multiple clones… Crossing-Over01 Homologous-chromosome02 donor Homologous-chromosome03 DNA02 DNA03 has-part Homologous-chromosome01 DNA01 has-part ?x#hc -> ?x[has-part->{_dna1(?x)}]. // every hc has-part dna ?x#crossing-over -> // every crossing over has 2 hc donors ?x[donor->{ _hc1(?x)#hc[has-part->{_dna1(_hc1(?x))}], _hc2(?x)#hc[has-part->{_dna1(_hc2(?x))}]}]. Um…something like this (?): Nested Skolem fns ok? (“the dna of the first homologous chromosome of ?x”)
9
Part 1: KM Prototypes – Coref within a graph Crossing-Over01 Homologous-chromosome02 object DNA02 has-part Chromatid-segment02 donor has-part How do we express this unification? _dna1(_cs1(?x)) = _dna1(_hc1(?x)) ? DNA03 Crossing-Over01 Homologous-chromosome02 object DNA02 has-part Chromatid-segment02 donor ?x#crossing-over -> ?x[donor->{ _hc1(?x)#hc[has-part->{_dna1(_hc1(?x))}]}, object->{ _cs1(?x)#cs[has-part->{_dna1(_cs1(?x))}]} ]. cloned from DNA01 cloned from DNA01
10
Part II: Component Library Ontology (taxonomy, domain/range) “Transitivity” (“grain size”) rules 515 grain size rules + 35 transitivity rules IF X toward Y AND Y is-near Z THEN X toward Z IF X content Y AND Y has-region Z THEN X content Z etc. stored in a regularized database format → easy to translate! translated to KM in Dec 2009 could translate to SILK easily too
11
Part II: Some of the “Grain Size” Rules… (~40 use 1 relation, ~500 use 2 relations, 1* uses 3 relations) IF X toward Y AND Y is-near Z THEN X toward Z IF X played-by Y AND Y is-part-of Z THEN X played-by Z IF X played-by Y AND Y is-region-of Z THEN X played-by Z IF X in-event Y AND Y subevent-of Z THEN X in-event Z IF X content Y AND Y has-part Z THEN X content Z IF X content Y AND Y has-region Z THEN X content Z IF X content Y AND Y material Z THEN X content Z IF X content Y AND Y encloses Z THEN X content Z IF X is-region-of Y AND Y is-part-of Z THEN X is-region-of Z IF X location-of Y AND Y has-region Z THEN X location-of Z IF X instrument Y AND Y element-of Z THEN X instrument Z IF X location-of Y AND Y material Z THEN X location-of Z IF X material-of Y AND Y is-part-of Z THEN X material-of Z IF X possesses Y AND Y has-part Z THEN X possesses Z IF X possesses Y AND Y has-region Z THEN X possesses Z IF X possesses Y AND Y material Z THEN X possesses Z IF X abuts Y AND Y location Z THEN X abuts Z * IF W end-time X AND X before Y and Y start-time-of Z THEN W before Z
12
Part II: Component Library Ontology (taxonomy, domain/range) “Transitivity” (“grain size”) rules 515 grain size rules + 35 transitivity rules IF X toward Y AND Y is-near Z THEN X toward Z IF X content Y AND Y has-region Z THEN X content Z etc. stored in a regularized database format → easy to translate! translated to KM in Dec 2009 could translate to SILK easily too Axioms normal FOL axioms eg., agent=object for Locomotion events situation calculus event axioms? (not used in AURA)
13
(a) KM Prototypes Core prototype structure (nodes + arcs) Knowledge of coreference between prototypes Additional prototype structure constraints, if-then rules, equations (b) Component Library Ontology (taxonomy, domain/range) “Transitivity” (“grain size”) rules Axioms normal FOL axioms eg., agent=object for Locomotion events situation calculus event axioms? (not used in AURA) Summary Some details still to work out Fairly straight- foward Later work Hand- translate? Need?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.