1. A system for processing natural language utterances, comprising: a computing device having access to a plurality of domain agents associated with a plurality of different domains, and programmed to execute one or more computer program instructions which, when executed, cause the computing device to: receive a first natural language utterance; determine that the first natural language utterance contains one or more words that were unrecognized or incorrectly recognized in response to a recognition associated with the first natural language utterance having a confidence level below a predetermined value; obtain a phonetic alphabet spelling associated with the one or more unrecognized or incorrectly recognized words in response to the determination; look up the one or more unrecognized or incorrectly recognized words in one or more dictionary and phrase tables based on the phonetic alphabet spelling; update the one or more dictionary and phrase tables based on a pronunciation associated with the one or more unrecognized or incorrectly recognized words; receive a second natural language utterance that comprises a question; generate a digitized speech signal from the second natural language utterance; recognize one or more words in the second natural language utterance based on a pronunciation associated with the one or more words using the one or more dictionary and phrase tables; tag the one or more words in the second natural language utterance with a user identity determined from voice characteristics associated with the digitized speech signal and one or more user profiles; determine a context of the question in the second natural language utterance; select one of the plurality of domain agents based on the context of the question; generate a request associated with the second natural language utterance based on the one or more words in the second natural language utterance and a grammar used by the selected domain agent, wherein the request includes the question; invoke the selected domain agent to cause the selected domain agent to process the request; and receive a response to the request from the selected domain agent.
2. The system according to claim 1 , wherein the computing device is further caused to recognize the one or more words in the second natural language utterance using information in the one or more dictionary and phrase tables, the one or more user profiles, and data supplied by one or more of the plurality of domain agents.