The first step in processing is, for each node in the semantic input tree,
to gather up all the rules that could possibly apply to that node based on
global pragmatic values and any semantic information
contained in the input
tree.
All information contained anywhere in the input semantic representation
may potentially be used at this point to filter out unwanted rules
.
This is, in fact, one of the great advantages of this system. Many rules can be
eliminated which, if left, would lead to backtracking. For instance, consider the
situation below, where a proposition C contains two case roles, A and B.
--------- PROP C -------
| choice c-1 |
| choice c-2 |
| choice c-3 |
v v
ROLE A ROLE B
choice a-1 choice b-1
choice a-2 choice b-2
Assume a head for the proposition has already been selected, and that a lexical unit has already been selected for role A. If, at this point, it is determined that no choices for ROLE B exist that collocate with the current selection in PROP C, then a global backtracking through this entire input will need to occur. A new choice for C will need to be made, and ROLE A will need to be re-analyzed because it depended on choices made in C. This is exactly the type of problem described in [Nirenburg, et al 89a] which affects DIOGENES 90 and leads to backtracking in that system. Many such instances can be completely avoided in this system using this type of opportunistic data retrieval.
For this example, the system traverses the input semantic structure, identifies and gathers up the needed information, and then instantiates all the rules that might still apply.
The resulting tree structure is displayed in Figure 1.