Shell kit for building diagnostic knowledge-based systems
| developed by |
keywords |
| Würzburg University, Germany
|
Expert system shell, expert systems, knowledge-based systems, diagnostic systems, knowledge authoring, knowledge management environment, distributed problem solving, reuse |
| status |
Download details |
| In use. Has been used in building clinical systems. |
|
| description |
d3web, a Java-based successor of D3, supports prototyping and development of distributed knowledge systems using a visual knowledge acquisition tool.
Knowledge can be reused for a variety of different tasks:
- "consultation, i.e. the user enters case data and the expert system indicates tests for further elaboration and suggests diagnostic and therapeutic options,
- documentation, i.e. the cases are stored in a case base or printed in various forms e.g. as a medical report,
- case-retrieval, i.e. the user searches known cases similar to a new one using case-based reasoning or simple data base queries, conventional information look-up based on formal and informal (electronic book) knowledge,
- training, i.e. the user interactively solves a case presented by the computer step-by-step and receives didactic comments generated from the system's knowledge base."
D3/d3web offer various problem solving methods including categorical, heuristic, statistic, set-covering, functional and case-based diagnostic problem solving methods, and a complete graphical knowledge acquisition interface.
Information on the D3Web website is provided in both German and English. For detailed information, consult the references below.
|
| references |
Baumeister J. Agile Development of Diagnostic Knowledge Systems.
PhD Thesis, University of Würzburg, diski Verlag, 2004
[Uni Würzburg]
[]
|
"
The success of diagnostic knowledge systems has been proved over the last decades. Nowadays, intelligent systems are embedded in machines within various domains or are used in interaction with a user for solving problems. However, although such systems have been applied very successfully the development of a knowledge system is still a critical issue. Similarly to projects dealing with customized software at a highly innovative level a precise specification often cannot be given in advance. Moreover, necessary requirements of the knowledge system can be defined not until the project has been started or are changing during the development phase. Many success factors depend on the feedback given by users, which can be provided if preliminary demonstrations of the system can be delivered as soon as possible, e.g., for interactive systems validation the duration of the system dialog. This thesis motivates that classical, document-centered approaches cannot be applied in such a setting. We cope with this problem by introducing an agile process model for developing diagnostic knowledge systems, mainly inspired by the ideas of the eXtreme Programming methodology known in software engineering. The main aim of the presented work is to simplify the engineering process for domain specialists formalizing the knowledge themselves. The engineering process is supported at a primary level by the introduction of knowledge containers, that define an organized view of knowledge contained in the system. Consequently, we provide structured procedures as a recommendation for filling these containers. The actual knowledge is acquired and formalized right from start, and the integration to runnable knowledge systems is done continuously in order to allow for an early and concrete feedback. In contrast to related prototyping approaches the validity and maintainability of the collected knowledge is ensured by appropriate test methods and restructuring techniques, respectively. Additionally, we propose learning methods to support the knowledge acquisition process sufficiently. The practical significance of the process model strongly depends on the available tools supporting the application of the process model. We present the system family d3web and especially the system d3web.KnowME as a highly integrated development environment for diagnostic knowledge systems. The process model and its activities, respectively, are evaluated in two real life applications: in a medical and in an environmental project the benefits of the agile development are clearly demonstrated.
" |
| Puppe, F.
Knowledge Reuse among Diagnostic Problem Solving Methods in the Shell-Kit D3.
International Journal of Human-Computer Studies 49, 627-649, 1998.
[]
[U. Würzburg]
|
"
While diagnostic problem solving is in principle well understood, building and maintaining systems in large domains cost effectively is an open issue. Various methods have different advantages and disadvantages making their integration attractive. When switching from one method to another in an integrated system, as much knowledge as possible should be reused. We present an inference structure for diagnostic problem solving optimized with respect to knowledge reuse among methods motivated by experience from large knowledge bases built in medical, technical and other diagnostic domains.
..... Diagnostic Problem Solving probably is the best understood subdomain of knowledge (expert) systems [Puppe 93, Breuker & Velde 94]. Diagnostic (classification) problems can be characterized as the selection of solutions from a preenumerated set of alternatives (diagnoses) for a problem described by observations (symptoms). Typical domain types (see [Puppe 93, chap. 13.2]) are medical diagnosis and therapy selection, object identification (e.g. plants, rocks), fault finding for technical devices and processes (e.g. car engines, printing machines), assessment (e.g. credit granting or legal advice) and precedence selection (e.g. looking for the best product). There are a variety of successful problem solving methods for categorical, heuristic, causal or case-oriented knowledge requiring different representations [Puppe 96] [...]:
Categorical classification using decision trees or decision tables
Heuristic classification using knowledge of the kind "if then with , the latter estimated by experts. Diagnoses are rated according to their accumulated evidence.
Causal classification with various kinds of models:
- Set covering classification using knowledge of the kind "if then with ", the latter estimated by experts. Diagnoses are rated according how well they cover (explain) the observed symptoms.
- Functional classification using a system model with abstract "components" and "materials". (Abnormal) Symptoms are calculated as differences between expected and observed system behavior and diagnoses are local changes of the system model (usually a malfunction of components) capable of predicting the symptoms.
- Behavioral classification, which is similar to functional classification but starts with a system model based on physical (behavioral) principles, where the intended function is just one of many behaviors of a structure.
Case-oriented classification using cases as the primary knowledge source in different ways:
- Statistical classification using knowledge about the a priori probability of diagnoses P(D) and the conditional probability P(S/D) of symptom S if diagnosis D is present, where the probabilities are calculated from a representative case base. Diagnoses are rated according to the Theorem of Bayes or with Bayesian nets.
- Neural classification using a case base for adapting the weights of a neural net capable of classifying new cases.
- Case based classification using a case base directly together with knowledge about a similarity measure. For a new case, the most similar cases from the case base are selected assuming their solutions (diagnoses) to be applicable to the new case as well.
At least in principal, all methods can be applied to all classification domains with one important exception: Functional and behavioral classification are only applicable for fault finding (troubleshooting) by searching for differences between the correct and a malfunction of a system. Classification domain types without such a model are e.g. object identification, assessment and precedence selection (see above).
While the principal problems of diagnostic modeling are quite well understood, and for most domains routine approaches can be offered, the cost effectiveness of large knowledge bases (with more than 1000 symptoms and diagnoses) is a major issue. For a company, the crucial question is whether the expected benefits from routine use exceeds the costs incurred from building and maintaining the knowledge base. Since the knowledge acquisition costs increase exponentially with the degree of completeness of knowledge bases, we cannot make the assumption [Fensel & Benjamins 96, van Harmeln & ten Teije 98], that knowledge bases are complete - neither with respect to the coverage of all possibly relevant observations nor with respect to the correctness and completeness of the knowledge drawing conclusions from them. In the following we concentrate on interactive systems with the user entering at least some of the symptoms of the case (as opposed to embedded systems). The goal of interactive systems is not primarily to solve problems automatically but to increase user performance (see e.g. the discussion in [Berner et al. 94]). Therefore, we have to accommodate for vague, incomplete and incorrect data - the latter due to difficulties of the user with symptom recognition. In particular with respect to different compromises between knowledge and data acquisition effort and accuracy of the resulting product, the various methods have different advantages and disadvantages. In the following, we discuss general knowledge acquisition strategies with an emphasis on the costs for building and maintaining a knowledge base.
Knowledge bases can be built by knowledge engineers supported by domain experts, by the domain experts themselves or by machine learning techniques. The latter is the least expensive alternative. It usually requires a data base with many cases, where the observations are stored in a standardized form together with the correct solutions. The statistical, case-based and neural classification methods belong to this category. In addition there are inductive learning techniques like the ID3-family of decision tree learning algorithms or the star method for learning rules (for a thorough evaluation see [Michie et al. 94]). However, these algorithms currently cannot solve the knowledge acquisition problem for several reasons. First, a large effort is necessary to produce detailed, standardized documentation forms for data gathering, which is still left to the expert. Second, the raw data is often too low level for learning algorithms, so that experts need to add preprocessing knowledge (which we call data abstraction). Third, it is often quite useful to formalize basic domain knowledge in advance. Fourth and most important, the quality of the generated knowledge is often poor compared to expert knowledge. One common reason is the lack of sufficient cases for generating useful abstractions to classify rare diagnoses. While we do not expect that learning from cases can produce knowledge bases of similar quality as possible with experts, it can be a useful technique to support manual knowledge acquisition.
Since knowledge acquisition with two kinds of highly paid specialists - knowledge engineers and domain experts - is often too expensive, we concentrate on the alternative of domain experts building their knowledge bases largely on their own. The first requirement is a shell with a convenient, easy to learn and fast to use knowledge acquisition interface. Visual programming languages [Burnett & Ambler 94] offer these features and are particularly well suited for diagnostic problem solving, because most knowledge can be represented declaratively. To enter their knowledge the experts have to fill in forms, tables, graphs or hierarchies [Bamberger et al. 97].
"
|
| Puppe, F.; Ziegler, S.; Martin, U.; Hupp, J.
Wissensbasierte Diagnosesysteme im Service-Support.
Springer-Verlag, 2001.
[]
[]
|
"
"
|
| Puppe, F.; Gappa, U.; Poeck, K.; Bamberger, S.
Wissensbasierte Diagnose- und Informationssysteme.
Springer-Verlag, 1996.
[]
[]
|
"
"
|
|
| contact |
links |
Würzburg University
Lehrstuhl für Informatik VI
c/o D3
Am Hubland
D-97074 Wuerzburg
E: info@d3web.de
|
|
| Acknowledgement |
| Christian Betz, knowIT-Software, Germany |
Entry on OpenClinical: 27 October 2004 Last main update: 27 November 2004
|
|