In this context, an ‘expert system’ is an information system, or application, that dynamically simulates the advice that would be given by a human expert when asked about a ‘problem’ related to their field of expertise. For example, an expert HR consultant might be asked how much severance needs to be paid to an employee being dismissed. The HR consultant would ask the ‘client’ a series of questions such as … is there a union contract? Is the company governed by provincial or federal employment standards? How long has the employee worked for the company? How much money does the employee make? What is their job title or level? Why are they being let go? … and so on. At the end of the series of questions, the human expert would answer the question. He or she, for example, might say … “Well, given the circumstances you’ve indicated, I would recommend a severance payment of six months salary.” A good expert system would ask a user the same kind of questions and provide the same answer as a human expert.
In doing this assignment you should start with a problem to be solved. It should be the kind of problem someone might discuss with an expert. For example:
What kind of skateboard should I buy? (ask a expert skater)
i.e. Purpose of skating, weather, street or park, etc.
What make-up or fabric colours look best on me? (ask a fashion consultant / expert)
i.e. Skin tones, shape of face, body, etc.
How should I dress for a meeting with the Queen? (ask an expert in etiquette or protocol)
i.e. Is is a dinner or ceremony, morning or evening, formal or informal, etc.
Assume that a human ‘user’ will ask this question of your ‘expert system’. Your job, then, is to create a series of questions that will result in the system answering the question. The ‘answer’ of course, will vary depending on the answers provided by the user. That is, the expert solution will change if different users answer the questions differently.
1. Design and build a web-based expert system as a series of hyperlinked pages. You can use HTML, XML, MS Word … or any other tool you know how to use (e.g., Adobe Dreamweaver, CorelDRAW, iWeb, etc.) to develop your web-based expert system. Each individual question or outcome must be on a separate page. The minimum number of webpages required is 80. The pages should be linked and organized in a file or folder (e.g. a USB memory stick) that can be easily read by a web browser.
2. During the second-to-last class (the last class prior to the final exam). Prepare a six-minute class presentation during which you will explain what your expert system does … and what problem it is designed to solve. You will be expected to demo your system using members of the audience as ‘users’ and answer questions.
3. Immediately before you deliver your class presentation and do your demo, submit a written report. The report should be double spaced and follow the following format:
• Cover page – the template is attached – see below
• Executive Summary – an overview and summary of your report
• Introduction – What is the problem you are trying to solve? Why did you pick that problem? Where did your idea come from? Is it an important or series problem? Why? Do other expert systems exist which are similar to yours?
• Knowledge Engineering – Who was the human expert whose knowledge you used to create your system? How did you go about documenting this knowledge? Did you need to do any additional research? How do you know your expert’s solutions are correct? Did you test them or validate them in any way? Did you talk with more than one expert?
• Methodology – How did your team manage the project of creating the system, preparing the presentation and writing this report? Include a work breakdown summary, a GANTT Chart and a PERT diagram.
• Technical Overview Provide an outline of your system. How was it built? What tools were used? How was it tested? If there were problems, how were they fixed?
• Benefits -What are the pros and cons of your system? That is, its strengths and weaknesses?
• Next Steps – If you continued this project, what would you do to make your system better? How would you improve it?
• Conclusions – What did you learn? What are your observations and conclusions about developing an expert system? What advice do you have for anyone else doing a similar project? What is likely to happen with expert systems in the future?
• Works Cited.