foundations of computational agents
Having an appropriate representation is only part of the story of building a knowledge-based agent. We also should ensure that the knowledge can be acquired from people and from data. The knowledge for any non-trivial domain comes from diverse sources and at multiple points in time. Multiple sources need to interoperate, to work together, at both a syntactic level and a semantic level.
Recall that an ontology is a specification of the meanings of the symbols in an information system. Here an information system can be a knowledge base, a sensor such as a thermometer, or some other source of information. The meaning of the symbols is sometimes just in the mind of the knowledge base designer, in a user manual, or in comments with the knowledge base. Increasingly, the specification of the meaning is in machine-interpretable form. This formal specification of the meaning is important for semantic interoperability – the ability of different knowledge bases to work together at a semantic level so that the meanings of symbols are respected.
A purchasing agent has to know, when a website claims it has a good price on “chips,” whether these are potato chips, computer chips, wood chips, or poker chips. An ontology would specify the meaning of the terminology used by the web site. Instead of using the symbol “chip”, a website 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”. 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 a type of “WoodChipMixed” and therefore enable the information sources to be combined.
The specification does not need to define terminology precisely; it only needs to define terms well enough so they can be used consistently. Specifying that a thermometer measures the temperature in Celsius would be adequate for many applications, without needing to define what temperature is or the accuracy of the thermometer.
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.