Explanation-based learning (EBL) is a learning method which uses
existing knowledge of the domain to construct an explanation for why a
specific example is a member of a concept or why a specific combination of
actions achieves a goal. This explanation is then generalized in an
analytical manner in order to produce a general concept description or plan
schema. Although a number of exploratory EBL systems which operate in
particular domains have previously been constructed, recent research in this
area has lead to the development of general mechanisms which can perform
explanation-based learning in a wide variety of domains.
This thesis describes a general EBL mechanism, EGGS, which can make use of
declarative knowledge stored in the form of Horn clauses, rewrite rules, or
STRIPS operators. Numerous examples are presented illustrating its
application to a wide variety of domains, including "blocks world"
planning, logic circuit design, artifact recognition, and various forms of
mathematical problem solving. The system is shown to improve its performance
in each of these domains.
EGGS has been most thoroughly tested as a component of a narrative
understanding system, GENESIS, which improves its own performance through
learning. GENESIS processes short English narratives and constructs
explanations for characters' intentional behavior. When the system detects
that a character has achieved an important goal by combining actions in an
unfamiliar way, EGGS is used to generalize the specific explanation for how
the goal was achieved into a general plan schema. The resulting schema is
then retained by the system and indexed into its existing knowledge-base.
This schema can then be used to process narratives which were previously
beyond the system's capabilities. The thesis also discusses GENESIS' ability
to learn meanings for words related to its learned schemata and reviews
several recent psychological experiments which demonstrate that GENESIS can be
productively interpreted as a cognitive model of certain types of human
Ph.D. thesis, Department of Computer Science, University of Illinois at Urbana-Champaign, 1988