- SNePS
SNePS is a
knowledge representation ,reasoning , and acting (KRRA) system developed and maintained by Stuart C. Shapiro and colleagues at theState University of New York at Buffalo .SNePS is simultaneously a
logic -based, frame-based, and network-based KRRA system. It uses an assertional model of knowledge, in that a SNePS knowledge base (KB) consists of a set of assertions (propositions) about various entities. Its intended model is of anintensional domain of mental entities---the entities conceived of by some agent, and the propositions believed by it. The intensionality is primarily accomplished by the absence of a built-in equality operator, since any two syntactically different terms might have slightly different Fregean senses.SNePS has three styles of inference: formula-based, derived from its logic-based personality; slot-based, derived from its frame-based personality; and path-based, derived from its network-based personality. However, all three are integrated, operating together.
SNePS may be used as a stand-alone KRR system. It has also been used, along with its integrated acting component, to implement the mind of
intelligent agent s (cognitive robots), in accord with the GLAIR agent architecture (a layered cognitive architecture). The SNePS Research Group often calls its agents Cassie.NePS as a Logic-Based System
As a logic-based system, a SNePS KB consists of a set of terms, andfunctions and formulas over those terms. The set of logicalconnectives and quantifiers extends the usual set used by first-orderlogics, all taking one or more arbitrarily-sized sets of arguments.In accord with the intended use of SNePS to represent the mind of a
natural-language-competent intelligent agent,propositions arefirst-class entities of the intended domain, so formulas are actuallyproposition-denoting functional terms. SNePSLOG, the input-output language ofthe logic-based face of SNePS, looks like a naive logic in thatfunction symbols (including "predicates"), and formulas (actuallyproposition-denoting terms) may be the arguments of functions and maybe quantified over. The underlying SNePS, however, is a first orderlogic, with the user's function symbols and formulas reified.Formula-based inference is implemented as a natural-deduction-styleinference engine in which there are introduction and elimination rulesfor the connectives and quantifiers. SNePS formula-based inference is
sound but not complete, asrules of inference that are less usefulfor natural language understanding andcommonsense reasoning have notbeen implemented.A proposition-denoting term in a SNePS KB might or might not be"asserted", that is, treated as true in the KB. The SNePS logic is a
paraconsistent version of Relevance Logic, so that acontradiction does not imply anything whatsoever. Nevertheless, SNeBR, the SNePS
Belief Revision subsystem, will notice any explicit contradiction andengage the user in a dialogue to repair it. SNeBR is anAssumption-Based Truth Maintenance System (ATMS), and removes theassertion status of any proposition whose support has been removed.NePS as a Frame-Based System
As a frame-based system, every SNePS functional term (includingproposition-valued terms) is represented by a frame with slots andfillers. Each slot may be filled by an arbitrarily-sized set of otherterms. However, cycles cannot be constructed. SNePSUL, the SNePSUser Language is an input-output language for interacting with SNePS in itsguise as a frame-based system.
SNePSLOG may be used in any of three modes. In two modes, thecaseframe (set of slots) associated with each functional term isdetermined by the system. In mode 3, the user declares what caseframeis to be used for each function symbol.
In slot-based inference, any proposition-valued frame is considered toimply the frame with any of its slots filled by a subset of itsfillers. In the current implementation, this is not always sound.
NePS as a Network-Based System
As a network-based system, SNePS is a propositional
semantic network ,thus the original meaning of "SNePS" as "The Semantic NetworkProcessing System". This view is obtained by considering everyindividual constant and every functional term to be a node of thenetwork, and every slot to be a directed labeled arc from theframe-node it is in to every node in its filler. In the intendedinterpretation, every node denotes a mental entity, some of which arepropositions, and every proposition represented in the network isrepresented by the node that denotes it. Some nodes are variables ofthe SNePS logic, and they range over nodes, and only over nodes.Path-based inference rules may be defined, although they, themselves,are not represented in SNePS. A path-based inference rule specifiesthat some labeled arc "r" may be inferred as present from some node "n"to some other node "m" just in case a given path exists from "n" to "m".There is an extensive recursive set of path constructors available.
Components
*SNIP, the SNePS Inference Package, provides the
rules of inference with which SNePS deduces new assertions from an existing KB.*SNeBR, the SNePS Belief Revision package, is a component of SNePS that detects when the KB contains contradictory beliefs. When a contradiction is detected, the user is encouraged to unassert one of the contradictory beliefs by unasserting some underlying hypotheses that led to the contradiction. As a result, all propositions that had been inferred from the hypotheses that have been unasserted are also unasserted.
*SNeRE, the SNePS Rational Engine, provides an acting executive and a set of frames for building up complex acts and plans from a set of system-defined and user-defined primitive actions. System-defined frames allow for the specification of sequences of acts, conditional acts, and iteration over acts, as well as believing and disbelieving propositions. SNeRE policies connect acting to inference, specifying, for example, that a certain act is to be done when a certain proposition is believed (asserted).
*SNaLPS, the SNePS Natural Language Processing System, consists of a Generalized Augmented Transition Network Grammar interpreter and an English morphological analyzer and synthesizer so that natural language understanding and generation may be provided for SNePS-based agents.
Applications
SNePS has been used for a variety of KRR tasks, for natural languageunderstanding and generation, for
commonsense reasoning , and forcognitive robotics . It has been used in several KR courses around theworld.Availability
SNePS is implemented as a platform-independent system in
Common Lisp and is freely available.External links
* [http://www.cse.buffalo.edu/sneps/ SNePS Research Group (SNeRG) homepage]
* [http://www.cse.buffalo.edu/~rapaport/snepsrdgs.html Essential SNePS Readings]
* [http://www.cse.buffalo.edu/sneps/Bibliography/ Complete SNeRG Bibliography]
* [http://www.cse.buffalo.edu/sneps/Downloads/ SNePS Downloads Page]
Wikimedia Foundation. 2010.