Knowledge engineering

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Knowledge engineering (KE) was defined in 1983 by Edward Feigenbaum, and Pamela McCorduck as follows:

KE is an engineering discipline that involves integrating knowledge into computer systems in order to solve complex problems normally requiring a high level of human expertise.[1]

It is used in many computer science domains such as artificial intelligence,[2][3] including databases, data mining, bioinformatics, expert systems, decision support systems and geographic information systems. Knowledge engineering is also related to mathematical logic, as well as strongly involved in cognitive science and socio-cognitive engineering where the knowledge is produced by socio-cognitive aggregates (mainly humans) and is structured according to our understanding of how human reasoning and logic works.

Various activities of KE specific for the development of a knowledge-based system:

  • Assessment of the problem
  • Development of a knowledge-based system shell/structure
  • Acquisition and structuring of the related information, knowledge and specific preferences (IPK model)
  • Implementation of the structured knowledge into knowledge bases
  • Testing and validation of the inserted knowledge
  • Integration and maintenance of the system
  • Revision and evaluation of the system.

Being still more art than engineering, KE is not as neat as the above list in practice. The phases overlap, the process might be iterative, and many challenges could appear.

Knowledge engineering principles[edit]

Since the mid-1980s, knowledge engineers have developed a number of principles, methods and tools to improve the knowledge acquisition and ordering. Some of the key principles are:[citation needed]

  • There are different:
    • types of knowledge each requiring its own approach and technique.
    • types of experts and expertise, such that methods should be chosen appropriately.
    • ways of representing knowledge, which can aid the acquisition, validation and re-use of knowledge.
    • ways of using knowledge, so that the acquisition process can be guided by the project aims (goal-oriented).
  • Structured methods increase the efficiency of the acquisition process.
  • Knowledge Engineering is the process of eliciting Knowledge for any purpose be it Expert system or AI development

Views of knowledge engineering[edit]

There are two main views to knowledge engineering:[4]

  • Transfer View – This is the traditional view. In this view, the assumption is to apply conventional knowledge engineering techniques to transfer human knowledge into artificial intelligence systems.
  • Modeling View – This is the alternative view. In this view, the knowledge engineer attempts to model the knowledge and problem solving techniques of the domain expert into the artificial intelligence system.

A major concern in knowledge engineering is the construction of ontologies. One philosophical question in this area is the debate between foundationalism and coherentism - are fundamental axioms of belief required, or merely consistency of beliefs which may have no lower-level beliefs to justify them?

Overview of Trends in Knowledge Engineering[edit]

Some of the trends in Knowledge Engineering in the last few years[when?] are discussed in this section. The text below is a brief overview of paper "Knowledge Engineering: Principles and methods" authored by Rudi Studer, V. Richard Benjamins and Dieter Fensel.

The paradigm Shift from a transfer view to a modeling view

According to the transfer view the human knowledge required to solve a problem is transferred and implemented into the knowledge base. However this assumes that concrete knowledge is already present in humans to solve a problem. The transfer view disregards the tacit knowledge an individual acquires in order to solve a problem. This is one of the reasons for a paradigm shift towards modeling view. This shift is compared to a shift from first generation expert systems to second generation expert systems.

The modeling view is a closer approximate of reality and perceives solving problems as a dynamic, cyclic, incessant process dependent on the knowledge acquired and the interpretations made by the system. This is similar to how an expert solves problems in real life.

The evolving of Role Limiting methods and Generic Tasks

Role limiting methods are based on reusable problem solving methods. Different knowledge roles are decided and the knowledge expected from each of these roles is clarified. However the disadvantage of role limiting methods is that there is no logical means of deciding whether a specific problem can be solved by a specific role-limiting method.

This disadvantage gave rise to Configurable role limiting methods. Configurable role limiting methods are based on the idea that a problem solving method can further be broken up into several smaller sub tasks each task solved by its own problem solving method.

Generic Tasks include a rigid knowledge structure, a standard strategy to solve problems, a specific input and a specific output.

The GT approach is based on the strong interaction problem hypothesis which states that the structure and representation of domain knowledge is completely determined by its use

The usage of Modeling Frameworks

The development of Specification languages and problem solving methods of knowledge based systems.Over the past few years the modeling frameworks that became prominent within Knowledge engineering are Common KADS, MIKE (Model-based and Incremental knowledge engineering) and PROTÉGÉ-II.PROTÉGÉ-II is a modeling framework influenced by the concept of ‘Ontology’.

The influence of Ontology

Ontologies help building model of a domain and define the terms inside the domain and the relationships between them. There are different types of Ontologies including Domain ontologies, Generic ontologies, application ontologies and representational ontologies.

While categorizing knowledge, storing, retrieving and managing information is not only useful for solving problems without direct need of human expertise but also leads to ‘Knowledge Management’ efforts that enable an organization to function efficiently in the long run.


  1. ^ Feigenbaum, Edward A.; McCorduck, Pamela (1983), The fifth generation (1st ed.), Reading, MA: Addison-Wesley, ISBN 978-0-201-11519-2, OCLC 9324691 
  2. ^ Negnevitsky, Michael (2005), Artificial Intelligence: A Guide to Intelligent Systems, Addison Wesley, ISBN 0-321-20466-2 
  3. ^ Russell, Stuart J.; Norvig, Peter (2003), Artificial Intelligence: A Modern Approach (2nd ed.), Upper Saddle River, New Jersey: Prentice Hall, ISBN 0-13-790395-2 
  4. ^ Schreiber, August Th.; Akkermans, Hans; Anjewierden, Anjo; Dehoog, Robert; Shadbolt, Nigel; Vandevelde, Walter; Wielinga, Bob (2000), Knowledge engineering and management: the CommonKADS methodology (1st ed.), Cambridge, MA: The MIT Press, ISBN 978-0-262-19300-9 

6. Rudi Studer a'*, V. Richard Benjamins b'c, Dieter Fensel "Knowledge Engineering: Principles and methods", Data & Knowledge Engineering 25 (1998) 161-197

See also[edit]

External links[edit]