Creating an expert system’s knowledge base is the goal of knowledge engineering. This post describes random content generation at a high level.
Random content generation
Once the scope of the an expert system’s knowledge base is determined, the next step is random generation of knowledge-based content. Random content generation creates sprouts of the branches that will eventually form decision trees containing the logic-based rules for an expert system knowledge base.
Facilitating random content
Random content generation is a facilitated activity. The knowledge engineer starts by encouraging subject matter experts to name common problems within the domain. This process is best if it is done at a fast pace with no attempt to create any rules or other structure.
The knowledge engineer can prompt subject matter experts with questions like:
- “What’s the most common problem you see?”
- “What are the top 3 problems you encounter?
- “Who comes to ask for your help most often, and what problems do they have?”
The problems can be recorded very quickly on a mind map in ‘floating’ idea or object form. For example, auto repair subject matter experts might identify the following during random problem generation:
After the random content generation phase ends, the problems can be grouped into broad problem types. In the example used above, the grouping might look like this:
The knowledge engineer can experiment with different types of grouping and to group with multiple levels moving from general to specific. An alternative to our example, with an added level of grouping, might look like this:
Random problem generation doesn’t have to go much further than problem grouping.
Benefits for subject matter experts
In addition to providing the sprouts for the decision tree and the early structure for the knowledge-based rules, random problem generation should hold positive benefits for subject matter experts, including:
- affirmation that they are suitable experts for the knowledge engineering process
- an early sense of involvement and engagement with the knowledge engineering process
- early feelings of ‘ownership’ over the content
- an opportunity for individual subject matter experts in a larger group to validate one other’s knowledge and familiarity with the domain (e.g. one SME names problem type X, causing the other 5 SMEs to all point, nod vigorously, and say “I see that problem all the time too!”)
Validation of the Grouping Exercise
After the randomly generated problems are grouped, the grouping can be validated with the subject matter experts.
They should understand and agree with the problem groupings as much as possible. In the event of any competing approaches between overly technical groupings and approaches non-experts would understand, knowledge engineers should endorse the latter.
Random solution generation
I have experimented with random solution or outcome generation, following a similar approach. Although it can be a good exercise for putting subject matter experts in a solution mindset, it can be difficult to marry the solutions up with the right problems if they are also generated randomly.
In addition, there is a risk that subject matter experts will fall into a pattern of trying to organize the map by solutions our outcomes instead of by problem type. This difference can have a negative impact for non-expert users since they’ll have no notion of potential solutions, or may be unable to discern which solution applies to their circumstance. On Non-experts will, on the other hand, know what problem they are having – and will be capable of matching it up with the problem-based structure of the knowledge base.
Depending on the domain, outcome-based problem generation may be suitable. In many cases it will not.