10. A machine implemented method comprising: storing a phonetic dictionary for speech recognition; obtaining words from a user's set of one or more databases; receiving a speech input from the user; responsive to the speech input, processing, using a plurality of pronunciation guessers, the words from the user's set of one or more databases, the processing producing additional phonetic data derived from the words, the additional phonetic data forming an extended phonetic dictionary unique to the user; processing the speech input by comparing phonemes detected in the speech input to the phonetic dictionary and to the extended phonetic dictionary to determine a set of one or more matches; and determining a best match from the set of one or more matches.
10. A machine implemented method comprising: storing a phonetic dictionary for speech recognition; obtaining words from a user's set of one or more databases; receiving a speech input from the user; responsive to the speech input, processing, using a plurality of pronunciation guessers, the words from the user's set of one or more databases, the processing producing additional phonetic data derived from the words, the additional phonetic data forming an extended phonetic dictionary unique to the user; processing the speech input by comparing phonemes detected in the speech input to the phonetic dictionary and to the extended phonetic dictionary to determine a set of one or more matches; and determining a best match from the set of one or more matches. 11. The method as in claim 10 wherein the user's set of one or more databases comprises a contacts database with names of people and telephone numbers, and wherein the phonetic dictionary is for natural language speech recognition and wherein the speech input is for calling a telephone number or sending a text message to another user's device.