The main purpose of the Robust Parser is to rapidly produce some useful output even if parts of the input are unintelligible or garbled. We have deliberately aimed for a simplistic approach to be able to compare an atheoretical, shallow method with the high-precision but more resource-demanding and fragile processing carried out by the CLE. Also, experiences from multi-engine systems show that approaches such as these may complement each other well [Frederking and Nirenburg1994]. Given these objectives, a straightforward pattern-matching, slot-filling approach seemed most suitable.
Read the next word.
If a matching pattern is found (possibly by looking ahead),
then fill the corresponding slot and throw away the words
corresponding to the pattern
else throw away the word.
Figure 2: Basic algorithm of the Robust Parser.
A first version of the parser with reasonable coverage was developed in
about two person-weeks. Briefly, the parser works as follows: First, it
looks for domain-dependent keywords and phrases and produces a list of
filled slots as well as information about the utterance type (for
example, a wh or yn question). The rules that guide this
process are straightforwardly encoded in a Definite Clause Grammar. The
result is then converted into a well-formed FUD. The parser is
deterministic in the sense that only the first matching pattern is
chosen; hence, only a single analysis is produced. (Interestingly, the
fastest parsers reported in the literature are all deterministic,
rule-based partial parsers [Abney1997, page 128].) The basic
algorithm is shown in Figure 2 .
Mats Wiren
Mon Oct 25 13:51:54 MET DST 1999