EXPERT SYSTEM WITH APPLICATION IN CAREER COUNSELING
UNDER THE GUIDANCE OF- SUBMITTED BY-
PROF. ASHU JAIN SHUBHRA JAISWAL
I, Shubhra Jaiswal(M.Tech,IITK), hereby confirms that I abide by the priciples of being a student and its importance. I,therefore,assures that I have not committed any sort of plagiarism while writing this piece of work nor I am involved in any such activity with fellow students.
2 LITERATURE REVIEW
5 EXPERT SYSTEM
6 HUMAN-COMPUTER INTERACTION (HCI)
7 ARCHITECTURE OF AN EXPERT SYSTEM
8 REASONING MECHANISM
9 A GENTLE INTRODUCTION ON CLIPS
10 APPLICATION OF EXPERT SYSTEMS IN CAREER COUNSELING
11 FUTURE SCOPE
This project work has received supports from no. of people who have spared their time in encouraging my piece of work and granting full support. First and foremost I would like to show my gratitude to IIT,Kanpur and Prof. ASHU JAIN who has always been so supportive throughout this work and shared his insight and expertise .
I would also like to thank my friends and batchmates ,who spared their time in guiding me through this work in every aspect.
Ofcourse,” Expert Systems” by A.Bonnet and J.P.Haton , ” Expert System” by R.Forsyth and “CLIPS User’s Guide” by Joseph C. Giarratano
was a huge help with this project. And that’s just to list a few.
– Shubhra JaiswalLITERATURE REVIEW
EXPERT SYSTEMS by R. Forsyth – A book on expert system with such an amazing insight into the expert systems.
EXPERT SYSTEMS by A.Bonnet and J.P Haton – Explains the basics of expert system from the very scratch. Contains well illustrated examples and rule sets. It unfolds many phases of learning expert system.
CLIPS: User’s Manual, by Joseph C. Giarratano – Takes us through the foundations of the code writing in CLIPS. Explains every syntax and commands used in CLIPS. Well illustrated with examples in every topics and subtopics. Easily explained the structure to write a rule in CLIPS.
Internet – Ofcourse the destination for any sort of query. Its a search engine to look for almost every problem encountered in expert system.
EXPERT SYSTEM WITH APPLICATION IN CAREER COUNSELING
Department of Civil Engineering, IIT KANPUR
This paper exploits the advantages of expert system in modern technology based world. A computer program was written in CLIPS, which is an expert system tool with features such as integrated editor and debugging tool. The rule base written was an expert system application in the fields of career counseling. Several attributes such as stream in higher secondary (science, arts, commerce), favourite subjects (eg. maths, biology, physics, chemistry, accountancy, economics, geograghy etc.) , interest angle and marks obtained in higher secondary were used to counsel the different career options. On the basis of the attribute value obtained from the user’s side, the various advises (or informations), as a result of reasoning by the expert system, were derived which helps counsel students in this big competitive world.
The first definition of expert system that comes to our mind is ‘it is a computer program that performs a task and gives a decision or advise about various physical and complex problems that otherwise would have been performed by human experts’. It exhibits human behaviour upto great extent.
Expert systems are a part of Artificial Intelligence. To design an expert system, a knowledge engineer is needed which translates the facts and informations into rules that a computer can understand. These rules can be written in two formats in expert systems , viz.
These rules and facts can be written in CLIPS , a computer language designed for writing applications called expert system. CLIPS is an expert system tool which prompts users for various facts and stacks them in database and reasons on them to give decisions and adds completely new informations in the database. With following paper we will learn how an expert system proves to be a boon in the modern world.
”An expert system is a computer system that emulates, or acts in all respects, with the decision-making capabilities of a human expert.” (Prof. Edward Fiegenbaum, Stanford University).
Expert systems are computer programs that embody expertise, like that of a human expert , for solving problems relating to a specific domain.
Eg., diagnostic applications, make financial decisions, play chess etc.
Expert system employs knowledge and experiences of an expert( in a domain) in problem solving. The knowledge can not be neccessarily from books or other written material. It could emerge from the consciousness , intuition,judgement , knowledge, experience etc.
HUMAN-COMPUTER INTERACTION (HCI)
There are various computer programming languages designed for human use so that can interact with computers with such an ease as if they are interacting with other human beings. Natural Language Systems(NLSs) being one of them. Its objective is to allow users to interact with computers in their language.
Talking to computers = Talking to other human beings
CLIPS is also one of a computer programming language which helps users interact with computers.However,it requires a prior knowledge of C language as a pre-requisitive.
ARCHITECTURE OF AN EXPERT SYSTEM
An expert system consists of three main components:
User interface- It provides a medium of communication to the users. Users can communicate with the computer through this interface. User asks the system for various queries and similarly system prompts users for additional information. Also, the system gives decisions and informations through this interface.
Knowledge base- It consists of all the rules ,facts,and information about a particular domain. Any deduction can be made in the rules along with the provision of adding new facts and rules. The rules (often called production rules) can be written in two different formats, viz.
If-Then IF clause contains the conditions or facts whereas THEN clause holds the conclusions.
If-Then_Else It is similar to the IF-THEN rule with a slight difference that if the attributes (variables) in the If clause is not true,the inference engine moves to the ELSE clause and finds the value for the attribute and concludes the THEN clause written for Else clause.
Inference engine- It consists of an algorithm that examines the IF (Premise) clause of a rule to find whether or not it holds true.
It performs the reasoning mechanism and adds new informations to the database or gives conclusions or decisions after the reasoning.
To solve complex physical and expert level problems, the expert system needs an efficient mechanism to apply the knowledge stored in the knowledge base to the problems posed to them by the users and give neccessary and completely new decisions and results. They also need to explain their reasoning mechanism to the user.
To do so it has got two basic reasoning mechanisms :
1. Forward Reasoning –
It is data driven.
It starts with the available data and uses the inference rules to collect more data until the goal is reached.
The inference engine searches the entire inference rules until it finds the rule where the IF clause is true.
When such a rule is found , the inference engine concludes the THEN clause.
The engine will keep iterating in similar fashion until a goal is reached.
Eg . Suppose that the final goal is to find the color of a an animal given that he croaks and eats flies. The rule base could be written containing the following four rules:
If animal croaks and animal eats flies – Then animal is a frog
If animal chirps and animal sings – Then animal is a Nightingale
If animal is a frog – Then animal is green
If animal is a Nightingale – Then animal is brown
Now let us assume the following facts-
Animal eats flies
The expert system will then reason on the facts by forward reasoning mechanism and gives following conclusions:
Conclusion- animal is a frog
animal is green
2. Backward Reasoning –
It is goal-driven.
The system has hypothetical solution (goal) and tries to prove it .
The inference engine scans the entire rule set and finds the rule where the THEN clause matches the goal.
If the IF clause of this rule does not matches the facts, the inference engine makes it as new subgoal and repeat.
Eg . Let’s take the above example again and try to prove the colour of animal ,say frog, to be green. So, the inference assumes a hypothetical solution that frog is green and proves it t be true.
Rule 3. matches the goal (“animal is green”), the inference engine now needs to see if the IF clause of rule 3. (“If animal is a frog”) can be proved. The IF clause of rule 3. therefore becomes the new subgoal.
Rule1. matches the subgoal. The inference engine now needs to prove that the IF clause statements are true i.e, (animal croaks and animal eats flies) and tries to look for initial facts provided by the user. If hold true,the inference engine then concludes that Frog is green in colour.
A GENTLE INTRODUCTION ON CLIPS
CLIPS is short for C Language Integrated Production System.
CLIPS is called an expert system tool because it is a complete environment for developing expert systems which includes features such as an integrated editor and a debugging tool.
A rule-based expert system written in CLIPS is a data-driven program where the facts, are the data that stimulate execution via the inference engine.
CLIPS operate by maintaining a list of facts and a set of rules which acts on them.
These facts can be asserted into the database by using the assert command.
CLIPS commamnds are always enclosed in brackets.
Eg . CLIPS> (assert(colour green))
(facts) command will list all current facts.
Some of the basic commands that are used in CLIPS are as follows –
Shuts down CLIPS.
Removes all rules and facts from memory.
Removes facts from memory but not rules.
Executes a CLIPS program
Does not create any fact but rather the form which facts can take
Creates a space in database for the value of the facts
Removes all the facts from the database
Creates a temporary variable on the right hand side of a rule
Gives the rule a unique name
To display output as the text within the double quotes
Improves the appearance of output by formatting it on different lines
APPLICATION OF EXPERT SYSTEMS IN CAREER COUNSELING
Career Counseling is process to introspect oneself and understand the world of work in order to make career,educational and life decisions.
It is not merely a career decision making but a life long process thet actually begins since the time we are born. It is a crucial processs because any decision made today will affect our tomorrow.
The above concern was well reasoned when written a code in CLIPS language ,which is an expert system tool. Career counselling depends on no.of attributes like interests, abilities, values, personality, background, and circumstances. The attributes that I have considered here in writing a rule set for the same in CLIPS are stream in higher secondary, marks obtained in higher secondary, and favourite subjects.
The various combination and the result so obtained after the reasoning of the rule set is as follows:
Many more combinations for the attribute values can be made.
With increasing field of work , it is more likely that the expert system will be able to solve even more complex problem,where no ‘objective ‘ solution exists. Its domain is likely to increase and the knowledge base will become more flexible and will change with the changing environment. In next few years, it is predicted that it will develop some common sense as that exhibited by human being. Also it will become more user friendly. In coming decades, it could be put to use for outdoor applications as well like that in small hand held portable computer.
Unlike conventional methods, expert systems helps in solving complex problems with great ease.
One can write hundreds of rules in expert system and store it in the database for future use.
It has got its applications in almost every field one can think of.
“Expert Systems : Principles and case study” by R.Forsyth
“Expert Systems” by A.Bonnet, J P Haton
“CLIPS User’s Guide” by Joseph C. Giarratano
“Introduction to Artificial Neural Systems”
by J.M. Jurada