A method for operating an intelligent automated assistant, the method comprising: at an electronic device with a processor and memory storing one or more programs for execution by the processor: receiving, from a user, a speech input containing a heteronym and one or more additional words; processing the speech input using an automatic speech recognition system to determine at least one of: a phonemic string corresponding to the heteronym as pronounced by the user in the speech input; and a frequency of occurrence of an n-gram with respect to a corpus, wherein the n-gram includes the heteronym and the one or more additional words; determining a correct pronunciation of the heteronym based on at least one of the phonemic string and the frequency of occurrence of the n-gram; generating a dialogue response to the speech input, wherein the dialogue response includes the heteronym; and outputting the dialogue response as a speech output, wherein the heteronym in the dialogue response is pronounced in the speech output according to the determined correct pronunciation. at an electronic device with a processor and memory storing one or more programs for execution by the processor: receiving, from a user, a speech input containing a heteronym and one or more additional words; processing the speech input using an automatic speech recognition system to determine at least one of: a phonemic string corresponding to the heteronym as pronounced by the user in the speech input; and a frequency of occurrence of an n-gram with respect to a corpus, wherein the n-gram includes the heteronym and the one or more additional words; determining a correct pronunciation of the heteronym based on at least one of the phonemic string and the frequency of occurrence of the n-gram; generating a dialogue response to the speech input, wherein the dialogue response includes the heteronym; and outputting the dialogue response as a speech output, wherein the heteronym in the dialogue response is pronounced in the speech output according to the determined correct pronunciation. receiving, from a user, a speech input containing a heteronym and one or more additional words; processing the speech input using an automatic speech recognition system to determine at least one of: a phonemic string corresponding to the heteronym as pronounced by the user in the speech input; and a frequency of occurrence of an n-gram with respect to a corpus, wherein the n-gram includes the heteronym and the one or more additional words; a phonemic string corresponding to the heteronym as pronounced by the user in the speech input; and a frequency of occurrence of an n-gram with respect to a corpus, wherein the n-gram includes the heteronym and the one or more additional words; determining a correct pronunciation of the heteronym based on at least one of the phonemic string and the frequency of occurrence of the n-gram; generating a dialogue response to the speech input, wherein the dialogue response includes the heteronym; and outputting the dialogue response as a speech output, wherein the heteronym in the dialogue response is pronounced in the speech output according to the determined correct pronunciation.