The creation of missing rules for knowledge based systems
It is unlikely that any knowledge based system will have a complete rule-base when it is first built. Whether the rules are automatically generated from examples by machine learning methods, or hand encoded by a knowledge engineer, some rules will almost certainly be missing. It is the aim of Knowledge Refinement Systems to enable new rules to be created and included into an existing knowledge base as easily as possible. Previous approaches to this problem have either helped the expert detect that a rule is missing, or attempted to learn a new rule automatically from examples. However, in the former approach, the expert still has to express the new rule, and in the latter, many examples are usually required. The approach described in this thesis falls somewhere between these two extremes. By taking an example which has just failed to give the conclusion the expert required, it should be possible to generate a few plausible new rules. The expert can then select the required rule; a task which he should find easier than building a rule. The method used is to search forward from the example given by the expert, and backward from the conclusion he requires. This 'closes the gap' in the reasoning, and reduces the number of spurious rules generated. Many new rules are created by comparing states from the search processes. These are then filtered using domain specific heuristics, which can be automatically generated from the existing rule-base. These heuristics can also be refined, allowing the refinement system to improve its performance.