05 Knowledge Engineering in FOL Flashcards

1
Q

Knowledge engineering

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Knowledge engineering vs. programming

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Knowledge engineering: Approach

A

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:

  • More efficient/high-level development, less debugging
  • The knowledge base can be (re-)used for other tasks
  • The inference engine can be (re-)used for other knowledge bases
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Knowledge engineering process (FOL)

A
  • *Knowledge engineering process (FOL)**
    1. Identify the task
    2. Assemble relevant knowledge
    3. Decide on a vocabulary of predicates, functions and concepts (ontology)
    4. Encode general domain knowledge (axioms)
    5. Encode specific problem instance
    6. Pose queries to inference engine - get answers
    7. Debug knowledge base

See Electronics circuits domain for examples

How well did you know this?
1
Not at all
2
3
4
5
Perfectly