|
Pro/3 evaluates inexact rule networks in a top-down (backward chaining) manner,
although this will appear to the user as bottom-up (forward chaining). The
reason for this is that an inexact rule can be evaluated only after all the
rules it is calling, have been evaluated. The rules at the "bottom" of the
network (query and question rules) will thus be evaluated first. Query rules are
evaluated by submitting a query to the PROLOG-type inference engine, while
question rules are
served to the user who is requested to provide an answer. The user can be served many questions during the evaluation of the network, and two input facilities are provided to make the interactions with user more effective, i.e. by reducing the number of dialogs by question clustering and question series. This is of particular importance when the user performs the evaluation with the Pro/3 web client, since the processing of many dialogs involve web server, MySQL transactions etc. and thus takes time. Question series and clusters are not different types of inexact rules, they are simply user interface extensions of the question-type inexact rule, and they are stored as sentences in the KB.
|
||||||||||||||||
QUESTION CLUSTERS A question cluster is a list of two or more question rules which will be presented in a single dialog. Let's look at an example from the MC KB. |
||||||||||||||||
Example To reduce the number of interactions with the user, we decide to serve all the general preference type question rules to the user at the start of the evaluation. This is accomplished by the following question cluster sentence: question cluster with prompt "General preferences",
rule list bike size preference, bike size preference importance, high speed
importance, brand preferences, country of origin preferences, passenger capacity
requirements, touring requirement, touring requirement importance and road type
requirement and no parameter list is an inexact rule input facility
for rule bike is suitable! Let's look at the meaning of each data element: |
||||||||||||||||
|
||||||||||||||||
The question cluster will be invoked upon evaluation of the bike is suitable
rule. Note however that this rule has a context call (i.e. that the bike
evaluated meets the price constraints), thus, the question cluster will be
evaluated only after (and if) it is ascertained that bike is suitable is
in context.
The cluster will be presented in the dialog shown under:
|
||||||||||||||||
All question rules in the cluster are defined with answer alternatives. Thus, the answers to the questions are made by selecting from a list-button control (the question's default value is pre-selected). If a question rule had been defined without answer alternatives, then an edit field would be used in place of the list-button (also preset with the default value). The question-mark buttons to the left are used to display the corresponding question rule annotation in the rectangular text field above. The text just to the right of the question-mark button is the question rule's name. The text in the middle is the actual question text (with embedded parameters actualized if any). The text to the right is the answer's value required domain.
|
||||||||||||||||
A question series is useful when the same question rule will be evaluated several times with different parameters. The question series input facility reduces this to a single interaction with the user. Let's look at another example from the MC KB:
|
||||||||||||||||
Example A question rule (bike brand preference) has the following question text: What`s your preference for [this name] bikes? [STRONG PREFERENCE; SOME PREFERENCE; NEUTRAL; SOME PREFERENCE AGAINST; STRONG PREFERENCE AGAINST] The question will be repeated each time a different name actual parameter is given, i.e. each time a bike from a new manufacturer is evaluated (the [this name] part of the question text will then be substituted with the manufacturer name, e.g. What`s your preference for Honda bikes? The following question series will present the user with one dialog only: the question series with prompt "Bike brand preferences", rule bike brand preference, parameter name, format NL, query text "value of name where manufacturer makes bike" and no parameter list is an inexact rule input facility for rule bikes that meet brand preferences! Let's look at the meaning of each data element: |
||||||||||||||||
|
||||||||||||||||
The question series will be processed as soon as it is determined that the bikes that meet brand preferences is in context: | ||||||||||||||||
|
||||||||||||||||
The question series query will then be run and a dialog constructed dynamically on the basis of the manufacturer names found in the KB: | ||||||||||||||||
|
||||||||||||||||
The evaluation of the inexact rule network will continue after the dialog has
been completed. Pro/3 will remember the 12 questions above and the corresponding
answers. Whenever the question rule bike brand preference subsequently is
evaluated, Pro/3 will first check if the question text generated by the rule
matches any of the remembered questions, and if so use the corresponding answer
rather than serving the question to the user.
The bike brand preference question rule is defined with answer alternatives. Thus, the answer to the questions are made by selecting from a list-button control (the question's default value is pre-selected). If the question rule had been defined without answer alternatives, then an edit field would be used in place of the list-button (also preset with the default value). |