Thursday, October 23, 2008

Building Concept Representations from Reusable Components

Citation: Peter Clark, Bruce Porter. Building Concept Representations from Reusable Components. In Proceedings of Fourteenth National Conference on Artificial Intelligence (AAAI), 1997.
Link: CiteSeerX

Summary

The goal of this work is the construction of knowledge-based systems capable of answering a wide range of questions, including questions unanticipated when the knowledge-base was constructed. The fundamental requirement is that the system must be able to dynamically construct new concept representations automatically, and in response to questions posed to it. The approach of this work is to structure a knowledge-base as a set of generalized, representational components, and to develop methods for automatically composing components on demand.

The target domain used for illustration throughout the paper, is bio-remediation. For a system to answer a variety of questions about bio-remediation, it needs a concept representation which states its relationship with other concepts. The concept representation combines properties from numerous abstract concepts. It includes a process of conversion, treatment and digestion. This paper presents a way to construct concept representations by composing their constituents, and to control the process so that only the required portions of concept representation are built.

A standard and intuitive account of automatic concept construction is the use of frame representations with multiple inheritance. The basic representational unit is a frame (or concept), and concepts are organized into a taxonomic hierarchy (lattice). In simplest case, each concept is described by a set of properties, each of which is a pair showing the concept's relationship to other concepts. A concept can be composed from other concepts in two ways: inheritance, and modifying a base concept. This approach achieves composition efficiently, and is intuitive.

There are two major problems that frame-based models fail to address:
  • While taxonomic relationships between individual concepts are easy to establish, there appears to be no easy way of composing systems of concepts. We would like to automatically import abstract systems to concepts where they apply, rather than manually enumerating their axioms. This is difficult to do with inheritance. It becomes impossible when same abstract systems can be applied to the same concept in multiple ways.
  • Concept interactions are not well-modeled in this method. No adequate methods for composing two concepts by using one to modify a property of the other are available.
The mentioned concerns are addressed in the following two ways:
  • Changing the organization of knowledge from one based on individual concepts to one based on systems of interacting concepts. So the system is viewed as a set of mini-theories. These systems of concepts are called components.
  • Adding a computational mechanism for composing a concept description from components. This involves applying a repeated cycle of classify and elaborate in a goal-directed way to compute the components' relationships. In this mechanism, classification enables elaboration, and elaboration triggers further classification.
Intuitively, a component encapsulates a coherent system of concepts and their relationships, which can be mapped onto a variety of situations where that pattern is deemed to hold. A component is defined as a triple [P,A,R] where P is a set of participants (denoting the objects involved in the pattern), A is a set of axioms (describing relationships among participants), R is a set of roles with which the participants can be labeled, each role referring to a different participant. A component's interface is the set of role-participant pairs of the component. A component can be instantiated by binding its participants to objects in the target domain. When this happens, the axioms in the component are asserted for those objects. Compound concepts can now be specified as a composition of components. A specification states how the components' interfaces plug together, describing how their roles correspond.

A concept representation is an integration of information from the concept's components, subject to the mapping given in the concept's specification. It is more than a simple union of the components' axioms, as axioms may interact to allow additional information to be inferred about the concept. In general, constructing a compound concept representation in its entirety is intractable. Therefore, by design, this concept construction method is driven by questions posed to the knowledge-base. To answer questions that reference concepts not explicitly in the knowledge-base, the system first creates a scenario, consisting of Skolem individuals denoting parts of the compound concept plus the relationships among them. The system then elaborates the scenario to find the answer to the given question.

The algorithm uses access paths as the language for querying the knowledge base. Given a query expressed as an access path, the composition algorithm applies the Classify-Elaborate cycle (to each Pi(xi-1, xi) in turn) to 'follow the path'. The goal is to compose just the information necessary to answer the query.

Classify: Before search for solutions for the predicate Pi(xi-1, xi), first try to refine the classification of xi-1 from its known class to something more specific, to find its most specific generalization(s). Elaborate: To find solutions for Pi(xi-1, xi), search for axioms that conclude the value(s) of xi, looking in the components in which xi-1 participates. Each of these operations can trigger a recursive call to another Classify-Elaborate cycle.

Definitions

Access Path: An access path is a sequence of binary predicates: P1(C, x1), P2(x1, x2),...,Pn(xn-1,xn) where C is a constant and the xi's are free variables. An access path references the set of values for xn for which there exists at least one value for all other variables in the path.

No comments: