Knowledge engineering is a vital part of the development of any expert system.
The knowledge engineer does not need to have expert domain knowledge but does need to know how to convert such expertise into the rules that the system will use, preferably in an efficient manner.
Hence, the knowledge engineerâ€™s main task is communicating with the expert, in order to understand fully how the expert goes about evaluating evidence and what methods he or she uses to derive conclusions.
Having built up a good understanding of the rules the expert uses to draw conclusions, the knowledge engineer must encode these rules in the expert system shell language that is being used for the task.
In some cases, the knowledge engineer will have freedom to choose the most appropriate expert system shell for the task.
In other cases, this decision will have already been made, and the knowledge engineer must work with what he is given.