Please enable JavaScript.
Coggle requires JavaScript to display documents.
Expert System Development Tools (Building ES (Majority of software tools…
Expert System Development Tools
Overview of ES Tools
ES Tools are all designed to support prototyping
Prototype is a working model that is functionally equivalent to a subset of the product
The idea is to develop, early in the project, a "proof of concept" program which can be critiqued by user or expert which solves some non-trivial part of the problem
Development tool: A suite of software that allows construction of a knowledge base and interaction with this knowledge base through use of an inference engine
Can be acquired in 2 ways
Developed from scratch: KBS Tools may be developed for a particular project from scratch
Obtain an "off the shelf" system: A system which comes with no knowledge base of its own, but will work with a user-provided knowledge base. Often called an "expert system shell"
Used by Knowledge Engineer (to develop the KB and test it) or the Final User (with a KB)
Building ES
Majority of software tools for building expert systems seems to fall into these categories
Conventional programming languages
e.g. PHP, C++, Java, Python
AI programming languages
e.g. LISP and Prolog
Expert system shells
e.g. Experise2Go, Mcgoo, Crystal, XpertRule, Leonardo, Xi-Plus
The first choice is almost certainly a challenge but it is flexible as well as they can be used to tailor a system exactly to an application
Conventional programming languages not designed for this sort of job, too much work required to make the program perform in way required
However, if it is important to have highly efficient software, this might be a suitable choice
Computer languages for logic programming must have structures for storing and retrieving known and deduced facts from a fact base or knowledge base and they must have functions or procedures for deducing new facts
It has the advantage where flexible system can be built, accurately reflecting the peculiarities of the knowledge domain and system task
Disadvantages
: Programming skills in these languages are not common. It may be necessary to hire specialist programmers or retrain the programming staffs. Programming the system will always be a larger (and hence longer and more expensive) task than using a shell
Expert System Shells have been the most frequent choice for commercial systems in recent years
An expert system shell is a ready-made expert system with the knowledgebase missing, together with instructions for building a knowledgebase in the customer's chosen domain
Expert System Shells
Typical implementation facilities provided by shells
A knowledge representation language
A knowledge base editor
Tracing and debugging facilities
Range of user interface facilities
Links to conventional/external programs
Facilities for uncertain reasoning
Rule induction facilities (possibly)
Matching Shells to Tasks
All shells are not suited to all tasks
Van Melle: First to point out that EMYCIN was not a general-purpose problem solving architecture rather he suggested that EMYCIN was suitable for deductive approaches to diagnostic problems
It is difficult to be rigorous in one's recommendations concerning what shell should be used for what problem because they do not have very clear ideas concerning how the broad range of expert system tasks should be classified
Advantages
The programming effort that has gone into building the user interface and inference engine is re-used
The level of programming skill needed to produce the finished system is much lower than it would be if the system was programmed from scratch using a language
This means that, if an appropriate shell is chosen, the project can be completed faster and cheaper
Disadvanatages
ES tools are "end user tools". Compared with systems programmed from a language, such a software packages tend to produce systems that have poor documentation, weak security and difficult maintenance problems
The problem of flexibility: If the shell is a poor match for the type of knowledge in the domain concerned, it is liable to produce a system which simply doesn't correspond to the expertise of the original domain expert