Automating the refinement of knowledge based systems
Knowledge acquisition is a well known bottleneck in the production of a knowledge based system. An initial knowledge base is unlikely to perform adequately, but changing the knowledge base can improve its empirical performance. Knowledge refinement has been fairly expert intensive, and so automating the refinement process eases knowledge acquisition. KRUST is an automated knowledge base refiner which exploits multiple knowledge sources as a way of relieving the expert of tedious refinement tasks. The expert simply supplies his solution for various cases. KRUST is presented with a training case where the expert's conclusion conflicts with the knowledge based system's conclusion. KRUST proposes and implements a set of possible refinements, each of which is designed to correct the deviant behaviour for the training case. Filters use a variety of evidence suggested by other task-solution pairs, meta-knowledge on the quality of rules, and heuristics, to remove unlikely refinements and badly behaved knowledge bases. Finally KRUST ranks the remaining refined knowledge bases according to their empirical quality and recommends the best refined knowledge base to the expert. In contrast to existing refinement systems which implement a single refinement, KRUST generates many refinements, but rejects those against which it finds condemning evidence. Thus KRUST's philosophy does not pre-judge refinement quality, but instead rejects refinements only once blame is attributed to them. Our testing has shown that KRUST is able to generate and manage multiple refinements, and yet finally recommend a single refined knowledge base. The recommended knowledge bases are not predominantly of one type, thus justifying our criticism of the single-mindedness of existing refinement systems.