Creating an Expert System with ES-Builder
Explains basic steps in ES-Builder
Introduction
Here I am going to solve a simple problem identified with the help of an expert system.
I have chosen ES-Builder as the expert system shell to develop the expert system. There is a web version of ES-Builder which is freely available to develop your expert system skills. The expert system you develop with ES-Builder will be stored in an online database (MySQL).
Most significant feature I have noticed with ES-Builder is that you need no programming knowledge in order to develop an expert system with this. You only need the domain knowledge
Problem Identified
Most of us listen to songs but at times it is very difficult to find a proper song for us. This process of finding a proper match is always time consuming and it is a waste of data.
Implemented Solution
Implemented solution is an expert system. This system will evaluate on bellow criteria to come up with a good suggestion,
Personality type : Here I have used the 16 personality type classification. You can use an online tool to find your personality type if interested.
Preferred genre of music: For each personality type I am selecting only the top three genres. For this classification I took information from an online survey conducted. Below are the gathered information.

Current mood of the listener: According to your mood the type of music you like to listen may be different. Here I am considering two moods as “Happy” and “Sad”.
Preferred language: Here I have provided the listener to select either “Sinhala”, “English” or “Hindi” as their language preference.
Considering above 4 criteria I have constructed the knowledgebase in ES-Builder. Bellow are the steps I have followed in creating the knowledgebase.
First you have to create an account with your email.
Then Click on “Create a new project”.
Then you will be directed to a page to insert information for your new project. Fill that form and save the new project.

After successful creation of the new project you will be redirected to the previous menu. Now you can see the newly created project is listed. Click on tree to start developing your knowledge base.

Now you will be able to see a tree like structure starting from the root containing the name you have given to your system. In my case it is sample.

Before developing the decision tree let me introduce you some key terms used,
Attribute: In simple terms it is the criteria that we are going to evaluate. And it can be considered as a kind of question asked by the expert system from the user. In our case we have 4 criteria to be checked.
Value: value is a kind of suggestion given by the expert system for a selected attribute. Simply it can be considered as an answer for a question.
Conclusion: It is a kind of alternative solution generated by the expert system by evaluating attributes and values for a specific branch of the decision tree.
A value can be followed by attribute/s or conclusion/s but an attribute can be only followed with value/s
Now let us see how to build the decision tree for the personality type ENTJ and then you can repeat it for rest of the other personality types.
Click on First attribute on the decision tree. On the left hand side a panel will open. Under the value text enter the required criteria that you want to check. For our scenario it is “What is your personality type”. In addition to that you may add an attribute note with an attribute image.

Then you have to add relavant values for the provided attribute. As you have done in the previous step click on the value and enter “ENTJ”.
In order to enter a new value for an attribute, right click on the attribute and select add value. Follow the same procedure to add attributes and conclusions when required.
With the above steps you will be able to complete the decision tree and you will have a decision tree similar to bellow decision tree at the end.

Make sure to save your decision tree time to time since you may lose data due to failures.
After creating the knowledgebase click on “View ES” icon on top right. You can do this while you create the knowledgebase in order to figure the system works as you expected.
I have explained the most basic features that you want to get to know in creating a simple expert system. Once you start with the basic features you may easily discover the advance features provided by ES-Builder while you continue with your project.