Content deleted Content added
GreenC bot (talk | contribs) Rescued 2 archive links. Wayback Medic 2.5 |
Citation bot (talk | contribs) Add: isbn, doi, s2cid. Upgrade ISBN10 to 13. | Use this bot. Report bugs. | Suggested by Abductive | Category:Knowledge representation | #UCB_Category 119/198 |
||
Line 112:
===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 engine]]s, researchers soon realized the benefits of extracting part of the core infrastructure and developing general purpose frame languages that were not coupled to specific applications. One of the first general purpose frame languages was KRL.<ref>{{cite journal|last=Bobrow|first=D.G.|author2=Terry Winograd|title=An Overview of KRL: A Knowledge Representation Language|journal=Cognitive Science|year=1977|volume=1|pages=3–46|doi=10.1207/s15516709cog0101_2|doi-access=free}}</ref> One of the most influential early Frame languages was [[KL-ONE]]<ref>{{cite journal|last=Brachman|first=Ron|title=A Structural Paradigm for Representing Knowledge|journal=Bolt, Beranek, and Neumann Technical Report|year=1978|issue=3605|url=http://www.dtic.mil/docs/citations/ADA056524}}{{dead link|date=June 2022|bot=medic}}{{cbignore|bot=medic}}</ref> KL-ONE spawned several subsequent Frame languages. One of the most widely used successors to KL-ONE was the [[LOOM (ontology)|Loom language]] developed by Robert MacGregor at the [[Information Sciences Institute]].<ref>{{cite journal|last=MacGregor|first=Robert|title=Using a description classifier to enhance knowledge representation|journal=IEEE Expert|date=June 1991|volume=6|issue=3|doi=10.1109/64.87683|pages=41–46|s2cid=29575443 }}</ref>
In the 1980s Artificial Intelligence generated a great deal of interest in the business world fueled by expert systems. This led to the development of many commercial products for the development of knowledge-based systems. These early products were usually developed in Lisp and integrated constructs such as IF-THEN rules for logical reasoning with Frame hierarchies for representing data. One of the most well known of these early Lisp knowledge-base tools was the [[Knowledge Engineering Environment]] (KEE) from [[IntelliCorp (software)|Intellicorp]]. KEE provided a full Frame language with multiple inheritance, slots, triggers, default values, and a rule engine that supported backward and forward chaining. As with most early commercial versions of AI software KEE was originally deployed in [[Lisp (programming language)|Lisp]] on [[Lisp machine]] platforms but was eventually ported to PCs and Unix workstations.<ref>{{cite journal|last=Mettrey|first=William|title=An Assessment of Tools for Building Large Knowledge-Based Systems|journal=AI Magazine|year=1987|volume=8|issue=4|url=http://www.aaai.org/ojs/index.php/aimagazine/article/viewArticle/625|access-date=2013-12-09|archive-url=https://web.archive.org/web/20131110022104/http://www.aaai.org/ojs/index.php/aimagazine/article/viewArticle/625|archive-date=2013-11-10|url-status=dead}}</ref>
Line 151:
Early work on Frames was inspired by psychological research going back to the 1930s that indicated people use stored stereotypical knowledge to interpret and act in new cognitive situations.<ref>{{cite book|last=Bartlett|first=F. C.|s2cid=7992164|author-link=Frederic Bartlett|title=Remembering: A Study in Experimental and Social Psychology|year=1932|publisher=Cambridge University Press|___location=Cambridge, England|doi=10.1086/399084}}</ref> The term Frame was first used by [[Marvin Minsky]] as a paradigm to understand visual reasoning and natural language processing.<ref>{{cite book|last=Minsky|first=Marvin|title=The Psychology of Computer Vision|year=1975|publisher=McGraw Hill|___location=New York|pages=211–277|editor=Pat Winston|chapter=A Framework for Representing Knowledge|chapter-url=https://dspace.mit.edu/bitstream/handle/1721.1/6089/AIM-306.pdf?%20sequence=2}}</ref> 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 [[edge detection|detecting the edges]] of an object. Things that 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.<ref>{{cite book|last=Schank|first=Roger|title=Scripts, Plans, Goals, and Understanding|year=1977|publisher=Lawrence Erlbaum|___location=Hillsdale, New Jersey|author2=R. P. Abelson|doi=10.4324/9780203781036 |isbn=9781134919666 |url=https://content.taylorfrancis.com/books/download?dac=C2007-0-06021-9&isbn=9781134919666&format=googlePreviewPdf}}</ref> 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 [[Database trigger|triggers]]) attached to slots. A trigger is simply procedural code that have 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 relation|subsumption]] hierarchies. For example, a basic frame might be ordering at a restaurant. An instance of that would be Joe goes to McDonald's. 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=978-0201118117|pages=216–222|url=https://archive.org/stream/handbookofartific01barr#page/156/mode/2up|author2=Avron Barr|date=September 1, 1986}}</ref><ref>{{cite journal|last=Bobrow|first=D.G.|author2=Terry Winograd|title=An Overview of KRL: A Knowledge Representation Language|journal=Cognitive Science|year=1977|volume=1|pages=3–46|doi=10.1207/s15516709cog0101_2|doi-access=free}}</ref>
Line 164:
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.<ref>{{cite book|last=Crevier|first=Daniel|title=AI: The Tumultuous Search for Artificial Intelligence|year=1993|publisher=Basic Books|___location=New York|isbn=978-0-465-02997-6|page=168}}</ref>
The most notable of the more formal approaches was the [[KL-ONE]] language.<ref>{{cite journal|last=Brachman|first=Ron|title=A Structural Paradigm for Representing Knowledge|journal=Bolt, Beranek, and Neumann Technical Report|year=1978|issue=3605|url=http://www.dtic.mil/docs/citations/ADA056524}}{{dead link|date=June 2022|bot=medic}}{{cbignore|bot=medic}}</ref> KL-ONE later went on to spawn several subsequent Frame languages. The formal semantics of languages such as KL-ONE gave these frame languages a new type of automated reasoning capability known as the [[Deductive classifier|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.<ref>{{cite journal|last=MacGregor|first=Robert|title=Using a description classifier to enhance knowledge representation|journal=IEEE Expert|date=June 1991|volume=6|issue=3|doi=10.1109/64.87683|pages=41–46|s2cid=29575443 }}</ref>
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 inconsistent forms. The automatic classification capability of the classifier engine provides AI developers with a powerful toolbox to help bring order and consistency to a very inconsistent collection of data (i.e., the Internet). The vision for an enhanced Internet, where pages are ordered not just by text keywords but by classification of concepts is known as the [[Semantic Web]]. Classification technology originally developed for Frame languages is a key enabler of the Semantic Web.<ref>{{cite journal |last=Berners-Lee |first=Tim |author2=James Hendler |author3=Ora Lassila |title=The Semantic Web A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities |journal=Scientific American |date=May 17, 2001 |url=http://www.cs.umd.edu/~golbeck/LBSC690/SemanticWeb.html |doi=10.1038/scientificamerican0501-34 |volume=284 |issue=5 |pages=34–43 |url-status=dead |archive-url=https://web.archive.org/web/20130424071228/http://www.cs.umd.edu/~golbeck/LBSC690/SemanticWeb.html |archive-date=2013-04-24 }}</ref><ref>{{cite web|last=Horridge|first=Mathew|title=Protégé OWL Tutorial A step-by-step guide to modelling in OWL using the popular Protégé OWL tools.|url=http://130.88.198.11/tutorials/protegeowltutorial/|work=Manchester University|publisher=Manchester University|access-date=9 December 2013|archive-url=https://web.archive.org/web/20131213081905/http://130.88.198.11/tutorials/protegeowltutorial/|archive-date=13 December 2013|url-status=dead}}</ref> The "neats vs. scruffies" divide also emerged in Semantic Web research, culminating in the creation of the [[Linking Open Data]] community—their focus was on exposing data on the Web rather than modeling.
Line 194:
* R. Bruce Roberts and Ira P. Goldstein, [https://web.archive.org/web/20170706131620/ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-409.pdf The FRL Manual], 1977
* {{cite journal | last1 = Brachman | first1 = R. | last2 = Schmolze | first2 = J. | year = 1985 | title = An overview of the KL-ONE Knowledge Representation System | journal = Cognitive Science | volume = 9 | issue = 2| pages = 171–216 | doi=10.1016/s0364-0213(85)80014-8| doi-access = free }}
* {{cite journal | last1 = Fikes | first1 = R. E. | last2 = Kehler | first2 = T. | year = 1985 | title = The role of frame-based representation in knowledge representation and reasoning | journal = Communications of the ACM | volume = 28 | issue = 9| pages = 904–920 | doi=10.1145/4284.4285| s2cid = 9868560 }}
* 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, [http://www.ai.sri.com/pub_list/236 The Design Space of Frame Knowledge Representation Systems], Technical Note 520. [[Artificial Intelligence Center]], [[SRI International]], 1992
|