(firstname.lastname@example.org), is a senior software developer and knowledge engineer
at Ontoprise GmbH, Karlsruhe.
Although interactive machine learning assumes that end users (domain experts) directly interact with machine learning algorithms, we shall assume that a knowledge engineer
acts as an intermediate between a domain expert and the algorithm, since some of the suggested steps in this section would be difficult to implement automatically.
The knowledge engineer
can decide on which method to use depending on the study domain, amount of knowledge needed, and the efforts required to analyze the collected information (Osuagwu, Okafor 2010).
Acquiring knowledge is an important stage in creating expert systems: it is achieved by the knowledge engineer
who needs to have a good knowledge of the methods of representing knowledge, methods provided by knowledge engineering such as: the method based on production rules; the method based on semantic nets; the frame-based method; the method based on logical models (propositional logic, the logic of predicates of the 2nd order); the method based on probabilistic logic (Bayesian logic); the method based on fuzzy set and logic (Moise, 2007).
By being a "good interviewer," this should enable someone to not only be useful as a knowledge engineer
, but also helpful in other professions (like news reporting, medical diagnosis, etc.) as well.
The knowledge engineering process requires that a technician, usually called a knowledge engineer
, interviews and observes the expert in his or her area of expertise.
The knowledge must be available from an expert and the expert must have time to work with a knowledge engineer
. The interpersonal interaction between the expert and the knowledge engineer
The knowledge engineer
usually obtains this knowledge through direct interaction with the expert.
During the second state, conceptualization, the expert and knowledge engineer
discuss and determine the key concepts, data relationships and information-flow characteristics that describe the problem-solving process.
This is the job of the knowledge engineer
, who is the link between the software developer and the end user.
Custom development involves finding an expert in the given area, using the services of a knowledge engineer
to extract the expertise and heuristics from this person, quantifying this information in a computer program, and finally, validating and testing the program.
In majority of existing approaches an additional role of knowledge engineer
is required for mediation between actual knowledge that business users possess and ontology engineers who encode knowledge in one of selected formalisms.