1. A machine implemented method comprising: receiving a speech input from a user of a data processing system; determining a context, of the data processing system, when the speech input was received; recognizing text in the speech input through a speech recognition system that includes an acoustic model and a language model, the recognizing of text producing a first text output; storing the first text output as a parsed data structure having a plurality of tokens each of which represents a word in the first text output; processing each of the tokens with a set of interpreters, each interpreter in the set being designed to search one or more databases to search for matches between one or more items in the databases and each of the tokens, each of the interpreters determining from any matches and from the context whether it can repair a token in the first text output, wherein each interpreter is designed to repair an error of a specific type in the first text output; merging selected results from the set of interpreters to produce a final interpreted speech transcription which represents a repaired version of the first text output; providing the final interpreted speech transcription to a selected application, in a set of applications, based on a command in the final interpreted speech transcription, the selected application to execute the command in the final interpreted speech transcription.
2. The method as in claim 1 wherein the context includes a history of prior user inputs and wherein the one or more databases comprises a contacts database which stores at least one of names, addresses and phone numbers.