1. A speech recognition method, comprising the steps of: providing a processor communicatively coupled to each of a local speech recognition engine and a server-based speech recognition engine; inputting a first speech input into the server-based speech recognition engine; receiving at the processor a first recognition result from the server-based speech recognition engine, the first recognition result being based on the first speech input; storing the first recognition result in a memory device, the first recognition result being stored in association with the first speech input; inputting a second speech input into the local speech recognition engine; retrieving the first recognition result from the memory device; producing a second recognition result by the local speech recognition engine, the second recognition result being based on the second speech input and being dependent upon the retrieved first recognition result; counting a number of times that the user confirms the correctness of the first recognition result, the second recognition result being dependent upon the retrieved first recognition result only if the number of times that the user has confirmed the correctness of the first recognition result is greater than a predetermined number.