Jump to content

User:Mdebellis/sandbox

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Mdebellis (talk | contribs) at 14:10, 7 December 2013. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A frame language is a technology used for knowledge representation in artificial intelligence. Frames are stored as ontologies with classes and sub-classes corresponding to sets and subsets of the frame concepts. They are similar to class hierarchies in object-oriented languages although their fundamental design goals are different. Frames are focused on explicit and intuitive representation of knowledge where as objects focus on encapsulation and information hiding. Frames originated in AI research and objects primarily in software engineering. However, in practice the techniques and capabilities of frame and object-oriented languages overlap significantly.

Description

Frame languages primarily focus on the recognition and description of objects and classes, with relations and interactions considered as "secondary".

In general, "frame" in this context means "something that can be/(has to be) fulfilled"[citation needed]. In such sense, for example: Object-oriented programming languages are frame languages, but also every grammar is a frame language[citation needed]. In specific contexts, the authors of computer languages use the term "frame" arbitrarily and frequently intuitively, and in a metaphoric sense.

In the field of Artificial Intelligence, a frame is a data structure introduced by Marvin Minsky in the 1970s that can be used for knowledge representation. Minsky frames are intended to help an Artificial Intelligence system recognize specific instances of patterns. Frames usually contain properties called attributes or slots. Slots may contain default values (subject to override by detecting a different value for an attribute), refer to other frames (component relationships) or contain methods for recognizing pattern instances. Frames are thus a machine-usable formalization of concepts or schemata. In contrast, the object-oriented paradigm partitions an information domain into abstraction hierarchies (classes and subclasses) rather than partitioning into component hierarchies, and is used to implement any kind of information processing. Frame Technology is loosely based on Minsky Frames, its purpose being software synthesis rather than pattern analysis.

Like many other knowledge representation systems and languages, frames are an attempt to resemble the way human beings are storing knowledge. It seems like we are storing our knowledge in rather large chunks, and that different chunks are highly interconnected. In frame-based knowledge representations knowledge describing a particular concept is organized as a frame. The frame usually contains a name and a set of slots.

The slots describe the frame with attribute-value pairs <slotname value> or alternatively a triple containing framename, slotname and value in some order. In many frame systems the slots are complex structures that have facets describing the properties of the slot. The value of a slot may be a primitive such as a text string or an integer, or it may be another frame. Most systems allow multiple values for slots and some systems support procedural attachments. These attachments can be used to compute the slot value, or they can be triggers used to make consistency checking or updates of other slots. The triggers can be trigged by updates on slots.

Inference and reasoning

In most frame-based knowledge representations, inheritance is the central inference mechanism. The frames are organized as a hierarchy with some general concept as the root frame. Many systems support multiple inheritance. In these systems the tree structure can look more like a directed graph with possible cycles.

Reasoning in frame-systems is based on frame matching, inheritance and spreading activation.

Implementations

  • Frame Representation Language (FRL), 1977, Roberts/Goldstein.
  • Two examples of frame- or frame based- languages are OIL and F-logic.
  • An editor for frame-based ontologies is Protégé.
  • The Knowledge Machine (KM) is a knowledge representation language and reasoning engine. The knowledge is represented as frames, but KM is also influenced by logic. This combination makes KM very expressive and provides it with a clear, formal semantics.
  • KL-ONE is a well known knowledge representation system in the tradition of semantic networks and frames. The system is an attempt to overcome semantic indistinctness in semantic network representations and builds upon the idea of Structured inheritance networks.

References

See also

External links