Knowledge Representation and Reasoning in SNePS for Bioinformatics Stuart C. Shapiro Department of Computer Science and Engineering, and Center for Cognitive Science University at Buffalo, The State University of New York 201 Bell Hall, Buffalo, NY
November, 2003S. C. Shapiro2 SNePS A logic- and network-based Knowledge representation Reasoning and Acting System
November, 2003S. C. Shapiro3 Examples of SNePS for Bioinformatics Neurological Diagnostic Expert System System for Understanding NF1 Literature
November, 2003S. C. Shapiro4 NEUREX: A Neurological Diagnostic Expert System Ca – 1986 See: Z. Xiang, J. G. Chutkow, S. C. Shapiro, and S. N. Srihari, Computerized neurological diagnosis: a paradigm of modeling and reasoning, Health Care Instrumentation 1, 3 (1986),
November, 2003S. C. Shapiro5 Strengths of SNePS for This Task Integrated Analogical, Propositional, Functional Knowledge Access to Procedural Knowledge via Acting System
November, 2003S. C. Shapiro6 Analogical/Propositional Representation Proposition, Ventral root is proximal to spinal nerve. is represented by { } also have { }
November, 2003S. C. Shapiro7 Analogical/Propositional From Z. Xiang, S. N. Srihari, S. C. Shapiro, and J. G. Chutkow, A modeling scheme for diagnosis, Expert Systems in Government Symposium, IEEE Computer Society Press, Silver Spring, MD, 1985, Propositions form a relational graph.
November, 2003S. C. Shapiro8 A Knowledge-Based Approach to Understanding the NF1 Literature A proposal to DoD PI: Gary R. Skuse, Director of Bioinformatics, RIT CoPIs: Debra T. Burhans, Director, Bioinformatics, Canisius College Alistair E. R. Campbell, Computer Science, Hamilton College Stuart C. Shapiro, CSE, UB
November, 2003S. C. Shapiro9 Goals Discover new linkages in information across Medline abstracts of research literature about Neurofibromatosis 1 (NF1, or von Recklinghausen disease)
November, 2003S. C. Shapiro10 Strengths of SNePS for This Task Inconsistency Tolerance/Discovery/Repair Contexts Multiple Sources Amenable to Backend DB Storage
November, 2003S. C. Shapiro11 Inconsistent Knowledge Base wff3: free(Willy) and whale(Willy) wff10: all(x)(whale(x) => mammal(x)) wff19: all(x)(whale(x) => fish(x)) wff20: all(x)(andor(0,1){mammal(x), fish(x)}) wff21: all(x)(fish(x) has(x,scales))
November, 2003S. C. Shapiro12 Finding the Contradiction During Query Answering : has(Willy, scales)? I infer fish(Willy) I infer it is not the case that wff23: fish(Willy)
November, 2003S. C. Shapiro13 BR Advice In order to make the context consistent you must delete at least one hypothesis from the set listed below. 1 : wff20: all(x)(andor(0,1){mammal(x),fish(x)}) (1 dependent proposition: (wff24)) 2 : wff19: all(x)(whale(x) => fish(x)) (2 dependent propositions: (wff23 wff22)) 3 : wff10: all(x)(whale(x) => mammal(x)) (3 dependent propositions: (wff24 wff15 wff11)) 4 : wff3: free(Willy) and whale(Willy) (8 dependent propositions: (wff24 wff23 wff22 wff11 wff9 wff5 wff2 wff1)) User deletes #2: wff19.
November, 2003S. C. Shapiro14 Continuing with Repaired KB I infer it is not the case that wff22: has(Willy,scales) wff26: ~has(Willy,scales)
November, 2003S. C. Shapiro15 Multiple Sources wff1: all(x)(andor(0,1){mammal(x),fish(x)}) wff2: all(x)(fish(x) has(x,scales)) wff4: all(x)(whale(x) => fish(x)) wff5: Source(Melville,all(x)(whale(x) => fish(x))) wff6: all(x)(whale(x) => mammal(x)) wff7: Source(Darwin,all(x)(whale(x) => mammal(x))) wff8: Sgreater(Darwin,Melville) wff11: free(Willy) and whale(Willy) Note: Source & Sgreater props are regular object-language props.
November, 2003S. C. Shapiro16 : has(Willy, scales)? I infer fish(Willy) I infer has(Willy,scales) I infer mammal(Willy) I infer it is not the case that wff14: fish(Willy) Finding the Contradiction
November, 2003S. C. Shapiro17 Using Source Credibility A contradiction was detected within context default-defaultct. The contradiction involves the newly derived proposition: wff17: ~fish(Willy) { } and the previously existing proposition: wff14: fish(Willy) { } The least believed hypothesis: (wff4) The most common hypothesis: (nil) The hypothesis supporting the fewest wffs: (wff1) I removed the following belief: wff4: all(x)(whale(x) => fish(x)) I no longer believe the following 2 propositions: wff14: fish(Willy) wff13: has(Willy,scales)
November, 2003S. C. Shapiro18 Backend DB Storage A proposal All propositions represented with keyword arguments Each keyword set a Relation in an RDB Or in XML
November, 2003S. C. Shapiro19 NEUREX Data as Relation PProximalDistal m1dorsal rootganglion m2ganglionspinal nerve m3ventral rootspinal nerve m4spinal nervedorsal ramus m5dorsal ramusmedial branch of d.r. m6medial branch of d.r.medial cutaneous branch m7medial branch of d.r.lateral cutaneous branch m8dorsal ramuslateral branch of d.r. m9spinal nerveventral ramus-1 m10ventral ramus-1ventral ramus-2 m11ventral ramus-1lateral cutaneous branch of v.r. m12cutaneous branch of v.r.posterior branch lateral m13cutaneous branch of v.r.anterior branch lateral
November, 2003S. C. Shapiro20 Reasoning in Different Contexts A context is a set of hypotheses and all propositions derived from them. Reasoning is performed within a context. A conclusion is available in every context that is a superset of its origin set. Contradictions across contexts are not noticed.
November, 2003S. C. Shapiro21 Darwin Context : set-context Darwin () : set-default-context Darwin wff1: all(x)(andor(0,1){mammal(x),fish(x)}) wff2: all(x)(fish(x) has(x,scales)) wff3: all(x)(orca(x) => whale(x)) wff4: all(x)(whale(x) => mammal(x)) wff7: free(Willy) and whale(Willy)
November, 2003S. C. Shapiro22 Melville Context : set-context Melville (wff8 wff7 wff3 wff2 wff1) : set-default-context Melville wff9: all(x)(whale(x) => fish(x))
November, 2003S. C. Shapiro23 Melville: Willy has scales : has(Willy, scales)? I infer fish(Willy) I infer has(Willy,scales) wff10: has(Willy,scales)
November, 2003S. C. Shapiro24 Darwin: No scales : set-default-context Darwin : has(Willy, scales)? I infer mammal(Willy) I infer it is not the case that wff11: fish(Willy) I infer it is not the case that wff10: has(Willy,scales) wff15: ~has(Willy,scales)
November, 2003S. C. Shapiro25 Summary SNePS is useful for Bioinformatics reasoning. Analogical/Propositional/DB Representation. Notifies user about inconsistencies. Resolves inconsistencies from differently credible sources. Can reason in one context, even if another is inconsistent with it.