13.1 Knowledge Sharing

Having an appropriate representation is only part of the story of building a knowledge-based agent. We also should be able to ensure that the knowledge can be acquired, particularly when the knowledge comes from diverse sources and at multiple points in time and should interoperate with other knowledge. We should also ensure that the knowledge can be reasoned about effectively.

Recall that an ontology is a specification of the meanings of the symbols in an information system. Here an information system is a knowledge base or some source of information, such as a thermometer. The meaning is sometimes just in the mind of the knowledge-base designer or in comments with the knowledge base. Increasingly, the specification of the meaning is in machine-interpretable form. This formal specification is important for semantic interoperability - the ability of different knowledge bases to work together.

Example 13.1: A purchasing agent has to know, when a web site claims it has a good price on "chips," whether these are potato chips, computer chips, wood chips, or poker chips. An ontology would specify meaning of the terminology used by the web site. Instead of using the symbol "chip", a web site that adheres to ontologies may use the symbol "WoodChipMixed" as defined by some particular organization that has published an ontology. By using this symbol and declaring which ontology it is from, it should be unambiguous as to which use of the word chip is meant. A formal representation of the web page would use "WoodChipMixed", which may get translated into English simply as "chip". If another information source uses the symbol "ChipOfWood", some third party may declare that the use of the term "ChipOfWood" in that information source corresponds to "WoodChipMixed" and therefore enable the information sources to be combined.

Before discussing how ontologies are specified, we first discuss how the logic of the previous chapter (with variables, terms, and relations) can be used to build flexible representations. These flexible representations allow for the modular addition of knowledge, including adding arguments to relations.

Given a specification of the meaning of the symbols, an agent can use that meaning for knowledge acquisition, explanation, and debugging at the knowledge level.