Jump to content

SNePS: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m Bot: Removing category Category:Artificial intelligence which is already in Category:Cognitive architecture
 
(18 intermediate revisions by 13 users not shown)
Line 1: Line 1:
'''SNePS''' is a [[knowledge representation]], [[reasoning]], and [[Action (philosophy)|acting]] (KRRA) system developed and maintained by Stuart C. Shapiro and colleagues at the [[State University of New York at Buffalo]].
'''SNePS''' is a [[knowledge representation]], [[reasoning]], and [[Action (philosophy)|acting]] (KRRA) system developed and maintained by Stuart C. Shapiro and colleagues at the [[University at Buffalo, The State University of New York|State University of New York at Buffalo]].


SNePS is simultaneously a [[logic]]-based, [[Frame language|frame]]-based, and [[Semantic network|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 an [[intensional]] 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 [[Sense and reference|Fregean senses]].
SNePS is simultaneously a [[logic]]-based, [[Frame language|frame]]-based, and [[Semantic network|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 an [[intension]]al 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 [[Sense and reference|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 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.
Line 8: Line 8:


==SNePS as a Logic-Based System==
==SNePS as a Logic-Based System==
As a logic-based system, a SNePS KB consists of a set of terms, and functions and formulas over those terms. The set of [[logical connective]]s and [[Quantifier (logic)|quantifier]]s extends the usual set used by [[first-order logic]]s, 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 are first-class entities of the intended domain, so formulas are actually proposition-denoting functional terms. SNePSLOG, the input-output language of the logic-based face of SNePS, looks like a naive logic in that function symbols (including "predicates"), and formulas (actually proposition-denoting terms) may be the arguments of functions and may be quantified over. The underlying SNePS, however, is a first order logic, with the user's function symbols and formulas [[Reification (knowledge representation)|reified]].
As a logic-based system, a SNePS KB consists of a set of [[First-order logic#Formation rules|terms]], and
functions and formulas over those terms. The set of logical
connectives and [[quantification|quantifiers]] extends the usual set used by [[first-order logic|first-order
logics]], all taking one or more arbitrarily-sized sets of arguments.
In accord with the intended use of SNePS to represent the mind a
[[natural language processing|natural-language-competent]] intelligent agent, [[propositions]] are
first-class entities of the intended domain, so formulas are actually
proposition-denoting functional terms. SNePSLOG, the input-output language of
the logic-based face of SNePS, looks like a naive logic in that
function symbols (including "[[Predicate (logic)|predicates]]"), and formulas (actually
proposition-denoting terms) may be the arguments of functions and may
be quantified over. The underlying SNePS, however, is a first order
logic, with the user's function symbols and formulas [[Reification (knowledge representation)|reified]].


Formula-based inference is implemented as a natural-deduction-style [[inference engine]] in which there are introduction and elimination rules for the connectives and quantifiers. SNePS formula-based inference is sound but not complete, as rules of inference that are less useful for [[natural language understanding]] and [[commonsense reasoning]] have not been implemented.
Formula-based inference is implemented as a natural-deduction-style
inference engine in which there are introduction and elimination rules
for the connectives and quantifiers. SNePS formula-based inference is
[[soundness|sound]] but not [[completeness|complete]], as [[rules of inference]] that are less useful
for natural language understanding and [[commonsense reasoning]] have not
been 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 logic|paraconsistent]] version of [[relevance logic]], so that a contradiction does not imply anything whatsoever. Nevertheless, SNeBR, the SNePS Belief Revision subsystem, will notice any explicit contradiction and engage the user in a dialogue to repair it. SNeBR is an Assumption-Based Truth Maintenance System (ATMS), and removes the assertion status of any proposition whose support has been removed.
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 logic|paraconsistent]] version of [[Relevance logic|Relevance Logic]], so that a [[contradiction]]
does not imply anything whatsoever. Nevertheless, SNeBR, the SNePS
[[Belief revision|Belief Revision]] subsystem, will notice any explicit contradiction and
engage the user in a dialogue to repair it. SNeBR is an
Assumption-Based [[Truth maintenance system|Truth Maintenance System]] (ATMS), and removes the
assertion status of any proposition whose support has been removed.


==SNePS as a Frame-Based System==
==SNePS as a Frame-Based System==
As a frame-based system, every SNePS functional term (including proposition-valued terms) is represented by a frame with slots and fillers. Each slot may be filled by an arbitrarily-sized set of other terms. However, cycles cannot be constructed. SNePSUL, the SNePS User Language is an input-output language for interacting with SNePS in its guise as a frame-based system.
As a [[frame language|frame-based system]], every SNePS functional term (including
proposition-valued terms) is represented by a frame with slots and
fillers. Each slot may be filled by an arbitrarily-sized set of other
terms. However, cycles cannot be constructed. SNePSUL, the SNePS
User Language is an input-output language for interacting with SNePS in its
guise as a frame-based system.


SNePSLOG may be used in any of three modes. In two modes, the
SNePSLOG may be used in any of three modes. In two modes, the caseframe (set of slots) associated with each functional term is determined by the system. In mode 3, the user declares what caseframe is to be used for each function symbol.
caseframe (set of slots) associated with each functional term is
determined by the system. In mode 3, the user declares what caseframe
is to be used for each function symbol.


In slot-based inference, any proposition-valued frame is considered to
In slot-based inference, any proposition-valued frame is considered to imply the frame with any of its slots filled by a subset of its fillers. In the current implementation, this is not always sound.
imply the frame with any of its slots filled by a subset of its
fillers. In the current implementation, this is not always sound.


==SNePS as a Network-Based System==
==SNePS as a Network-Based System==
Line 75: Line 41:
==Components==
==Components==
*'''SNIP''', the SNePS Inference Package, provides the [[rules of inference]] with which SNePS deduces new assertions from an existing KB.
*'''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|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.

*'''SNeBR''', the SNePS [[Belief revision|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).
*'''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|Augmented Transition Network]] Grammar interpreter and an English [[Morphology (linguistics)|morphological analyzer]] and synthesizer so that natural language understanding and generation may be provided for SNePS-based agents.

*'''SNaLPS''', the SNePS Natural Language Processing System, consists of a Generalized [[Augmented transition network|Augmented Transition Network]] Grammar interpreter and an English [[Morphological analysis|morphological analyzer]] and synthesizer so that natural language understanding and generation may be provided for SNePS-based agents.


==Applications==
==Applications==
Line 97: Line 60:
*[http://www.cse.buffalo.edu/sneps/Downloads/ SNePS Downloads Page]
*[http://www.cse.buffalo.edu/sneps/Downloads/ SNePS Downloads Page]


{{Authority control}}
[[Category:Knowledge representation]]
[[Category:Cognitive architecture]]
[[Category:Artificial intelligence]]
[[Category:Cognitive science]]
[[Category:Common Lisp software]]


[[Category:Knowledge representation software]]
[[ru:SNePS]]
[[Category:Cognitive architecture]]
[[Category:Common Lisp (programming language) software]]

Latest revision as of 16:13, 24 December 2022

SNePS is a knowledge representation, reasoning, and acting (KRRA) system developed and maintained by Stuart C. Shapiro and colleagues at the State 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 an intensional 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 agents (cognitive robots), in accord with the GLAIR agent architecture (a layered cognitive architecture). The SNePS Research Group often calls its agents Cassie.

SNePS as a Logic-Based System

[edit]

As a logic-based system, a SNePS KB consists of a set of terms, and functions and formulas over those terms. The set of logical connectives and quantifiers extends the usual set used by first-order logics, 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 are first-class entities of the intended domain, so formulas are actually proposition-denoting functional terms. SNePSLOG, the input-output language of the logic-based face of SNePS, looks like a naive logic in that function symbols (including "predicates"), and formulas (actually proposition-denoting terms) may be the arguments of functions and may be quantified over. The underlying SNePS, however, is a first order logic, with the user's function symbols and formulas reified.

Formula-based inference is implemented as a natural-deduction-style inference engine in which there are introduction and elimination rules for the connectives and quantifiers. SNePS formula-based inference is sound but not complete, as rules of inference that are less useful for natural language understanding and commonsense reasoning have not been 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 a contradiction does not imply anything whatsoever. Nevertheless, SNeBR, the SNePS Belief Revision subsystem, will notice any explicit contradiction and engage the user in a dialogue to repair it. SNeBR is an Assumption-Based Truth Maintenance System (ATMS), and removes the assertion status of any proposition whose support has been removed.

SNePS as a Frame-Based System

[edit]

As a frame-based system, every SNePS functional term (including proposition-valued terms) is represented by a frame with slots and fillers. Each slot may be filled by an arbitrarily-sized set of other terms. However, cycles cannot be constructed. SNePSUL, the SNePS User Language is an input-output language for interacting with SNePS in its guise as a frame-based system.

SNePSLOG may be used in any of three modes. In two modes, the caseframe (set of slots) associated with each functional term is determined by the system. In mode 3, the user declares what caseframe is to be used for each function symbol.

In slot-based inference, any proposition-valued frame is considered to imply the frame with any of its slots filled by a subset of its fillers. In the current implementation, this is not always sound.

SNePS as a Network-Based System

[edit]

As a network-based system, SNePS is a propositional semantic network, thus the original meaning of "SNePS" as "The Semantic Network Processing System". This view is obtained by considering every individual constant and every functional term to be a node of the network, and every slot to be a directed labeled arc from the frame-node it is in to every node in its filler. In the intended interpretation, every node denotes a mental entity, some of which are propositions, and every proposition represented in the network is represented by the node that denotes it. Some nodes are variables of the 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 specifies that 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

[edit]
  • 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

[edit]

SNePS has been used for a variety of KRR tasks, for natural language understanding and generation, for commonsense reasoning, and for cognitive robotics. It has been used in several KR courses around the world.

Availability

[edit]

SNePS is implemented as a platform-independent system in Common Lisp and is freely available.

[edit]