SRKB working group, Phase II
Tom Gruber <Gruber@Sumex-AIM.Stanford.edu>
Message-id: <2922599434-1855697@KSL-Mac-69>
Date: Wed, 12 Aug 92 02:10:34 PDT
From: Tom Gruber <Gruber@Sumex-AIM.Stanford.edu>
To: Shared KB working group <srkb@ISI.EDU>
Subject: SRKB working group, Phase II
Ahem, tap tap, is this thing on? Can you hear me in the back?
Hello. If you received this message directly, then you are on the
distribution list for the SRKB working group of the DARPA Knowledge
Sharing Effort. If you were forwarded this message and would like to
be added to the list, send mail to me <gruber@sumex-aim.stanford.edu>.
The SRKB list has been somewhat dormant for the past year, and it is
about to awaken. In this message I will announce a new phase of
effort within the SRKB working group, and in subsequent messages offer
some specifics about procedure and access to information.
1. OUR CHARTER
The SRKB Working Group (Shared, Reusable Knowledge Bases) is working
on the problem of sharing the _content_ of formally represented
knowledge. Sharing content requires more than a formalism (KIF) and
communication protocol (KQML). What is involved in sharing knowledge
at the content level? That is the question we are trying to address.
The charter of the group is to identify the technical barriers to the
sharing and reuse of formally represented knowledge by AI programs,
and to provide a forum for experimentation with possible approaches.
Our focus is on the practical problem of building knowledge-based
software (including knowledge-based systems, knowledge-based services,
and knowledge bases) that can be shared and reused as off-the-shelf
technology.
This is research, or at least advanced development. This is not
standards making or research policy making. The reason that we are
organized as a voluntary group to do this work is based on the
inherently collaborative nature of knowledge sharing. The interesting
problems arise when two or more agents of different minds try to share
or reuse knowledge. We know how to make a spreadsheet share data with
a bar graph tool. We don't yet know how to make portable, shareable,
formal representations of
- the assumptions and commitments made by reusable modules in
knowledge base systems, and how to feed them domain KBs.
- the questions you can ask a remote knowledge server (like Cyc
or a literature database), and the vocabulary and form in which the
answers are to be expected
- the things that a set of engineering tools need to know about to
exchange device models or design data
- the results of representation research, e.g., ways of representing
time, process, abstraction, etc.
The list could go on, but it needn't. In each case of knowledge
sharing, there is some existing product or service that is confined by
its isolation, by a lack of a sharing mechanism. Often the producers
and consumers of the products and services are not the same. The
solutions to these problems will require an understanding of areas of
common interest across companies and research groups, and sharing
mechanisms that will satisfy the needs of different constituencies.
2. WORKING GROUP ACTIVITIES
The initial activities of the working group have been to explore the
research issues in email and meetings. Some highlights:
- The Summer Ontology Project, held at Stanford in 1990,
studied the collaborative, multi-disciplinary development of
reusable ontologies for describing electromechanical devices and
their designs. One outcome was the observation that several
approaches to device modeling, from digital circuit modeling to
rigid body dynamics, seemed to make commitments to lumped-element
models of physical devices. In a lumped-element model, the
behavior of a device is described in terms of values of functions
(state variables) that map a single independent variable (e.g.,
time, but not space) to physical quantities (position, force,
etc.). A preliminary ontology was proposed to formalize these
concepts.
- In March of 1991, the SRKB group met at Pajaro Dunes to characterize
some of the research issues. Position papers were submitted,
talks were given, food was eaten. There was some controversy
about whether it is premature to ``standardize'' any
representations, especially those designed to be comprehensive
over tasks and domains. Instead, a series of collaborative,
grass-roots experiments were proposed, in which two or more
research groups identify potential candidates for knowledge
sharing.
- In July of 1992, a workshop was held at Stanford on reusable
problem-solving methods. It was led by Mark Musen and Bob
Neches. Several groups from the U. S. and Europe described
frameworks for decomposing knowledge systems into modular units
and organizing those modules in libraries. In some cases, the
input/output assumptions of problem-solving methods have been
well defined. We have begun work on formalizing those
ontologies for constraint-satisfaction methods of configuration
design and skeletal-plan refinement methods of planning.
- Two panels have been held at the IEEE conference on AI
Applications, in the spring of 1991 and 1992, in which we
discussed the role of ontology in knowledge sharing and solicited
community input on what is needed. At the most recent panel,
members from the expert systems developer community expressed
strong interest in publicly available content ontologies, that
they could take off the shelf and modify in particular
applications.
To date we've collected a fair amount of information about areas in
which there is a need for knowledge sharing mechanisms, and some
potential usage scenarios. We are now about to begin a new phase of
work.
3. WORKING STRATEGY
3.1 Common ontologies as a sharing mechanism
In the current year, the SRKB working group will focus on a knowledge
sharing mechanism: common ontologies. The basic idea has been
described in previous messages and papers. In short, to enable one to
share and reuse the knowledge of a knowledge source, one defines the
concepts, relations, etc. that are used in knowledge-level
interactions with the knowledge source. The set of terms and their
definitions is called an ontology (more to be said in a later
message). A common ontology is simply the shared vocabulary of a
community of agents.
We are investigating the idea that common ontologies can be used to
specify the knowledge-level commitments and assumptions of a set of
interoperating (or composable) modules. In the long run, we hope to
enable large-scale sharing and reuse of knowledge bases and knowledge
based systems by making common ontologies available as open
specifications, much like interchange formats and communication
protocols.
3.2 Special interest subgroups looking at ontologies of various stripes
In the past year, several collaborations have begun to look at
"ontological niches" -- areas of common interest to a community that
might benefit from a mechanism for knowledge sharing. A set of
special-interest subgroups of SRKB have been formed to study these
ontological niches. We will describe them in the following message.
Each subgroup is tasked with identifying, collecting, making
available, and analyzing ontologies for knowledge sharing.
3.3 Shareable format for ontologies
At the same time, the interlingua committee has come up with a stable
specification for an interchange language called KIF. We have been
experimenting with KIF as a language for writing portable ontologies.
KIF has the nice properties of being declarative (its meaning is
independent of programs), expressive (capable of representing things
we know how to state formally), and moderately human-readable. Since
KIF isn't an executable system, we still needed some way to get from
ontology specifications to the existing knowledge-based software that
we want to share and reuse. To address this need, we have developed a
system called Ontolingua. Ontolingua is a language and tool for
developing and maintaining portable ontologies. It translates from KIF
definitions into several implemented representation systems. This
lets us share ontologies in one format ("on the shelf") and use
them directly in our favorite systems. I will say more about
Ontolingua in a separate message.
We will need to evolve a set of requirements for a shareable ontology. This
is part of the research question, to characterize features of an ontology
that makes it shareable/reusable and to devise mechanisms to support these
features. Using a declarative language, and defining terms, is only part of
the story. I propose that, as a straw man, we collect ontologies in whatever
form they currently exist (in some cases write some from scratch), try to put
them in the form of declarative KIF definitions, and use Ontolingua until a
more useful format becomes available. This at least simplifies the tasks of
analyzing, comparing, and merging the ontologies, but is certainly not
sufficient to guarantee shareability.
In a subsequent message you will see an example ontology. I designed it to
illustrate the kinds of things one might find in an ontology as well as to
offer some conventions for using KIF and Ontolingua. A careful study of the
definitions will reveal a lot of interesting issues, so I hope it can serve
as a source of working examples for our email dicussions.
4. A call to action, an invitation to participate
In sum, our strategy in the new phase of activity is to collect,
analyze, and experiment with ontologies for knowledge sharing and
reuse. Our goal is to produce a report on the state of the art, and
to set up a public forum for experimentation and distribution.
I invite you all to actively participate in the SRKB activities. You
are encouraged to post comments and notes to this mailing list
<srkb@isi.edu>, and you are welcome to participate in any of the
subgroups to which you have the time to contribute. Please send
administrative requests or comments to me
<gruber@sumex-aim.stanford.edu>.
In the next few messages I will describe the topic areas of the
special interest subgroups, a format for collecting ontologies, and
give an example ontology. Message titles are:
special interest working groups within SRKB
SRKB subgroup: knowledge sharing for engineering modeling
A proposed format for ontologies
An example ontology