|Refiner++ from University of Aberdeen|
What's the Problem?
Producing a Knowledge Base (KB) involves three stages: Knowledge Acquisition, encoding of the knowledge and debugging the KB. Refiner++ is a system which supports all 3 stages, but is particularly effective with the last stage where it and suggests how inconsistencies in a set of examples (cases) can be removed.
Towards a Solution
Refiner++ is a new implementation of Refiner+, [Winter and Sleeman, 1995] an algorithm that detects inconsistencies in a set of examples (cases) and suggests ways in which these inconsistencies might be removed. The domain expert is required to specify which category each case belongs to; Refiner+ then infers a description for each of the categories and reports inconsistencies that exist in the dataset. An inconsistency occurs when a case matches a category other than the one to which the expert has assigned it. If inconsistencies have been detected, the algorithm suggests ways of dealing with the inconsistencies by modifying the dataset; however, it is the domain expert who selects the actual changes to be applied.
There have been a number of changes made in this Java implementation of the algorithm, when compared to the earlier Refiner+ algorithm. These changes have been made for a number of reasons, primarily:
At the time of writing, the Refiner++ system has been used by three experts in their domains: anaesthetics, educational psychology, and intensive care, [Aiken and Sleeman, 2003]. We have discovered that, although the system can be used to import existing datasets and perform analysis on them, its real strength seems to be for an expert who wants to conceptualize a domain where the inherent task is classification, and at least 2 distinct classes exist. Refiner++ requires the expert to specify the necessary descriptors, articulate cases, and thirdly to classify each of the cases provided. This process thus causes the expert to conceptualize their domain; REFINER++ then provides feedback on inconsistencies, and in the process for example additional descriptors are often suggested to disambiguate cases (i.e., descriptors which are 'too obvious to the domain expert to be mentioned' are often articulated). REFINER++ can suggest a number of other types of changes including: reclassifying a case, changing the value of a feature etc. See [Aiken and Sleeman, 2003] for details.
Description of System
Refiner++ is written in Java and is based on the program Refiner+ which was written in Lisp. Producing a Knowledge Base (KB) involves three stages: Knowledge Acquisition, encoding of the knowledge and debugging the KB. Refiner++ is a system which helps with the last stage by detecting and suggesting how inconsistencies in a set of examples (cases) can be removed.
The set of cases presented to Refiner++ are classified into categories by the domain expert. Refiner++ infers a description for each of the categories, and if appropriate, reports any inconsistencies which exist in the data-set. If background knowledge is available, then this is used by Refiner++ to produce more succinct descriptions, but the system is able to function without it.
Refiner++ provides the expert with a number of strategies that can be performed to reduce the number of inconsistencies in the data set. Possible strategies include, changing values in the data set, reclassification of cases and the shelving of cases. The expert has the option to undo any strategies that have been carried out provided that the data set has not been modified since then.
Take a Guided Tour
(TSCC codec required)
Refiner++ is written is Java so should run on all platforms. To be able to run Refiner++ Java must be installed on the computer. If Java is not currently installed, it can be downloaded from the Sun Website.
To run Refiner++ open up a terminal window or DOS prompt, and navigate to the directory that contains refiner.jar. Type the following command:
M. Winter and D. Sleeman (1995). REFINER+: An Efficient System for Detecting and Removing Inconsistencies in Example Sets. In Research and Development in Expert Systems XII (eds M.A. Bramer, J.L. Nealon and R. Milne). Oxford: Information Press Ltd. pp 115-132.
A. Aiken and D. Sleeman (2003) Refiner++: A Knowledge Acquisition and Refinement Tool, presented at KCAP-03 Workshop on Capturing knowledge from domain experts: Progress and Prospects, Sanibel Island, Florida, 26 October 2003