14. A non-transitory computer-readable storage medium storing a computer program having instructions for controlling a computing device to perform a method comprising: receiving a speech utterance from a user; performing an analysis of the speech utterance to determine a first speech dialect and a second speech dialect; selecting a first dialect grammar from a plurality of optimized dialect grammars based on a similarity of the first dialect grammar to the first speech dialect; selecting a second dialect grammar from the plurality of optimized dialect grammars based on a similarity of the second dialect grammar to the second speech dialect; blending the first dialect grammar and the second dialect grammar, to yield a blended dialect grammar; and recognizing, with the blended dialect grammar, the speech utterance.
14. A non-transitory computer-readable storage medium storing a computer program having instructions for controlling a computing device to perform a method comprising: receiving a speech utterance from a user; performing an analysis of the speech utterance to determine a first speech dialect and a second speech dialect; selecting a first dialect grammar from a plurality of optimized dialect grammars based on a similarity of the first dialect grammar to the first speech dialect; selecting a second dialect grammar from the plurality of optimized dialect grammars based on a similarity of the second dialect grammar to the second speech dialect; blending the first dialect grammar and the second dialect grammar, to yield a blended dialect grammar; and recognizing, with the blended dialect grammar, the speech utterance. 17. The non-transitory computer-readable storage medium of claim 14 , wherein blending the plurality of selected grammars comprises blending elements in the each dialect grammars based on a respective score for each selected grammar.