In the name of Allah, most gracious and most merciful,
It is an AI subfield that is concerned with the design, development, and maintenance of agents that perform problem-solving and decision-making tasks using knowledge and reasoning.
Knowledge is formally a collection of specialized facts, procedures, and judgment rules.
Knowledge engineering involves human experts’ cooperation to codify and make the rules (or other procedures) that a human expert uses to solve real problems explicitly.
Knowledge engineering is a multi-stage process, and traditionally it is a business to be tackled by a range of professionals including:
- Computer Scientists
- Software Engineers
- Project Managers
- Systems Analysts
- Domain (or subject) Experts and Knowledge Specialists
The knowledge engineering process has five major activities
2.1 Knowledge Acquisition
Acquiring knowledge from different sources like human experts, documents, books, sensors, or computer files.
2.2 Knowledge Validation
Validating knowledge using test cases for instance until reaching an acceptable quality. Experts usually verify the Expert System’s accuracy by showing them the results of the test cases.
2.3 Knowledge Representation
Representing the acquired knowledge by preparing a knowledge map and encoding the knowledge in the knowledge base.
Designing a software that enables the computers make inferences based on knowledge and the problem specifics. This system could then give advice to nonexpert users.
2.5 Explanation and Justification
Designing and programming a capability for giving explanations for answering questions like:
- Why a certain piece of information is needed
- How a certain conclusion is obtained
What you Expect to Learn (Knowledge Engineering: Building Cognitive Assistants for Evidence-based Reasoning Textbook Table of Contents)
- Understanding the World through Evidence-based Reasoning
- Abductive Reasoning
- Probabilistic Reasoning
- Evidence-based Reasoning
- Artificial Intelligence
- Intelligent Agents
- Mixed-Initiative Reasoning
- Knowledge Engineering
- From Expert Systems to Knowledge-based Agents and Cognitive Assistants
- An Ontology of Problem-Solving Tasks
- Building Knowledge-based Agents
- Obtaining Disciple-EBR
- Evidence-based Reasoning: Connecting the Dots
- Methodologies and Tools for Agent Design and Development
- Modeling the Problem-Solving Process
- Ontology Design and Development
- Reasoning with Ontologies and Rules
- Learning for Knowledge-based Agents
- Introduction to Machine Learning
- Generalization and Specialization Rules
- Types of Generalizations and Specializations
- Inductive Concept Learning from Examples
- Learning with an Incomplete Representation Language
- Formal Definition of Generalization
- Rule Learning
- Rule Refinement
- Abstraction of Reasoning
- Disciple Agents
- Design Principles for Cognitive Assistants
- Complex problems can be addressed by assembling different domain knowledge
- Faster decision-making
- Efficient problem-solving and troubleshooting
- 24/7 availability
- Acting as support systems
- Trace and debug unfavorable results
- The reasoning process is known or could be traced (unlike deep learning which is like a black box)
- Reduces human error
4. Knowledge Engineering Applications
- Creating Expert Systems: Expert System is an AI-based computer system that could learn and imitate the human expert’s decision-making process. They use if-then logical notations for solving complex problems which are unlike conventional procedural programming. They are used in information management, medical facilities, loan analysis, virus detection, and so on.
- Chatbots: Reading queries and give solutions when combined with Natural Language Processing “NLP”
5. Knowledge Engineer Job Role
- Building complex computer programs that could reason. (Note: that the knowledge engineer may be involved in the program development, or this may be delegated to another person. I have obtained this note from An Introduction to Knowledge Engineering Textbook).
- Eliciting knowledge from experts through interviews to develop and understanding of the problem domain and then this knowledge can be placed in knowledge based systems (KBSs).
- Identifies suitable knowledge representation and inferencing “reasoning” method.
6. Skills needed to work as a Knowledge Engineer
- Knowledge representation: Understanding information provided by the expert and record it in an appropriate manner.
- Fact-finding: Using tools such as interviews, questionnaires and observations to obtain knowledge from an expert.
- Human skills: Interviewing skill including how to acquire knowledge from an expert in a friendly and helpful manner.
- Analysis: Working through data and information to find the most suitable method of representing it, and identifying links within the data and information.
- Visualization skills: Visualizing the overall design of the system, prior to committing ideas to paper.
- Creativity: Using new ideas or methods for representing data within the structure of the knowledge based system KBS.
- Managerial Skills: Good time management and delegation skills for ensuring that the data is recorded on time and within budget.
- Building complex computer programs: Could be optional.
Thank you. I hope this post has been beneficial to you. I would appreciate any comments if anyone needed more clarifications or if anyone has seen something wrong in what I have written in order to modify it, and I would also appreciate any possible enhancements or suggestions. We are humans, and mistakes are expected from us, but we could also minimize those mistakes by learning from them and by seeking to improve what we do and how we do it.
Allah bless our master Muhammad and his family.