Presentation is loading. Please wait.

Presentation is loading. Please wait.

KM2SILK translator – Level 0 Design Peter Clark Boeing Research and Technology April 2010.

Similar presentations


Presentation on theme: "KM2SILK translator – Level 0 Design Peter Clark Boeing Research and Technology April 2010."— Presentation transcript:

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?


Download ppt "KM2SILK translator – Level 0 Design Peter Clark Boeing Research and Technology April 2010."

Similar presentations


Ads by Google