Reference: Gruber, T. The Role of Standard Knowledge Representation for Sharing Knowledge-Based Technology. KSL, August, 1990.
Abstract: AI has its thousand points of light. While a large community of researchers invent new knowledge representations, reasoning methods, and knowledge-based systems that make use of these innovations, very little of this work gets shared in a machine intelligible form. This is ironic, since AI theories and experiments are especially well-suited for delivery and examination in the computational medium. Furthermore, the ability to build comprehensive bodies of knowledge, shared among cooperating systems, could have great practical utility in industrial applications, particularly in engineering domains. What's missing? Part of the answer is the fact that the field is young, lacking a strong paradigm such as biology's theory of evolution or chemistry's periodic table. Some would say that AI is pretheoretical or prescientific. As a result, goes the argument, researchers have no common theoretical language for communicating, comparing, and building upon results. One solution to the problem of youth is to get old (well, mature). In the mean time, there is something to be done about "the language thing". If the research community could agree on a form in which some useful subset of what they produce can be shared among other researchers, in a form that other people's programs can use, it would be a step in the right direction. Today, we can share Common Lisp programs. This is not enough, since it typically forces the consumer of the program to buy into the whole architecture of the contributor's program, rather than some modular piece that can be incorporated into an exisitng environment. In addition, Common Lisp is a programming language, and what we produce is not necessarily a program. One option that has come to many minds is to share knowledge bases, rather than programs. Toward this end, a group of people at Stanford has gotten together to try to agree on a language in which they can share knowledge bases. The group has several research projects with complementary technology and knowledge to contribute, with a common focus on modeling engineered devices. There is a working proposal for a language, called KIF (Knowledge Interchange Format), a strategy for transferrring knowledge bases among programs, a plan for coordinating the namespace, and discussions underway toward a set of very general primitives upon which to build richer shared ontologies. Based on the discussions of that group and with others in the community, this note will describe possible ways in which knowledge bases can be shared, requirements for a shared representation language, mechanisms for sharing knowledge bases among people and programs, and some of the technology that will facilitate the development and use of shared KBs. Examples from the KIF experience will be used to illustrate possible approaches to some of the issues.
Full paper available as hqx, ps.