Introduction to Knowledge Engineering
Knowledge Engineering as the name suggests it is an Engineering of knowledge. It is different than classical engineering such as mechanical. Civil, manufacturing, or any other engineering. Engineering basically refers to the action of working artfully to bring something about. In artificial intelligence, our goal is to imitate the intelligence of a human being. Human uses his/ her intelligence based on his/ her knowledge to make decisions. The human decision-making system is quite complex, it takes into consideration, facts from several sources, prior experiences and emotions (like compassion -soft decision; gut-feeling -tough decision; happiness -promises; anger -quarrel; sadness wrong or unhealthy decisions), which brings nonlinear patterns in making decisions.
Knowledge engineering is a field of study where we do the engineering of all such thought processes for specific domains. It can be considered as the building blocks for (AI), which attempts to imitate the judgment of a human with experts in a specific domain.
What is Knowledge Engineering?
In simple words, it is a field that concentrates on creating a knowledge base for a specific domain. It includes an in-depth investigation of a particular domain, learning all the important concepts about that domain, and then drafting out meaningful output.
Knowledge Engineering is a way to process the information of how an expert in a specific domain would process and accordingly will act and make decisions. For example, we want to automate the teaching process for children in the subject of mathematics. It will require the knowledge of teachers, subject matter experts, and data from previous batches and their performance in maths.
The general workflow to do this, we need to process the metadata (all about data, its quality, content, structure, objects, and format) in order to have a basic idea of what it takes to make a decision. In a general sense, it takes a problem to solve and then studies the factors which a human expert will consider while making a decision. A human expert will consider a number of parameters and some will be more important than others. After considering all the parameters human expert makes permutation and combinations using his prior experience with domain and give weightage to all the parameters and makes a decision. This all just happens in some fractions, but to investigate the whole process takes a good amount of time depending on the complexity of the problem.
Knowledge engineering is the base that helped in the creation of expert systems where knowledge is transformed into computer programs. Expert systems have a huge and flexible knowledge base which is integrated with mechanisms that specify how to use the information of the knowledge base and apply it to a variety of situations. These expert systems also use machine learning and deep learning algorithms in order to learn as humans do. Nowadays these Expert systems are used in the education field, healthcare, financial services, manufacturing, etc.
Process of Knowledge Engineering
Knowledge Engineering for different domains is different but it follows, the same set of rules/procedures in order to create expert systems.
1. Task Identification
This is the first initial stage where the task to be performed is defined. In a domain, a specific problem or a combination of several problems would be taken. This task must be realistic and the subject matter expert shall have a clear picture of what it is so that further process can be carried out.
2. Acquisition of Knowledge
Once the problem is well defined then the next step is to gather relevant knowledge and information about the problem. For some problems standard data is used that must be collected, for example, a problem on heat exchanger requires the standard steam table data at x temperature and y pressure what will be the value of enthalpy.
3. Prepare a road map
Once the goal and knowledge base are available the next step is to get the roadmap ready by breaking the goal down into small steps by questionnaires and relevant knowledge base. Here subject matter expert puts his thoughts on how would he make decisions and what parameters would be considered at all stages. There could be several ways to solve some problems, and all should be considered.
Now it’s time to convert this knowledge into computer language. Here the knowledge is encoded by using different functions as well as in some cases, for a specific task, the algorithm is used to create a model. These models are able to make decisions based on available parameters as an expert does, surely the model must be trained and tested on a sufficient amount of data.
5. Evaluation and Debugging
In the process of creating an expert system, at each step, the model should be evaluated and debugged and then added to workflow. Once all small tasks are evaluated, they are assembled to create one whole expert system. This system is again evaluated on similar problems and Debugged if any issue is there.
6. Justification & Explanation
Here the model is justified for the given task and working is explained.
Benefits of using Knowledge Engineering
We live in an era where we use several apps and websites through smartphones and when faced with any issue, we seek solutions through a support center with expert, based on their availability the issue is addressed. The expert systems created with knowledge engineering can address the issue the same as human experts instantly.
Benefits of Knowledge Engineering are as follows:
- Knowledge engineering helps in creating a better expert system.
- Different domain knowledge can be assembled together to address complex problems.
- Models created with knowledge engineering are robust.
- When coupled with NLP these can read the queries and provide solutions, like a chatbot.
In Knowledge engineering, we try to emulate the thought process of an expert in a particular domain. The general rule is to set tasks, take up questions, and issues like an expert would do before making a decision. Create a road map to reach a conclusion. To reach to goal the model needs corresponding knowledge, expertise, and a troubleshooting approach in case if something goes wrong. The models created with knowledge engineering are robust and highly accurate.
This is a guide to Knowledge Engineering. Here we discuss an introduction to Knowledge Engineering, a process with some set of rules and benefits. You can also go through our other related articles to learn more –