1. A method for user-specific speech recognition, comprising: receiving, at an input device coupled to a computer, a natural language utterance in a current dialog; comparing, at a speech recognition engine that executes on the computer, voice characteristics associated with the utterance to unique speech characteristics contained in one or more user profiles to determine an identity associated with a user that spoke the utterance; seeding the speech recognition engine with data in one or more dictionary and phrase tables, wherein the data seeding the speech recognition engine includes prior probabilities or fuzzy possibilities that are dynamically updated based on the determined user identity and a history associated with the current dialog; determining, at the speech recognition engine, that the utterance contains one or more words that were unrecognized or incorrectly recognized in response to a recognition associated with the utterance having a confidence level that does not meet or exceed a predetermined value; requesting, by the speech recognition engine, the user to spell the one or more unrecognized or incorrectly recognized words using a phonetic alphabet, wherein the user provides the phonetic alphabet spelling in one or more subsequent natural language utterances; and looking up, at the speech recognition engine, one or more words in the one or more dictionary and phrase tables that match the phonetic alphabet spelling to learn a pronunciation associated with the one or more unrecognized or incorrectly recognized words.