User:Mdebellis/sandbox: Difference between revisions
Line 9: | Line 9: | ||
As with object classes Frames were organized in [[Subsumption relation|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 (computer science)|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.<ref>{{cite book|last=Feigenbaum|first=Edward|title=The Handbook of Artificial Intelligence, Volume III|publisher=Addison-Wesley|isbn=0201118114|pages=216-222|url=https://archive.org/stream/handbookofartific01barr#page/156/mode/2up|coauthors=Avron Barr|date=September 1, 1986}}</ref> |
As with object classes Frames were organized in [[Subsumption relation|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 (computer science)|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.<ref>{{cite book|last=Feigenbaum|first=Edward|title=The Handbook of Artificial Intelligence, Volume III|publisher=Addison-Wesley|isbn=0201118114|pages=216-222|url=https://archive.org/stream/handbookofartific01barr#page/156/mode/2up|coauthors=Avron Barr|date=September 1, 1986}}</ref> |
||
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.<ref>{{cite journal|last=Bobrow|first=D.G.|coauthors=Terry Winograd|title=An Overview of KRL: A Knowledge Representation Language|journal=Cognitive Science|year=1977|volume=1|pages=3-46}}</ref> One of the most influential early Frame languages was [[KL-ONE]] This evolution also illustrates a classic divide in AI research known as the [[Neats vs. scruffies|"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.<ref>{{cite book|last=Crevier|first=Daniel|title=AI: The Tumultuous Search for Artificial Intelligence|year=1993|publisher=Basic Books|location=New York|isbn=ISBN 0-465-02997-3|page=168}}</ref> |
|||
Early research on Frame languages had largely been pioneered by "scruffies" such as [[Roger Schank]]. The later languages with formal semantics and automatic classification were driven by "neats" such as [[Ron Brachman]]. Brachman's KL-ONE language and |
|||
<ref>{{cite journal|last=Brachman|first=Ron|title=A Structural Paradigm for Representing Knowledge|journal=Bolt, Beranek, and Neumann Technical Report|date=1978|issue=3605}}</ref> |
|||
==Implementations== |
==Implementations== |
Revision as of 21:09, 7 December 2013
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]
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.[5] One of the most influential early Frame languages was KL-ONE 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.[6]
Early research on Frame languages had largely been pioneered by "scruffies" such as Roger Schank. The later languages with formal semantics and automatic classification were driven by "neats" such as Ron Brachman. Brachman's KL-ONE language and
Implementations
The earliest Frame based languages were custom developed for specific research projects and were not packaged as tools to be re-used by other researchers. Just as with expert system inference engines, researchers soon realized the benefits of extracting part of the core infrastructure and developing general purpose frame languages that were not coupled with specific applications. One of the first general purpose frame languages was KRL.[8] One of the most influential early Frame languages was KL-ONE[9]
Two examples of frame- or frame based- languages are OIL and F-logic. An editor for frame-based ontologies is Protégé.
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) - ^ 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) - ^ 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) - ^ Brachman, Ron (1978). "A Structural Paradigm for Representing Knowledge". Bolt, Beranek, and Neumann Technical Report (3605).
- ^ 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) - ^ Brachman, Ron (1978). "A Structural Paradigm for Representing Knowledge". Bolt, Beranek, and Neumann Technical Report (3605).
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