Knowledge engineering
From Wikipedia, the free encyclopedia
Knowledge engineering (KE) refers to the building, maintaining and development of knowledge-based systems. It has a great deal in common with software engineering, and is related to many computer science domains such as artificial intelligence, databases, data mining, 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
- Implementation of the structured knowledge into knowledge-bases
- Acquisition and structuring of the related information, knowledge and specific preferences
- 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. Recently, emerges meta-knowledge engineering as a new formal systemic approach to the development of an unified knowledge and intelligence theory.
Knowledge Engineering Principles
Since the mid-1980s, knowledge engineers have developed a number of principles, methods and tools that have considerably improved the process of knowledge acquisition and ordering. Some of the key principles are summarized as follows:
- Knowledge engineers acknowledge that there are different types of knowledge, and that the right approach and technique should be used for the knowledge required.
- Knowledge engineers acknowledge that there are different types of experts and expertise, such that methods should be chosen appropriately.
- Knowledge engineers recognize that there are different ways of representing knowledge, which can aid the acquisition, validation and re-use of knowledge.
- Knowledge engineers recognize that there are different ways of using knowledge, so that the acquisition process can be guided by the project aims (goal-oriented).
- Knowledge engineers use structured methods to increase the efficiency of the acquisition process.
Views of Knowledge Engineering
There are two main views to knowledge engineering:
- 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 intelligent 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 intelligent system.
Some methodologies to support the development of knowledge or intelligence-based systems:
- CommonKADS
- SPEDE
- MOKA
[edit] Bibliography
- Negnevitsky, Michael (2004). Artificial Intelligence: A Guide to Intelligent Systems. Addison Wesley. ISBN 0-321-20466-2.
- Russell, Stuart, Norvig, Peter (2003). Artificial Intelligence: A Modern Approach. Pearson Education, Inc.. ISBN 0-13-790395-2.
- Penrose, Roger (2005). The Emperor's New Mind: Concerning Computers, Minds and the Laws of Physics. Owl Books (NY). ISBN 0-8050-7853-3.