1. A method of recognizing speech, the method causing a computing device to perform steps comprising: comparing via a processor received speech with a precompiled grammar based on a database; if the received speech matches data in the precompiled grammar, then returning a result based on matched data; and if the received speech does not match data in the precompiled grammar, then dynamically compiling a new grammar based only on new data added to the database after the compiling of the precompiled grammar, the new grammar being separate from the precompiled grammar.