1. A method for providing a natural language voice user interface, the method being implemented on a computer system including one or more physical processors executing one or more computer program instructions which, when executed, perform the method, the method comprising: receiving, by the one or more physical processors, a natural language utterance from an input device associated with a navigation device, wherein the natural language utterance relates to navigation; determining, by the one or more physical processors, a current location of the navigation device; selecting, by the one or more physical processors from among a plurality of sets of location-specific grammar information, a set of location-specific grammar information based on proximity between the current location and a location associated with the set of location-specific grammar information; determining, by the one or more physical processors, an amount of available resources for processing the natural language utterance; determining, by the one or more physical processors, a size threshold for a recognition grammar based on the amount of available resources; generating, by the one or more physical processors, the recognition grammar with the set of location-specific grammar information based on the size threshold such that a size of the recognition grammar does not exceed the size threshold; determining, by the one or more physical processors, one or more interpretations of the natural language utterance based on the recognition grammar; determining, by the one or more physical processors based on the one or more interpretations, a destination; and determining, by the one or more physical processors, a route from the current location to the destination.