Knowledge engineering
Knowledge engineering is the process of building a knowledge base (KB) for a domain. Carried out by knowledge engineers (KE) doing knowledge acquisition, often by interviewing domain experts. The KE investigates the domain, learns important concepts, and creates a formal representation of domain objects and relations.
Most KBs are special purpose, covering a specific domain in detail. Other KBs are general purpose, valid across many domains.
Knowledge engineering vs. programming
Programming
• Choosing a programming language
• Writing a program of data and control structures
• Choosing a compiler for the language
• Running the program
Knowledge engineering
• Choosing a logic for knowledge representation
• Building a knowledge base of facts and rules
• Implementing the inference procedure
• Inferring new facts
Knowledge engineering: Approach
Declarative approach
Main point is that knowledge engineering is declarative
• The knowledge engineer tells the system what is true
• The system knows how to infer new facts and solutions
Some advantages:
Knowledge engineering process (FOL)
See Electronics circuits domain for examples