written 6.3 years ago by |
Knowledge acquisition is the process used to define the rules and ontologies required for a knowledge-based system. The phrase was first used in conjunction with expert systems to describe the initial tasks associated with developing an expert system, namely finding and interviewing domain experts and capturing their knowledge via rules, objects, and frame-based ontologies.
Expert systems were one of the first successful applications of artificial intelligence technology to real world business problems. Researchers at Stanford and other AI laboratories worked with doctors and other highly skilled experts to develop systems that could automate complex tasks such as medical diagnosis.
Until this point computers had mostly been used to automate highly data intensive tasks but not for complex reasoning. Technologies such as inference engines allowed developers for the first time to tackle more complex problems.
As expert systems scaled up from demonstration prototypes to industrial strength applications it was soon realized that the acquisition of domain expert knowledge was one of if not the most critical task in the knowledge engineering process.
This knowledge acquisition process became an intense area of research on its own. One of the earlier works on the topic used Batesonian theories of learning to guide the process.
One approach to knowledge acquisition investigated was to use natural language parsing and generation to facilitate knowledge acquisition.
Natural language parsing could be performed on manuals and other expert documents and an initial first pass at the rules and objects could be developed automatically. Text generation was also extremely useful in generating explanations for system behavior. This greatly facilitated the development and maintenance of expert systems
A more recent approach to knowledge acquisition is a re-use based approach. Knowledge can be developed in ontologies that conform to standards such as the Web Ontology Language (OWL) in this way knowledge can be standardized and shared across a broad community of knowledge workers.
It has three principle approaches:
i. Knowledge elicitation: Knowledge engineer needs to interact with the domain expert and get all the knowledge. He also needs to format it in a systematic way so that it can be used while developing the expert system shell.
ii. Intermediate knowledge representation: The knowledge obtained from the domain expert needs to be store in some intermediate representation, such that, it can be worked upon to produce the final refined version.
iii. Knowledge representation: The intermediate representation of the knowledge needs to be compiled and transformed into an executable format. This version of knowledge is ready to get uploaded to system shell as it is. E.g. production rules, that the inference engine van process.
In the process of expert system development, numbers of iterations through these three stages are required in order to equip the system with good quality knowledge. Knowledge Elicitation
It’s the first step of knowledge acquisition. In this process there are several stages: Gather maximum possible data about problem domain from books, manuals, internet etc. In order to become familiar with specialist terminologies and jargons of the problem domain.
Identify the types of reasoning and problem solving tasks that the statement will be required to pay for.
Find domain experts who are willing to work on the project.
Interview the domain experts multiple times during the course of building the system.
Knowledge elicitation is a time consuming process. There exists automated knowledge elicitation and machine learning techniques which are increasingly being used as common modern alternatives.
The iterative nature of knowledge acquisition process can be represented in the following figure.