Presentation on theme: "Supporting Business Decisions Expert Systems. Expert system definition Possible working definition of an expert system: –“A computer system with a knowledge."— Presentation transcript:
Supporting Business Decisions Expert Systems
Expert system definition Possible working definition of an expert system: –“A computer system with a knowledge base of expertise capable of reasoning at the level of an expert in some given domain; a program that can perform at or near the level of a human expert” A user interacts with the expert system in a “consultation dialogue”: –e.g. explain problem, perform tests suggested by expert, answer questions, ask questions about the proposed solution. Doctor analogy
Expert systems components Arguably, there are four: –knowledge base –inference engine –explanation generator –user interface
Knowledge base Holds the expert knowledge about the domain. Knowledge needs to be represented in some way – see weeks 3 and 4. Knowledge base will be compared against the facts of a specific situation, in order to reach conclusions, and make recommendations. May include “meta-knowledge” –Knowledge about knowledge
Inference engine Contains the problem solving knowledge Uses knowledge from the knowledge base to: –infer new knowledge not explicitly stored –answer specific questions from the user, if necessary by requesting from the user additional information
Explanation generator Expert system needs to be able to explain its reasoning: –people will not accept the advice unless convinced of the accuracy of the reasoning behind it –responsibility issues
Explanation generator (2) Expert systems have been criticised for giving poor explanations. Arguably there are three aspects to producing good explanations: –epistemology –user modelling –rhetoric These are all tricky for computer systems.
User interface Aim - users can easily and efficiently communicate with the system to achieve their task. Hence dialogue facilities must match: –communication needs of, and constraints imposed by, users –task in question
Expert System Shells In an expert system the knowledge base and the inference engine are separate. Idea of expert system shell, therefore: –use same inference engine for different domains –hence get series of expert systems in different domains –by retaining the inference engine we retain the inference mechanisms, the explanation facilities, and the user interface.
“Advantages” of shells: relatively simple cheap (or even free – see Negnevitsky (2002)) easy to learn and use can build systems quickly hence good for rapid prototyping (ibid)
“Disadvantages of shells” “not Turing complete”: –not everything required to implement an ES can always be written in the shell may have relatively unsophisticated inferencing mechanisms
Possible heuristics re when to use expert systems Arguably, the decision whether to use ES approach is based on three criteria: (a) is the approach possible? (b) is the approach necessary? (c) is the approach desirable?
Is the expert system approach possible? Several possible criteria here: (i) Narrowness of domain: –well bounded –not too much “general knowledge” (ii) Complexity of the problem: –not too much “common sense” reasoning (iii) Nature of the problem: –cognitive –visual or sensory not appropriate
Is the expert system approach possible? (2) (iv) Nature of experts –need at least one willing and articulate expert –not too much disagreement (?) (v) Speed of Solution –real time problems with too much data too hard –problems which experts can solve in a few minutes to a few hours time-scale (vi) written material –documentation helps early stages of knowledge acquisition
Is the expert system approach necessary? ES approach relies on a model of the domain knowledge (typically rules and/or frames) and an inference engine that searches the knowledge base seeking solution to the problem. IF a conventional, algorithmic solution can be found, may be better to use it: –likely to be less expensive to develop –likely to be easier to maintain
Is the expert system approach necessary? (2) Typical problem characteristics: conventionalES staticdynamic context-freecontext-sensitive correct/incorrect solutionsadequate/inadequate solutions completely specifiablenot completely specifiable (e.g. wage calculation)(e.g. school teaching)
Is the expert system approach desirable? Possible criteria here: (i) Will the solution be cost effective? (ii) Will the system contain important knowledge? -e.g. expertise that would not otherwise be available (iii) Regularity of use. (a tricky one!)
Is the expert system approach desirable? (2) (iv) Sensitivity of the problem. (v) Social issues. (vi) (Alleged) benefits and weaknesses – see Turban (in handout*)
Precedents? As well as considering the above three issues – possibility, necessity, desirability, one might also consider the issue of whether there are any precedents. –If there are, this might encourage us to use an expert system in our context also
Precedents Typical expert system problem types (Hopgood 2001, Turban): –control –design –diagnosis –interpretation –monitoring –planning –prediction –selection –simulation
Precedents How important expert systems are and/or will become is yet another area of controversy. Examples of “negative” views –“The applicability of expert systems to managerial problems is very limited” (Laudon and Laudon, 2006, 439) –“Only certain classes of problems can be solved using expert systems” (ibid)
Precedents Examples of “positive” views: –“ES provide powerful and flexible means for obtaining solutions to a variety of problems that often cannot be dealt with by other, more traditional and orthodox methods. Thus, their use is proliferating to many sectors of our social and technological life, where their applications are proving to be critical in the process of decision support and problem solving” (Liao, 2005, p93) –“The growth and development of expert systems represents one of the most valuable contributions in the past thirty years from the field of artificial intelligence” (Holsapple et al 2008, p 1084) assgt reminder
Summary Expert systems is the most advanced area of A.I. research in terms of products in regular use. Components: K.B., I.E., E.G., U.I. –Knowledge base, inference engine, explanation generator, user interface Think carefully re whether to attempt one – the above heuristics might help.