Misplaced Pages

Frame language

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

This is an old revision of this page, as edited by MadScientistX11 (talk | contribs) at 16:52, 9 December 2013 (Rewrote the majority of the article). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Revision as of 16:52, 9 December 2013 by MadScientistX11 (talk | contribs) (Rewrote the majority of the article)(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

A frame language is a technology used for knowledge representation in artificial intelligence. Frames are stored as ontologies of 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

Early work on Frames was inspired by psychological research going back to the 1930's that indicated people use stored stereotypical knowledge to interpret and act in new cognitive situations. The term Frame was first used by Marvin Minsky as a paradigm to understand visual reasoning and natural language processing. In these and many other types of problems the potential solution space for even the smallest problem is huge. For example, extracting the phonemes from a raw audio stream or detecting the edges of an object. Things which seem trivial to humans are actually quite complex. In fact how difficult they really were was probably not fully understood until AI researchers began to investigate the complexity of getting computers to solve them.

The initial notion of Frames or Scripts as they were also called is that they would establish the context for a problem and in so doing automatically reduce the possible search space significantly. The idea was also adopted by Schank and Abelson who used it to illustrate how an AI system could process common human interactions such as ordering a meal at a restaurant. These interactions were standardized as Frames with slots that stored relevant information about each Frame. Slots are analogous to object properties in object-oriented modeling and to relations in entity-relation models. Slots often had default values but also required further refinement as part of the execution of each instance of the scenario. I.e., the execution of a task such as ordering at a restaurant was controlled by starting with a basic instance of the Frame and then instantiating and refining various values as appropriate. Essentially the abstract Frame represented an object class and the frame instances an object instance. In this early work the emphasis was primarily on the static data descriptions of the Frame. Various mechanisms were developed to define the range of a slot, default values, etc. However, even in these early systems there were procedural capabilities. One common technique was to use "triggers" (similar to the database concept of triggers) attached to slots. A trigger was simply procedural code that was attached to a slot. The trigger could fire either before and/or after a slot value was accessed or modified.

As with object classes Frames were organized in subsumption hierarchies. For example, a basic frame might be ordering at a restaurant. An instance of that would be Joe goes to McDonalds. A specialization (essentially a subclass) of the restaurant frame would be a frame for ordering at a fancy restaurant. The fancy restaurant frame would inherit all the default values from the restaurant frame but also would either add more slots or change one or more of the default values (e.g., expected price range) for the specialized frame.

After these early Frame languages the most significant advancement in the technology was the introduction of formal semantics and automatic classification pioneered by the KL-ONE language. Much of the early Frame language research (e.g. Schank and Abelson) had been driven by findings from experimental psychology and attempts to design knowledge representation tools that corresponded to the patterns humans were thought to use to function in daily tasks. These researchers were less interested in mathematical formality since they believed such formalism were not necessarily good models for the way the average human conceptualizes the world. Researchers such as Ron Brachman on the other hand wanted to give AI researchers the mathematical formalism and computational power that were associated with Logic. Their aim was to map the Frame classes, slots, constraints, and rules in a Frame language to set theory and logic. One of the benefits of this approach is that the validation and even creation of the models could be automated using theorem provers and other automated reasoning capabilities. The drawback was that it could be more difficult to initially specify the model in a language with a formal semantics. The way humans use language for example is often far from truly logical.

This evolution also illustrates a classic divide in AI research known as the "neats vs. scruffies". The "neats" were researchers who placed the most value on mathematical precision and formalism which could be achieved via First Order Logic and Set Theory. The "scruffies" were more interested in modeling knowledge in representations that were intuitive and psychologically meaningful to humans. KL-ONE spawned several subsequent Frame languages. One of the most widely used successors to KL-ONE was the Loom language developed by Robert MacGregor at the Information Sciences Institute. The formal semantics of languages such as KL-ONE and Loom gave these frame languages a new type of automated reasoning capability known as the classifier. The classifier is an engine that analyzes the various declarations in the frame language: the definition of sets, subsets, relations, etc. The classifier can then automatically deduce various additional relations and can detect when some parts of a model are inconsistent with each other. In this way many of the tasks that would normally be executed by forward or backward chaining in an inference engine can instead be performed by the classifier.This technology is especially valuable in dealing with the Internet. It is an interesting result that the formalism of languages such as KL-ONE can be most useful dealing with the highly informal and unstructured data found on the Internet. On the Internet it is simply not feasible to require all systems to standardize on one data model. It is inevitable that terminology will be used in multiple inconcistent forms. The automatic classification capability of the classifier engine provieds AI developers with a powerful toolbox to help bring order and consistency to a very inconsistent collection of data (i.e., the Internet).

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

  1. Bartlett, F.C. (1932). Remembering: A Study in Experimental and Social Psychology. Cambridge, England: Cambridge University Press.
  2. Minsky, Marvin (1975). "A Framework for Representing Knowledge". In Pat Winston (ed.). The Psychology of Computer Vision. New York: McGraw Hill. pp. 211–277.
  3. Schank, Roger (1977). Scripts, Plans, Goals, and Understanding. Hillsdale, New Jersey: Lawrence Erlbaum. {{cite book}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  4. Feigenbaum, Edward (September 1, 1986). The Handbook of Artificial Intelligence, Volume III. Addison-Wesley. pp. 216–222. ISBN 0201118114. {{cite book}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  5. Bobrow, D.G. (1977). "An Overview of KRL: A Knowledge Representation Language". Cognitive Science. 1: 3–46. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  6. Brachman, Ron (1978). "A Structural Paradigm for Representing Knowledge". Bolt, Beranek, and Neumann Technical Report (3605).
  7. Crevier, Daniel (1993). AI: The Tumultuous Search for Artificial Intelligence. New York: Basic Books. p. 168. ISBN ISBN 0-465-02997-3. {{cite book}}: Check |isbn= value: invalid character (help)
  8. MacGregor, Robert (1991). "Using a description classifier to enhance knowledge representation". IEEE Expert. 6 (3). Retrieved 10 November 2013. {{cite journal}}: Unknown parameter |month= ignored (help)
  9. Berners-Lee, Tim (May 17, 2001). "The Semantic Web A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities". Scientific American. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)

Additional References

See also

External links

Categories: