24. A computer program, residing on a computer readable medium, for a speech recognition system comprising a processor and an input device, the computer program comprising instructions performing speech recognition by causing the processor to perform the following operations: receive language model results for speech recognition candidates for an utterance from multiple language models; combine the results from the multiple language models according to a combination expression to produce combined language model results, the combination expression applying different combination weights to the results received from the respective language models; evaluate the candidates using the combined language model results to select one of the candidates; adjust at least one of the combination expression weights based on the selected candidate; and repeat the combining, selecting, and adjusting for a subsequent utterance.
24. A computer program, residing on a computer readable medium, for a speech recognition system comprising a processor and an input device, the computer program comprising instructions performing speech recognition by causing the processor to perform the following operations: receive language model results for speech recognition candidates for an utterance from multiple language models; combine the results from the multiple language models according to a combination expression to produce combined language model results, the combination expression applying different combination weights to the results received from the respective language models; evaluate the candidates using the combined language model results to select one of the candidates; adjust at least one of the combination expression weights based on the selected candidate; and repeat the combining, selecting, and adjusting for a subsequent utterance. 25. The computer program of claim 24, further comprising instructions for causing a processor to: prompt a user to identify a source of text; retrieve text from the source of text identified by the user; and build a topic language model from the retrieved text.