User:Mdebellis/sandbox
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.[1] The term Frame was first used by Marvin Minsky as a paradigm to understand visual reasoning and natural language processing.[2] 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 then 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.[3] These interactions were standardized as Frame with slots that often had default values but also required further refinement as part of the execution of each instance of the scenario. Essentially the abstract Frame represented an object class and the frame instances an object instance. Similarly slots were what are called object properties in the object-oriented paradigm. 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 "demons" (aka triggers and similar to the database concept of triggers) attached to slots. A demon was simply procedural code that was attached to a slot. The demon 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.[4]
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
- ^ Bartlett, F.C. (1932). Remembering: A Study in Experimental and Social Psychology. Cambridge, England: Cambridge University Press.
- ^ Minsky, Marvin (1975). "A Framework for Representing Knowledge". In Pat Winston (ed.). The Psychology of Computer Vision. New York: McGraw Hill. pp. 211–277.
- ^ Schank, Roger (1977). Scripts, Plans, Goals, and Understanding. Hillsdale, New Jersey: Lawrence Erlbaum.
{{cite book}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - ^ 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)
Additional References
- Marvin Minsky, A Framework for Representing Knowledge, MIT-AI Laboratory Memo 306, June, 1974.
- Marvin Minsky, A Framework for Representing Knowledge, in: Patrick Henry Winston (ed.), The Psychology of Computer Vision. McGraw-Hill, New York (U.S.A.), 1975.
- Daniel G. Bobrow, Terry Winograd, An Overview of KRL, A Knowledge Representation Language, Stanford Artificial Intelligence Laboratory Memo AIM 293, 1976.
- R. Bruce Roberts and Ira P. Goldstein, The FRL Primer, 1977
- R. Bruce Roberts and Ira P. Goldstein, The FRL Manual, 1977
- R. Brachman, J. Schmolze. An overview of the KL-ONE Knowledge Representation System. Cognitive science 9, 171-216, 1985
- Fikes, R. E., and T. Kehler. (1985). The role of frame-based representation in knowledge representation and reasoning. Communications of the ACM 28(9):904-920.
- Peter Clark & Bruce Porter: KM - The Knowledge Machine 2.0: Users Manual, http://www.cs.utexas.edu/users/mfkb/RKF/km.html.
- Peter D. Karp, The Design Space of Frame Knowledge Representation Systems, Technical Note 520. Artificial Intelligence Center, SRI International, 1992
See also
- First-order logic
- Frame (artificial intelligence)
- Semantic Networks
- Ontology language
- Description logic