User:Dan Polansky/Expert system

Medical expert system
A medical expert system is an expert system in the domain of medical diagnosis.

Medical expert systems:
 * MYCIN, an early expert system developed over five or six years in the early 1970s at Stanford University
 * CADUCEUS, a medical expert system finished in the mid-1980s
 * PROPHET system, an early medical expert system

External links:
 * Medical Expert Systems—Knowledge Tools for Physicians

Ontology
An ontology is a formal representation of a set of concepts within a domain and the relationships between those concepts.

Classification:
 * Upper ontology
 * Domain ontology

Compontents of an ontology:
 * Classes — sets, collections, concepts, types of objects, or kinds of things.[10] Examples: "Thing", "Person", "TreeTheLivingThing", "TreeTheMathThing"
 * Individuals — instances or objects. Examples: "Paris", "USA"
 * Attributes — aspects, properties, features, characteristics, or parameters that objects (and classes) can have
 * Relations — ways in which classes and individuals can be related to one another
 * Functions — complex structures formed from certain relations that can be used in place of an individual term in a statement
 * Restrictions — formally stated descriptions of what must be true in order for some assertion to be accepted as input
 * Rules — statements in the form of an if-then (antecedent-consequent) sentence that describe the logical inferences that can be drawn from an assertion in a particular form
 * Axioms — assertions (including rules) in a logical form that together comprise the overall theory that the ontology describes in its domain of application. This definition differs from that of "axioms" in generative grammar and formal logic. In those disciplines, axioms include only statements asserted as a priori knowledge. As used here, "axioms" also include the theory derived from axiomatic statements.
 * Events — the changing of attributes or relations

Ontologies:
 * SUMO - Suggested Upper Merged Ontology; see also Merge.kif and SUMO.owl.txt
 * OpenCyc
 * Dublin Core

Browsers online:
 * SUMO
 * Online browser of SUMO at cvut.cz
 * KSMSA - Java Webstart browser of SUMO and more
 * OpenCyc
 * WebProtege

Editors of ontologies:
 * Protégé
 * Sigma KEE - for SUMO, by Adam Pease; Java, depends on Tomcat
 * KSMSA Ontology Editor - a Java editor, featuring export to SUO-KIF
 * ... more

Characterization - what is an ontology?:
 * Ontology Development 101: A Guide to Creating Your First Ontology

Similar concepts:
 * Controlled vocabulary
 * Data model
 * Information model

Ontology language
An ontology language is a formal language used to construct ontologies.

Ontology languages:
 * CycL - CycL syntax


 * F-Logic (Frame Logic)
 * KIF (Knowledge Interchange Format)


 * KL-ONE
 * KM programming language
 * LOOM (ontology)


 * SUO-KIF, used by SUMO; see also specification and an example file
 * Web Ontology Language (OWL), endorsed by W3C; see also a guide and a reference

Samples:
 * CycL
 * Constants: #$BillClinton, #$UnitedStatesPresident, #$Tree-ThePlant, #$and, #$or, #$not, #$implies, #$forAll, #$thereExists, #$isa, #$genls
 * Variables: ?OBJ, ?SUBSET ?SUPERSET
 * A TODO: (#$isa #$BillClinton #$UnitedStatesPresident) \;
 * A rule: (#$implies
 * (#$and
 * (#$isa ?OBJ ?SUBSET)
 * (#$genls ?SUBSET ?SUPERSET))
 * (#$isa ?OBJ ?SUPERSET))
 * SUO-KIF
 * Constants: and, instance, subclass
 * Variables: ?X, ?Y
 * A TODO: (instance subclass BinaryPredicate)
 * A TODO: (subclass Person Entity)
 * A rule: (=>
 * (and
 * (instance ?X ?Y)
 * (subclass ?Y ?Z))
 * (instance ?X ?Z))
 * A rule, more complex one, from Merge.kif: (=>
 * (instance ?OBJ CorpuscularObject)
 * (exists (?SUBSTANCE1 ?SUBSTANCE2)
 * (and
 * (subclass ?SUBSTANCE1 Substance)
 * (subclass ?SUBSTANCE2 Substance)
 * (material ?SUBSTANCE1 ?OBJ)
 * (material ?SUBSTANCE2 ?OBJ)
 * (not (equal ?SUBSTANCE1 ?SUBSTANCE2)))))
 * An example file: Merge.kif
 * OWL
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * A question: does it support rules?

Classification:
 * Frame-based
 * Description logic-based
 * First-order logic-based

Similar concepts:
 * Knowledge representation language

Data modeling

 * Entity-attribute-value model is a data model consisting of a table featuring columns "entity", "attribute", "value", containing rows such as (John Newton, "first name", "John") and (John Newton, "surname", "Newton"). It is used in circumstances where the number of attributes (properties, parameters) that can be used to describe a thing (an "entity" or "object") is potentially very vast, but the number that will actually apply to a given entity is relatively modest.