Monday, August 10, 2009

Knowledge Engineering

http://www.epistemics.co.uk/Notes/61-0-0.htm

Knowledge engineering is a field within artificial intelligence that develops knowledge-based systems. Such systems are computer programs that contain large amounts of knowledge, rules and reasoning mechanisms to provide solutions to real-world problems.

A major form of knowledge-based system is an expert system, one designed to emulate the reasoning processes of an expert practitioner (i.e. one having performed in a professional role for very many years). Typical examples of expert systems include diagnosis of bacterial infections, advice on mineral exploration and assessment of electronic circuit designs.
Importance of Knowledge Acquisition

The early years of knowledge engineering were dogged by problems. Knowledge engineers found that acquiring enough high-quality knowledge to build a robust and useful system was a very long and expensive activity. As such, knowledge acquisition was identified as the bottleneck in building an expert system. This led to knowledge acquisition becoming a major research field within knowledge engineering.

The aim of knowledge acquisition is to develop methods and tools that make the arduous task of capturing and validating an expert’s knowledge as efficient and effective as possible. Experts tend to be important and busy people; hence it is vital that the methods used minimize the time each expert spends off the job taking part in knowledge acquisition sessions.
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. 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.
* Knowledge engineers use structured methods to increase the efficiency of the acquisition process


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]

At present, it refers to the building, maintaining and development of knowledge-based systems.[2] It has a great deal in common with software engineering, and is used in many computer science domains such as artificial intelligence [3], [4], including 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
* 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. Recently, emerges meta-knowledge engineering[5] as a new formal systemic approach to the development of a unified knowledge and intelligence theory.


http://en.wikipedia.org/wiki/Knowledge_engineers



Knowledge engineers are computer systems experts who are trained in the field of expert systems. Receiving information from domain experts, the knowledge engineers interpret the presented information and relay it to computer programmers who code the information in to systems databases to be accessed by end-users. Knowledge engineers are used primarily in the construction process of computer systems (Bultman, Kuipers & van Harmelen 2000).

Using information relayed by the domain experts, knowledge engineers are experts at constructing meaningful, useful, and simplistic Knowledge-Based Systems (KBS). Often knowledge engineers are employed to break down the information passed on by domain experts into more simplistic terms which cannot be easily communicated by the highly technalized domain expert (ESDG 2000).

No comments:

Post a Comment