Google offers several speech features on the Android mobile operating system:
search by voice, voice input to any text field, and an API for application
developers. As a result, our speech recognition service must support a wide range
of usage scenarios and speaking styles: relatively short search queries, addresses,
business names, dictated SMS and e-mail messages, and a long tail of spoken input
to any of the applications users may install. We present a method of on-demand
language model interpolation in which contextual information about each utterance
determines interpolation weights among a number of n-gram language models.
On-demand interpolation results in an 11.2% relative reduction in WER compared to
using a single language model to handle all traffic.