A user interface, and associated techniques, that permit a fast and
efficient way of correcting speech recognition errors, or of diminishing
their impact. The user may correct mistakes in a natural way, essentially
by repeating the information that was incorrectly recognized previously.
Such a mechanism closely approximates what human-to-human dialogue would
be in similar circumstances. Such a system fully takes advantage of all
the information provided by the user, and on its own estimates the
quality of the recognition in order to determine the correct sequence of
words in the fewest number of steps.