250 likes | 395 Views
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 14260-2000 shapiro@cse.buffalo.edu
E N D
Knowledge Representationand Reasoning in SNePSfor 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 14260-2000 shapiro@cse.buffalo.edu http://www.cse.buffalo.edu/~shapiro/ http://www.cse.buffalo.edu/sneps/
SNePS • A logic- and network-based • Knowledge representation • Reasoning • and Acting • System S. C. Shapiro
Examples of SNePSfor Bioinformatics • Neurological Diagnostic Expert System • System for Understanding NF1 Literature S. C. Shapiro
NEUREX: A Neurological Diagnostic Expert System • Ca. 1983 – 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), 90-105. S. C. Shapiro
Strengths of SNePSfor This Task • Integrated Analogical, Propositional, Functional Knowledge • Access to Procedural Knowledge via Acting System S. C. Shapiro
Analogical/PropositionalRepresentation Proposition, Ventral root is proximal to spinal nerve. is represented by {<p “ventral root”> <d “spinal nerve”>} also have {<p “ganglion”> <d “spinal nerve”>} {<p “spinal nerve”> <d “dorsal ramus”>} {<p “spinal nerve”> <d “ventral ramus-1”>} S. C. Shapiro
Analogical/Propositional Propositions form a relational graph. 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, 538-547. S. C. Shapiro
A Knowledge-Based Approach to Understandingthe 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 S. C. Shapiro
Goals Discover new linkages in information across Medline abstracts of research literature about Neurofibromatosis 1 (NF1, or von Recklinghausen disease) S. C. Shapiro
Strengths of SNePSfor This Task • Inconsistency Tolerance/Discovery/Repair • Contexts • Multiple Sources • Amenable to Backend DB Storage S. C. Shapiro
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)) S. C. Shapiro
Finding the ContradictionDuring Query Answering : has(Willy, scales)? I infer fish(Willy) I infer it is not the case that wff23: fish(Willy) S. C. Shapiro
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. S. C. Shapiro
Continuing with Repaired KB I infer it is not the case that wff22: has(Willy,scales) wff26: ~has(Willy,scales) S. C. Shapiro
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. S. C. Shapiro
Finding the Contradiction : 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) S. C. Shapiro
Using Source Credibility A contradiction was detected within context default-defaultct. The contradiction involves the newly derived proposition: wff17: ~fish(Willy) {<der,{wff1,wff6,wff11}>} and the previously existing proposition: wff14: fish(Willy) {<der,{wff4,wff11}>} 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) S. C. Shapiro
Backend DB Storage • A proposal • All propositions represented with keyword arguments • Each keyword set a Relation in an RDB • Or in XML S. C. Shapiro
NEUREX Data as Relation PProximalDistal m1 dorsal root ganglion m2 ganglion spinal nerve m3 ventral root spinal nerve m4 spinal nerve dorsal ramus m5 dorsal ramus medial branch of d.r. m6 medial branch of d.r. medial cutaneous branch m7 medial branch of d.r. lateral cutaneous branch m8 dorsal ramus lateral branch of d.r. m9 spinal nerve ventral ramus-1 m10 ventral ramus-1 ventral ramus-2 m11 ventral ramus-1 lateral cutaneous branch of v.r. m12 cutaneous branch of v.r. posterior branch lateral m13 cutaneous branch of v.r. anterior branch lateral S. C. Shapiro
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. S. C. Shapiro
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) S. C. Shapiro
Melville Context : set-context Melville (wff8 wff7 wff3 wff2 wff1) : set-default-context Melville wff9: all(x)(whale(x) => fish(x)) S. C. Shapiro
Melville: Willy has scales : has(Willy, scales)?I infer fish(Willy) I infer has(Willy,scales) wff10: has(Willy,scales) S. C. Shapiro
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) S. C. Shapiro
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. S. C. Shapiro