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