Instantaneous learning of text-to-speech during dialogue

A pronunciation decision model in digital assistants selects between user and text-to-speech pronunciations based on related features, addressing pronunciation discrepancies and improving interaction quality.

JP2024170506AActive Publication Date: 2024-12-10GOOGLE LLC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024151468
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-03-03
Filing Date
2024-09-03
Publication Date
2024-12-10
Estimated Expiration
2042-02-28

AI Technical Summary

Technical Problem

Existing text-to-speech systems often produce pronunciations that differ from user pronunciations, leading to discrepancies in verbal interactions with digital assistants, which can confuse users.

Method used

A pronunciation decision model is used to determine whether user or text-to-speech pronunciations are more reliable by analyzing user and TTS pronunciation-related features, selecting the most confident option for generating synthesized speech.

Benefits of technology

Improves the accuracy and user satisfaction of text-to-speech systems by aligning pronunciations with user preferences, enhancing the naturalness of digital assistant interactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2024170506000001_ABST
    Figure 2024170506000001_ABST
Patent Text Reader

Abstract

To provide a system and a method for instantaneous learning of text-to-speech (TTS) during dialog.SOLUTION: A method for instantaneous learning of text-to-speech (TTS) during dialog includes a step of receiving user pronunciation (202) of a particular word present in a query spoken by a user. The method also includes a step of receiving a TTS pronunciation (204) of the same particular word which is present in TTS input, where the TTS pronunciation of the particular word is different than user pronunciation of the particular word. The method also includes a step of obtaining user pronunciation-related features (210) and TTS pronunciation-related features (230), which are associated with the particular word. The method also includes a step of generating pronunciation decision (250) selecting one of the user pronunciation or TTS pronunciation of the particular word associated with highest confidence. The method also includes a step of providing TTS audio which includes synthesized speech representation of a response to the query using user pronunciation or the TTS pronunciation for the particular word.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to instant text-to-speech learning during a dialogue. [Background technology]

[0002] Users often interact with voice-enabled devices, such as smartphones, smartwatches, and smart speakers, through digital assistants. These digital assistants provide a dialogue with the user to enable the user to complete tasks and get answers to questions they have, all through natural conversational interactions. Ideally, during the dialogue between the user and the digital assistant, the user should be able to interact as if the user were speaking to another person via verbal questions directed to their voice-enabled device running the digital assistant. The digital assistant would provide these verbal questions to an automatic speech recognizer (ASR) system to process and recognize the verbal requests so that actions can be taken. Additionally, the digital assistant would also utilize a text-to-speech (TTS) system to convert the textual representation of the response to the question into synthetic speech for audible output from the user's voice-enabled device. Often, there is lexical overlap between a verbal question and the corresponding TTS response during a digital assistant dialogue, whereby the user's pronunciation of a word in the verbal question differs from the TTS pronunciation of the same word present in the digital assistant response to the question when audibly output as synthetic speech. [Prior art documents] [Non-patent literature]

[0003] [Non-Patent Document 1] "Natural TTS Synthesis by Conditioning WaveNet on Mel Spectrogram Predictions," J. Shen et al., available at, for example, https: / / arxiv.org / abs / 1712.05884 Summary of the Invention [Means for solving the problem]

[0004] One aspect of the disclosure provides a computer-implemented method that, when executed on data processing hardware, causes the data processing hardware to perform operations for selecting whether a user pronunciation of a particular word or a text-to-voice pronunciation of the particular word is more reliable for use in the text-to-voice audio. The operations include receiving a user pronunciation of a particular word present in a question spoken by a user. The operations also include receiving a TTS pronunciation of the same particular word present in a text-to-voice (TTS) input. The TTS input includes a textual representation of a response to the question, and the TTS pronunciation of the particular word is different from the user pronunciation of the particular word. The operations also include obtaining user pronunciation-related features associated with the user pronunciation of the particular word and obtaining TTS pronunciation-related features associated with the TTS pronunciation of the particular word. The operations also include generating a pronunciation decision as an output from a pronunciation decision model configured to receive the user pronunciation-related features and the TTS pronunciation-related features as inputs, the pronunciation decision selecting one of the user pronunciation of the particular word or the TTS pronunciation of the particular word associated with the highest confidence for use in the TTS audio. The operations also include providing, for audible output from a user device associated with the user, TTS audio including a synthesized speech representation of a response to the question using one of the user pronunciation for the particular word or the TTS pronunciation for the particular word selected by the pronunciation decision output from the pronunciation decision model.

[0005] Implementations of the present disclosure may include one or more of the following optional features. In some implementations, the operations further include receiving audio data corresponding to a question spoken by a user, and processing the audio data using an automatic speech recognizer (ASR) to generate a representation of the question. In these implementations, receiving the user pronunciation of the particular word includes at least one of: extracting the user pronunciation of the particular word from an intermittent state of the ASR while processing the audio data using the ASR; extracting a user acoustic representation of the particular word from the audio data carrying the user pronunciation of the particular word; or processing the audio data to generate a user phonemic representation carrying the user pronunciation of the particular word. The user pronunciation-related features associated with the user pronunciation of the particular word may also include one or more confidence features associated with the ASR recognizing the particular word in the audio data.

[0006] In some examples, the user pronunciation related features associated with the user pronunciation of the particular word include at least one of the user's geographic region at the time the question was spoken by the user, linguistic demographic information associated with the user, and a frequency of using the user pronunciation when pronouncing the particular word in previous questions spoken by the user and / or other users. Receiving the TTS pronunciation of the particular word may include receiving a TTS input as an input to the TTS system including a textual representation of a response to the question, generating as an output from the TTS system an initial sample of TTS audio including an initial synthesized speech representation of the response to the question, and extracting a TTS acoustic representation of the particular word from the initial sample of TTS audio, wherein the TTS acoustic representation conveys the TTS pronunciation of the particular word.

[0007] Optionally, receiving the TTS pronunciation of the particular word may include processing the textual representation of the response to the question to generate a TTS phoneme representation conveying the TTS pronunciation of the particular word. In some examples, the TTS pronunciation-related features associated with the TTS pronunciation of the particular word include at least one of a confirmed preferred pronunciation for the particular word, an unconfirmed pronunciation for the particular word inferred using pronunciation mining from one or more auxiliary information sources, a pronunciation variant feature indicating whether any other variants exist for pronouncing the particular word, or a pronunciation complexity feature indicating the likelihood of a user mispronunciation of the particular word.

[0008] In some implementations, after generating a pronunciation decision that selects one of the user pronunciation of the particular word or the TTS pronunciation of the particular word, the operations further include receiving explicit feedback from the user indicating whether the user prefers the user pronunciation of the particular word or the TTS pronunciation of the particular word to pronounce the particular word in a subsequent TTS output, and updating the pronunciation decision model based on the explicit feedback from the user. Wherein, when the explicit feedback from the user indicates that the user prefers the user pronunciation of the particular word, the operations further include updating the TTS system to use the user pronunciation of the particular word when generating TTS audio that includes the particular word. In some implementations, after providing the TTS audio for audible output from the user device, the operations further include receiving audio data corresponding to a next question spoken by the user or another user that includes the particular word, determining implicit user feedback indicating whether the user or another user pronounced the particular word in the next question in the same way as the one of the user pronunciation of the particular word or the TTS pronunciation of the particular word selected by the pronunciation decision, and updating the pronunciation decision model based on the implicit user feedback.

[0009] Another aspect of the present disclosure provides a system including data processing hardware and memory hardware in communication with the data processing hardware and storing instructions that, when executed on the data processing hardware, cause the data processing hardware to perform operations for selecting whether a user pronunciation of a particular word or a text-to-voice pronunciation of the particular word is more reliable for use in the text-to-voice audio. The operations include receiving a user pronunciation of a particular word present in a question spoken by a user. The operations also include receiving a TTS pronunciation of the same particular word present in a text-to-voice (TTS) input. The TTS input includes a textual representation of a response to the question, and the TTS pronunciation of the particular word is different from the user pronunciation of the particular word. The operations also include obtaining user pronunciation-related features associated with the user pronunciation of the particular word and obtaining TTS pronunciation-related features associated with the TTS pronunciation of the particular word. The operations also include generating a pronunciation decision as an output from a pronunciation decision model configured to receive the user pronunciation-related features and the TTS pronunciation-related features as inputs, the pronunciation decision selecting one of the user pronunciation of the particular word or the TTS pronunciation of the particular word associated with the highest confidence for use in the TTS audio. The operations also include providing, for audible output from a user device associated with the user, TTS audio including a synthesized speech representation of a response to the question using one of the user pronunciation for the particular word or the TTS pronunciation for the particular word selected by the pronunciation decision output from the pronunciation decision model.

[0010] This aspect may include one or more of the following optional features. In some implementations, the operations further include receiving audio data corresponding to a question spoken by a user, and processing the audio data using an automatic speech recognizer (ASR) to generate a representation of the question. In these implementations, receiving the user pronunciation of the particular word includes at least one of extracting the user pronunciation of the particular word from an intermittent state of the ASR while processing the audio data using the ASR, extracting a user acoustic representation of the particular word from the audio data carrying the user pronunciation of the particular word, or processing the audio data to generate a user phonemic representation carrying the user pronunciation of the particular word. The user pronunciation-related features associated with the user pronunciation of the particular word may include one or more confidence features associated with the ASR recognizing the particular word in the audio data.

[0011] In some examples, the user pronunciation-related features associated with the user pronunciation of the particular word include at least one of the user's geographic region at the time the question was spoken by the user, linguistic demographic information associated with the user, and a frequency of using the user pronunciation when pronouncing the particular word in previous questions spoken by the user and / or other users. Receiving the TTS pronunciation of the particular word may include receiving a TTS input as an input to the TTS system including a textual representation of a response to the question, generating an initial sample of TTS audio as an output from the TTS system including an initial synthesized speech representation of the response to the question, and extracting a TTS acoustic representation of the particular word from the initial sample of TTS audio, wherein the TTS acoustic representation conveys the TTS pronunciation of the particular word.

[0012] Optionally, receiving the TTS pronunciation of the particular word may include processing the textual representation of the response to the question to generate a TTS phoneme representation conveying the TTS pronunciation of the particular word. In some examples, the TTS pronunciation-related features associated with the TTS pronunciation of the particular word include at least one of a confirmed preferred pronunciation for the particular word, an unconfirmed pronunciation for the particular word inferred using pronunciation mining from one or more auxiliary information sources, a pronunciation variant feature indicating whether any other variants exist for pronouncing the particular word, or a pronunciation complexity feature indicating a likelihood of a user mispronunciation of the particular word.

[0013] In some implementations, after generating the pronunciation decision that selects one of the user pronunciation of the particular word or the TTS pronunciation of the particular word, the operations further include receiving explicit feedback from the user indicating whether the user prefers the user pronunciation of the particular word or the TTS pronunciation of the particular word to pronounce the particular word in a subsequent TTS output, and updating the pronunciation decision model based on the explicit feedback from the user. Wherein, when the explicit feedback from the user indicates that the user prefers the user pronunciation of the particular word, the operations further include updating the TTS system to use the user pronunciation of the particular word when generating the TTS audio that includes the particular word. In some implementations, after providing the TTS audio for audible output from the user device, the operations further include receiving audio data corresponding to a next question spoken by the user or another user that includes the particular word, determining implicit user feedback indicating whether the user or another user pronounced the particular word in the next question in the same way as the one of the user pronunciation of the particular word or the TTS pronunciation of the particular word selected by the pronunciation decision, and updating the pronunciation decision model based on the implicit user feedback.

[0014] The details of one or more implementations of the disclosure are set forth in the accompanying drawings and the description below. Other aspects, features, and advantages will be apparent from the description and drawings, and from the claims. [Brief description of the drawings]

[0015] [Figure 1] FIG. 1 is a schematic diagram of an example audio environment. [Diagram 2] FIG. 2 is a schematic diagram of an example pronunciation decision model for determining whether a user pronunciation of a particular word or a text-to-speech pronunciation of a particular word is more reliable to use for text-to-speech audio. [Diagram 3] FIG. 2 is a schematic diagram of an example text-to-speech model for generating TTS audio. [Figure 4] FIG. 1 is a schematic diagram of an example dialogue in which a user pronunciation for a particular word is different from and more reliable than a TTS pronunciation for the same word. [Diagram 5] 1 is a flowchart of an example arrangement of operations for a method of instant text-to-speech learning during a dialogue between a user and a digital assistant. [Figure 6] FIG. 1 is a schematic diagram of an example computing device that can be used to implement the systems and methods described herein. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0016] Like reference symbols in the various drawings indicate like elements.

[0017] During an interaction between a user and a digital assistant, such as when a user utters a verbal question to a digital assistant to perform an action, and the digital assistant audibly outputs a text-to-speech (TTS) response related to the question, there is often an overlap in the vocabulary of the verbal question and the TTS response. For example, a user can speak a voice search question "Where is Bexar?", and the corresponding audio data is passed to an automatic speech recognizer (ASR) for conversion to a corresponding representation for interpretation by a natural language understanding (NLU) module, and provided as a search question to a search engine to retrieve results. Using the retrieved results, the digital assistant may generate a TTS input that includes a textual representation of a response to the question. Here, the textual representation of the response is "Bexar is located in Texas", which is provided as a TTS input to a TTS system for generating a corresponding TTS audio including a synthetic voice for audible output from a device associated with the user.

[0018] In some cases, a user pronounces a word in a verbal question differently than the TTS system would pronounce the same word present in the textual representation of the response to the question provided as the TTS input. Conflicting pronunciation differences can result from a variety of reasons, including lack of normalization between the ASR and TTS systems, which are typically trained separately and often become out of sync in terms of updates, unusual words / terms (e.g., contact names, neologisms, etc.) that the TTS system is not trained to pronounce, words that the user unknowingly mispronounces and that the ASR system is robust and accurately recognizes and the TTS system pronounces correctly, and words that the user intentionally mispronounces to mislead the ASR system, to name a few.

[0019] Implementations herein are directed to identifying when a user pronunciation of a term spoken by a user during a question differs from a TTS pronunciation of the same term present in a response to the question, and using a pronunciation decision model to determine whether the user pronunciation or the TTS pronunciation should be used to pronounce the word in the TTS audio that conveys the response to the user as a synthetic voice. As described in more detail below, the pronunciation decision model may be trained and continuously updated to select between competing pronunciations of the same word based on TTS pronunciation-related features and / or user pronunciation-related features. That is, based on the user pronunciation-related features associated with the user pronunciation of a particular word and the TTS pronunciation-related features associated with the TTS pronunciation of the particular word, the pronunciation decision model may estimate the confidence of the user pronunciation of the particular word and the confidence of the TTS pronunciation of the same particular word to determine whether the user pronunciation or the TTS pronunciation is more reliable.

[0020] 1, in some implementations, an audio environment 100 includes a user 10 speaking a question 12 to a voice-enabled device 110 (also referred to as device 110 or user device 110). Specifically, the user 10 is interacting with a digital assistant 115 (also referred to as a "digital assistant interface") running on the user device 110, and the question 12 spoken by the user 10 requests the digital assistant 115 to perform an action. The user 10 (i.e., the speaker of the question 12) may speak the question 12 to ask the digital assistant 115 for a response or to have the digital assistant 115 perform a task specified by the question 12. The device 110 is configured to capture sounds from one or more users 10 in the audio environment 100. A voice-enabled system (e.g., digital assistant 115) of or associated with device 110 may respond to question 12, perform one or more actions specified by question 12, and provide a response to the question as synthesized voice 154 for audible output from device 110.

[0021] Here, the device 110 captures audio data 14 corresponding to a verbal question 12 by the user 10. The device 110 may represent any computing device associated with the user 10 and capable of receiving the audio data 14. Some examples of the user device 110 include, but are not limited to, mobile devices (e.g., mobile phones, tablets, laptops, e-readers, etc.), computers, wearable devices (e.g., smart watches), music players, casting devices, smart appliances (e.g., smart TVs) and Internet of Things (IoT) devices, remote controls, smart speakers, etc. The device 110 includes data processing hardware 112 and memory hardware 114 in communication with the data processing hardware 112 and storing instructions that, when executed by the data processing hardware 112, cause the data processing hardware 112 to perform one or more operations related to voice and / or text processing. In some examples, device 110 includes one or more applications (i.e., software applications), each of which may utilize one or more voice processing systems / models 140, 150, 200 associated with device 110 to perform various functions within the application. For example, device 110 executes a digital assistant 115 configured to communicate synthetic playback audio 154 (also referred to as synthetic voice 154) to user 10 to converse with user 10 and assist in the accomplishment of various tasks.

[0022] Device 110 further includes an audio subsystem with an audio capture device (e.g., a microphone) 116 for capturing and converting audio data 14 in audio environment 100 into an electrical signal, and an audio output device (e.g., a speaker) 118 for communicating an audible audio signal (e.g., a composite playback signal 154 from device 110). While device 110 implements a single audio capture device 116 in the illustrated example, device 110 may implement an array of audio capture devices 116 without departing from the scope of this disclosure, whereby one or more audio capture devices 116 in the array are not physically resident on device 110 but are in communication with the audio subsystem (e.g., peripheral to device 110). For example, device 110 may correspond to a vehicle infotainment system that utilizes an array of microphones distributed throughout the vehicle. Similarly, audio output device 118 may include one or more speakers, either resident on or in communication with device 110, or a combination of one or more speakers resident on device 110 and one or more other speakers physically removed from device 110 but in communication with device 110.

[0023] Additionally, the device 110 may be configured to communicate with a remote system 130 over the network 120. The remote system 130 may include remote resources 132, such as remote data processing hardware 134 (e.g., a remote server or CPU) and / or remote memory hardware 136 (e.g., a remote database or other storage hardware). The device 110 may utilize the remote resources 132 to perform various functionality related to speech processing and / or synthesis playback delivery. For example, the device 110 may be configured to perform speech recognition using an automatic speech recognition (ASR) system 140 and / or text-to-speech conversion using a text-to-speech (TTS) system 150. Additionally, the pronunciation decision model 200 may generate a pronunciation decision 250 that selects between a user pronunciation 202 or a TTS pronunciation 204 for a particular word present in both the question 12 spoken by the user 10 and the TTS input 152 corresponding to a textual representation of a response to the question 12. The TTS system 150 creates a TTS audio 154 that includes a synthesized speech representation of a response to the question 12, whereby the TTS audio 154 pronounces a particular word using either the user pronunciation 202 or the TTS pronunciation 204 selected by the pronunciation decision 250 output from the pronunciation decision model 200.

[0024] These systems / models 140, 150, 200 may reside on the device 110 (referred to as on-device systems) or may reside remotely (e.g., reside on a remote system 130) but in communication with the device 110. In some examples, some of these systems 140, 150, 200 reside locally or on-device while others reside remotely. In other words, any of these systems 140, 150, 200 may be local, remote, or both in any combination. For example, if the size or processing requirements of the system 140, 150, 200 are significant, the system 140, 150, 200 may reside on a remote system 130. Additionally, if the device 110 can support the size or processing requirements of the one or more systems 140, 150, 200, one or more of the systems 140, 150, 200 may reside on the device 110 using the data processing hardware 112 and / or memory hardware 114. Optionally, one or more of the systems 140, 150, 200 may reside locally / on-device or remotely. For example, when a connection to the network 120 between the device 110 and the remote system 130 is available, one or more of the systems 140, 150, 200 may run on the remote system 130 by default, but if the connection is lost or the network 120 is unavailable, the systems 140, 150, 200 will instead run locally on the device 110.

[0025] In the illustrated example, the ASR system 140 receives as input audio data 14 corresponding to the question 12 and processes the audio data 14 to generate as output a representation 142 of the question 12. The ASR system 140 may include natural language understanding (NLU) functionality to perform question interpretation (e.g., semantic analysis) on the representation 142. The representation 142 includes a grapheme representation represented by a sequence of text that the digital assistant 115 may use to generate a response to the question 12, and more specifically, to generate a TTS input 152 corresponding to a textual representation of the response to the question 12. For example, continuing with the example from earlier, the user 10 may speak the question "Where is Bexar?" which is captured and converted into corresponding audio data 14 for processing by the ASR system 140 which generates the corresponding representation 142. If the standard pronunciation for the word Bexar in the context of Texas is "

[0026]

number

[0027] " whereas user 10 unwittingly pronounces the word Bexar by articulating the "X" based on its English spelling.

[0028]

number

[0029] In particular, the ASR system 140 is robust and accurately recognizes the user's mispronunciation of the word Bexar as a city in the state of Texas.

[0030] After generating the representation 142 (and performing any NLU functionality), the digital assistant 115 may then use the representation 142 to determine a response to question 12. For example, to determine a location for a city name (e.g., Bexar), the digital assistant 115 may pass a search string that includes the representation 142 ("Where is Bexar?") or identifying portions of the representation (e.g., "where" and "Bexar") to a search engine. The search engine may then return one or more search results that the digital assistant 115 interprets to generate a TTS input 152 that includes a text representation of a response to question 12. In particular, the word "Bexar" is present in both the representation 142 and the TTS input 152 of question 12, such that both the representation 142 and the text representation of the TTS input 152 share the same grapheme representation of the word "Bexar." The text representation may include a sequence of graphemes / characters for a particular natural language. The grapheme / character sequence may include letters, numbers, punctuation marks and / or other special characters.

[0031] The TTS system 150 may convert the TTS input 152 into corresponding TTS audio 154 (e.g., synthesized speech) that the device 110 will audibly output to communicate a response to the question 12 to the user 10. Prior to audibly outputting the TTS audio 154, the TTS system 150 and / or the pronunciation determination model 200 may identify that a user pronunciation 202 of a particular word present in the question 12 differs from a TTS pronunciation 204 of the same particular word present in the TTS input 152. In the illustrated example, the user pronunciation 202 of the word Bexar is "

[0032]

number

[0033] " while the TTS pronunciation of the word Bexar 204 is "

[0034]

number

[0035] In some implementations, the pronunciation determination model 200 derives a user pronunciation related feature (UPF) 210 associated with a user pronunciation 202 of a particular word and a TTS pronunciation related feature (TTSPF) 230 associated with a TTS pronunciation 204 of a particular word. While many different UPFs 210 and TTSPFs 230 may be derived to form the basis for generating a pronunciation determination 250, as described in more detail below with reference to FIG. 2, the pronunciation determination model 200 depicted in the present example of FIG. 1 , in addition to the UPF 210, which includes user statistics indicating that users frequently mispronounce Bexar, also derives a feature that indicates that Bexar is broadly pronounced "in the context of Texas."

[0036]

number

[0037] ". Thus, the pronunciation determination model 200 may estimate a lower confidence for the user pronunciation of Bexar 202 than the confidence estimated for the TTS pronunciation of Bexar 204 due to the fact that users commonly mispronounce Bexar and that the TTS pronunciation 204 is widely adopted when spoken in the Texas context. In particular, the "

[0038]

number

[0039] The TTS pronunciation 204 of " is not confirmed, but instead learned by the TTS system 150 through pronunciation mining from one or more auxiliary sources. For example, the auxiliary sources may include audio and / or video web sources that may be mined for pronunciations of various terms in various contexts for use by the TTS system 150.

[0040] When the TTS system 150 generates the TTS audio 154 from the TTS input 152, the TTS output 154 includes a synthetic voice that approximates how a human would pronounce the word formed by the sequence of graphemes / characters that define the TTS input 152, which includes the textual representation of the response to question 12. Continuing the example, the selection of the TTS pronunciation 204 of the particular word Bexar by the pronunciation determination 250 results in maintaining the use of the TTS pronunciation 204 in the TTS audio 154 and providing the TTS audio 154 for audible output from the user device 110. Thus, the TTS audio 154 is output audibly as a synthetic speech representation of the response to question 12 and is pronounced "Bexar" for the textual representation of the word Bexar present in the TTS input 152.

[0041]

number

[0042] " Use TTS pronunciation 204.

[0043] In some examples, after providing TTS audio 154 for audible output using a selected one of the user pronunciation 202 or TTS pronunciation 204 for a particular word, the pronunciation decision model 200 and / or the TTS system 150 prompt the user 10 to provide explicit feedback indicating whether the user 10 agrees with the pronunciation decision 250 or instead prefers the other of the user pronunciation 202 or TTS pronunciation 204 that was not selected for the pronunciation decision 250. More specifically, the explicit feedback indicating the preferred pronunciation for a particular word may be used as the TTSPF 230 obtained by the pronunciation decision model 200 when making the next pronunciation decision 250 for competing user and TTS pronunciations of the particular word. The user 10 may be prompted to provide explicit feedback when the model 200 estimates confidence for close (e.g., within a threshold confidence range) user and TTS pronunciations 202, 204 and / or when the confidence fails to satisfy a confidence threshold. The explicit feedback may be used to update the pronunciation decision model 200 and / or the TTS system 150. Prior to updating the pronunciation determination model 200 and / or the TTS system 150, additional validation steps may be performed to ensure that the preferred pronunciation for a particular word is a reasonable variant and / or to ensure that the explicit feedback is not an adversarial user correction.

[0044] In an alternative implementation of the above example, TTSPF230 would find "

[0045]

number

[0046] ” was previously specified by the user 10 as a preferred pronunciation, the pronunciation determination model 200 will likely estimate a higher confidence for the user pronunciation 202 than the TTS pronunciation 204, and as a result, the TTS system 150 will modify the TTS audio 154 to adopt the user pronunciation 202. In this implementation, if the TTS system 150 is a user-specific local / custom TTS system 150, the TTSPF 230 may select “

[0047]

number

[0048] ” as a result of the user pronunciation 202 being indicative of the word Bexar being “

[0049]

number

[0050] This may result in retraining the TTS system 150 to generate the TTS audio 154 by pronouncing the

[0051] The TTS system 150 may include any type of TTS system capable of converting input text (e.g., TTS input) into a corresponding synthetic speech representation as the TTS audio 154. For example, the TTS system 150 may utilize a parametric TTS model or a TTS model 300 (TTS model of FIG. 3) that leverages a deep neural network (e.g., an attention-based Tacotron network) to generate the TTS audio 154 for audible output as synthetic speech. In some implementations, the TTS model processes embeddings, which are encoded representations of speech features (e.g., features of the TTS input 152), to generate an audio waveform (e.g., a time-domain audio waveform that defines the amplitude of the audio signal over time) that represents the TTS audio 154. Once generated, the TTS system 150 communicates the TTS audio 154 to the device 110 to enable the device 110 to output the TTS audio 154 as a synthetic speech representation of a response to the question 12. For example, the device 110 may select from one or more speakers 118 a pronunciation decision 250 output from the model 200.

[0052]

number

[0053] 1 to audibly output TTS audio 154 of "Bexar is in Texas" using a TTS pronunciation 204 of "Bexar is in Texas." Here, the TTS model 300 of the TTS system 150 is configured to control speech-related attributes of the synthetic speech 154. In other words, the TTS model 300 is configured to simulate a human speaker's voice in terms of naturalness, while also being able to generate diverse synthetic speech by modeling detailed latent features. Although FIG. 1 illustrates an example of a TTS system 150 in the context of application to a digital assistant 115, the TTS system 150 (e.g., using the TTS model 300) is applicable to other text-to-speech scenarios, such as, for example, voice search, navigation, or document reading.

[0054] In some implementations, where the TTS model 300 associated with the TTS system 150 resides on the user device 110 but is trained as a global model shared across users in a geographic region, federated learning techniques are utilized to update / retrain the model 300. For example, the user device 110 may retrain / update parameters of an on-device version of the TTS model 300 running locally and then share the updated parameters or training losses with a server for updating the global TTS model 300. In doing so, the global TTS model 300 may be retrained / updated using parameter updates / training losses received from multiple users without requiring users across the user population to share their audio data, question content, or other information that they do not want to share.

[0055] Referring to FIG. 3, in some examples, the TTS model 300 includes an encoder-decoder network architecture having an encoder 302 and a decoder 304. In some implementations, the structure of the encoder-decoder 302, 304 corresponds to the Tacotron 2 inter-sequence recurrent neural network (RNN) (e.g., as described in Shen, Natural TTS Synthesis by Conditioning WaveNet on Mel Spectrogram Predictions, available at https: / / arxiv.org / pdf / 1712.05884.pdf, incorporated herein by reference). In some configurations, the encoder 302 is configured to receive as input the TTS input 152 or an embedding (e.g., a character embedding) corresponding to the TTS input 152, and to generate as output a context vector Vc for each Mel-frequency spectrogram that the decoder 304 will subsequently generate. The context vector Vc may be of fixed length and generally define features that appear at specific positions corresponding to a sequence of characters that form the textual representation of the TTS input 152. In some configurations, the TTS input 152 includes a sequence of graphemes that are first converted (eg, via a normalization engine such as a grapheme-phoneme model) into a corresponding sequence of phonemes prior to being input to the encoder 302 .

[0056] The encoder 302 may include one or more convolutional layers followed by a bidirectional long short-term memory (LTSM) layer. Neurons in each convolutional layer may receive input from a small subset of neurons in the previous layer. In this regard, neuronal connectivity allows the convolutional layers to learn filters that activate when a particular hidden feature appears in the location of a sequence of characters corresponding to the textual representation of the TTS input 152. In some implementations, the filters in each convolutional layer may span a sequence of characters (e.g., 4, 5, or 6 characters). Each convolutional layer may be followed by a batch normalization and a rectified linear unit (RELU). If the encoder 302 includes one or more convolutional layers, a bidirectional LSTM layer may follow these convolutional layers. Here, the bidirectional LSTM is configured to process the hidden features generated by the final convolutional layer to generate a sequential feature representation of the sequence of characters corresponding to the TTS input 152. The sequential feature representation may include a sequence of feature vectors.

[0057] In some implementations, the encoder 302 also includes an attention network configured to receive the sequential feature representations from the encoder 302 and process the sequential feature representations to generate a context vector Vc for each decoder output step. That is, the attention network can generate a fixed-length context vector Vc for each frame of the mel-frequency spectrogram that the decoder 304 will subsequently generate. A frame refers to a unit of the mel-frequency spectrogram based on a small portion of the input signal (e.g., a 10 ms sample). The architecture of the attention network may vary depending on the particular TTS system 150. Some examples of attention networks include an additive attention network, a position-sensitive attention network, a Gaussian mixture model (GMM) attention network (e.g., to improve generalization to long utterances), a forward attention network, a stepwise monotonic attention network, or a dynamic convolutional attention network. The attention network may enable the TTS model 300 to generate an output sequence (e.g., a sequence of output log-mel spectrogram frames) based on additional input (e.g., with speech embeddings e) that receives specific attention weights to generate a context vector Vc.

[0058] The decoder 304 is configured as a neural network (e.g., an autoregressive recurrent neural network) to generate an output audio signal AS (e.g., an output sequence mel-frequency spectrogram) of expressive speech that includes intended speech-related attributes (e.g., the TTS pronunciation, the intended prosody and / or voice characteristics for each word present in the TTS input 152). For example, the decoder 304 may be configured as a neural network (e.g., an autoregressive recurrent neural network) to generate an output audio signal AS of expressive speech (e.g., an output sequence mel-frequency spectrogram) that includes intended speech-related attributes (e.g., the TTS pronunciation, the intended prosody and / or voice characteristics for each word present in the TTS input 152). C Based on the,decoder 304 predicts a representation of the speech signal (e.g., a mel-frame or a spectrogram frame) from the encoded representation generated by the,encoder 302. That is, the decoder 304 receives as input,one or more context vectors V, C and for each context vector V Cmay generate a corresponding frame of a Mel-frequency spectrogram, where the Mel-frequency spectrogram is a frequency domain representation of the sound. In some examples, the decoder 304 includes an architecture similar to Tacotron 2. In other words, the decoder 304 may include an architecture having a pre-net, a long short-term memory (LSTM) sub-network, a linear projection and a convolutional post-net.

[0059] In some configurations, the TTS model 300 also includes a speech synthesizer 306 (also referred to as a synthesizer 306). The synthesizer 306 can be any network configured to receive a Mel-frequency spectrogram and generate output samples of the TTS audio 154 based on the Mel-frequency spectrogram as synthetic speech. In some other implementations, the synthesizer 306 includes a vocoder. For example, the speech synthesizer 306 may include a WaveRNN vocoder (e.g., as described in “Natural TTS Synthesis by Conditioning WaveNet on Mel Spectrogram Predictions” by J. Shen et al., available at, e.g., https: / / arxiv.org / abs / 1712.05884). Here, the WaveRNN vocoder may generate a 16-bit signal sampled at 24 kHz that conditions the spectrogram predicted by the TTS model 300. In some other implementations, the synthesizer 306 is a trainable spectrogram waveform inverter. After the synthesizer 306 generates the waveform, an audio subsystem can use the waveform to generate TTS audio 154 and provide the TTS audio 154 for audible playback as synthetic speech (e.g., on device 110), or provide the generated waveform to another system so that the other system can generate and play the TTS audio 154. Generally speaking, the synthesizer 306 has little or no impact on the resulting pronunciation, prosody, and / or style of the synthetic speech 154, and in fact only affects the audio fidelity of the TTS audio 154 because the synthesizer 306 converts a representation of the speech signal (e.g., the mel-frames or spectrogram frames output by the decoder 304) into a waveform.

[0060] FIG. 2 shows a schematic diagram of an example pronunciation decision model 200 that generates a pronunciation decision 250 that selects whether a user pronunciation 202 of a particular word or a different TTS pronunciation 204 of the same particular word is more reliable to use for the TTS audio 154. The pronunciation decision model 200 may run on the user device 110, the remote system 130, or a combination thereof. In some implementations, the pronunciation decision model 200 is user-specific in that the pronunciation decision model 200 is customized to make a pronunciation decision 250 specific to the user 10 based on learning from the dialogue / interaction between the user 10 and the digital assistant 115. In other implementations, the pronunciation decision model 200 is shared by multiple users and instantly learns to base the pronunciation decision 250 on the dialogue that all users 10 have with their digital assistant 115.

[0061] The pronunciation determination model 200 may receive the user pronunciation 202 for the particular word using various techniques. For example, the user pronunciation 202 for the particular word may be extracted from an intermittent state of the ASR system 140 while the ASR system 140 processes the audio data 14 corresponding to the question 12 spoken by the user. In another implementation, the model 200 receives the user pronunciation 202 for the particular word by extracting a user acoustic representation of the particular word from the audio data, where the user acoustic representation conveys the user pronunciation 202 for the particular word. In yet another implementation, the audio data 14 corresponding to the question 12 is processed to generate a user phonemic representation conveying the user pronunciation of the particular word. The disclosure presented is not limited to any particular technique for obtaining the user pronunciation of the word.

[0062] The pronunciation determination model 200 may receive the TTS pronunciation 204 for a particular word using various techniques. In one example, the pronunciation determination model 200 receives a phoneme representation that conveys the TTS pronunciation 204 of the particular word. For example, the TTS system 150 may include a grapheme-phoneme model (e.g., normalization engine of FIG. 3) that converts the grapheme representation of the TTS input 152 to a corresponding phoneme representation. In another example, the TTS acoustic representation (e.g., waveform) of the particular word is extracted from an initial sample of TTS audio (but not audibly output) generated by the TTS system 150, where the acoustic representation conveys the TTS pronunciation 204 of the particular word. The TTS acoustic representation may also be extracted from an audio signal As (e.g., output sequence mel-frequency spectrogram) generated as an output from the decoder 304 of the TTS model 300 of FIG. 3. In yet another example, the TTS pronunciation 204 is extracted from an intermittent state of the TTS system 150 while processing the text representation of the TTS input 152 for conversion to speech. For example, the extracted quiescent state of the TTS system 150 may include the sequence context vector Vc output from the encoder 302 of the TTS model 300 of FIG.

[0063] For a particular word present in both the question 12 spoken by the user 10 and the TTS input 152 including a textual representation of a response to the question 12, the TTS system 150 or the pronunciation decision model 200 may identify when the user pronunciation 202 and the TTS pronunciation 204 of the particular word are different from each other and therefore in conflict as to which one will ultimately be used to pronounce the particular word in the TTS audio 154 provided for audible output as synthetic speech. The pronunciation decision model 200 is trained to generate a pronunciation decision 250 based on one or more user pronunciation related features (UPF) 210 and / or one or more TTS pronunciation related features (TTSPF) 230 associated with the particular word. Here, the pronunciation decision 250 selects one of the user pronunciation 202 or the TTS pronunciation 204 associated with the highest confidence to be used to pronounce the particular word in the TTS audio 154 conveying the response to the question 12. In some examples, the pronunciation decision model 200 includes a user pronunciation confidence estimator 220 and a TTS pronunciation estimator 240. In these examples, the user pronunciation confidence estimator 220 estimates a user pronunciation confidence 222 for the user pronunciation 202 of a particular word indicating a likelihood that the user pronunciation 202 is preferred. On the other hand, the TTS pronunciation estimator 240 estimates a TTS pronunciation confidence 242 for the TTS pronunciation 204 of a particular word indicating a likelihood that the TTS pronunciation 204 is preferred. In some implementations, the pronunciation decision model 200 generates a pronunciation decision 250 as a log-likelihood ratio between the user pronunciation confidence 222 and the TTS pronunciation confidence 242.

[0064] The UPF 210 associated with the user pronunciation 202 of a particular word may include a number of different features that convey information useful to the pronunciation determination model 200 in ascertaining the confidence (or lack of confidence) associated with the pronunciation of a particular word when spoken by the user 10 during the question 12. For example, the transcription 142 of the question 12 may convey the word type of the particular word and the context of the particular word in light of other words recognized within the transcription. Additionally, linguistic demographic information associated with the user 10 may convey the user's proficiency in a particular language. For example, a user 10 who speaks American English as a native language may be prone to mispronouncing the name of an Italian restaurant, while a bilingual speaker of English and Italian is unlikely to mispronounce an Italian name / word. The UPF may provide any type of demographic information, such as age and gender, associated with the user 10. The geographic region in which the user 10 is located when the question 12 is spoken may serve as the UPF 210 associated with the user pronunciation 202 of a particular word. For example, in a question 12 for navigation instructions to a street address with an uncommon name, the TTS system 150 may be prone to mispronouncing the uncommon name because the presence of uncommon names may be poor or non-existent in the training examples used to train the TTS system 150. Thus, the UPF 210 identifying the user's geographic region as being close to the requested street address with an uncommon name may serve as a strong indicator that the user pronunciation 202 of the uncommon name may be more reliable than the TTS pronunciation 204 of the uncommon name. The user may explicitly allow access to the user's geographic region and may deny access to the geographic region at any time. In this scenario, combined with the geographic region of the user 10 provided by the UPF 210, the TTSPF 230 indicates that the location / dialect in which the TTS system 150 is being trained may be outside the geographic region associated with the requested street address, thereby further increasing the user pronunciation confidence 222 and / or decreasing the TTS pronunciation confidence 242.

[0065] Moreover, historical information providing the frequency of use of user pronunciations 202 when pronouncing a particular word in a previous question spoken by the user and / or other users may serve as the UPF 210 provided as input to the pronunciation determination model 200. For example, frequent use of the same user pronunciation 202 by multiple users across a geographic region for a particular word may indicate emerging pronunciations and / or unknown dialect variations for which the TTS system 150 and / or ASR system 140 have not been trained. In addition to improving the confidence pronunciation determination 250 generated by the model 200, knowledge of emerging pronunciations and / or unknown dialect variations in pronouncing a particular word may be used to update the TTS system 150 to learn to create TTS audio 154 that reflects the user pronunciation 202 of the particular word.

[0066] In some examples, using the user pronunciation 202 of a particular word in a previous question 12 to establish a threshold frequency for the user 10 serves as implicit user feedback indicating the user pronunciation 202 as a preferred pronunciation of the particular word. For example, in one or more previous interaction sessions in which the decision model 200 selected the TTS pronunciation 204 over a different user pronunciation 202 to pronounce a particular word in the TTS audio 154, a subsequent question 12 in which the user 10 and / or other users continued to use the user pronunciation 202 to pronounce the particular word may indicate that the user 10 and / or other users prefer the user pronunciation 202 over the TTS pronunciation 204. This implicit feedback may be further used to train / update the TTS system 150.

[0067] In some additional implementations, the UPF 210 associated with the user pronunciation 202 of a particular word includes one or more ASR confidence features that indicate the likelihood that the ASR system 140's recognition of the particular word in the audio data 14 is correct. The pronunciation determination model 200 may obtain the ASR confidence features directly from the ASR system 140 used to generate the transcription 142 of the question 12. The ASR confidence features may include, without limitation, a likelihood / posterior score associated with recognizing the particular word, a confidence score (obtained by the ASR system 140 or an auxiliary confidence model) that indicates the likelihood that the particular word was correctly recognized, and any recognition confusability associated with recognizing the word, where the recognition confusability may be ascertained from a posterior word lattice of candidate recognition results for the transcription 142 and / or the entropy of the posterior distribution of possible recognition results of the neural network model of the ASR system 140.

[0068] In one example, a previous misrecognition of a particular word by ASR system 140 when pronounced using TTS pronunciation 204, followed by a subsequent successful recognition of the particular word using user pronunciation 202 instead, may indicate that user pronunciation 202 is unreliable, as user 10 may have simply chosen user pronunciation 202 to fool ASR system 140 and avoid a misrecognition error. Such knowledge may be used to update ASR system 140 to be robust in recognizing TTS pronunciation 204 of the particular word. Additionally or alternatively, knowledge that a previous misrecognition of a particular word by ASR 140 when pronounced using user pronunciation 202, followed by a subsequent recognition of the particular word using TTS pronunciation 204 instead, may be used to update ASR system 140 to be robust in recognizing user pronunciation 202.

[0069] Similar to the UPF 210, the TTSPF 230 associated with a TTS pronunciation 204 of a particular word may include a number of different features that convey information useful to the pronunciation determination model 200 in ascertaining the reliability (or unreliability) of using the TTS pronunciation 204 to pronounce a particular word present in the TTS input 152 received by the TTS system 150. For example, the TTS input 152 including a textual representation of a response to a question 12 may convey the word type of a particular word and the context of the particular word in light of other words present in the TTS input 152. Additionally, the geographic region / dialect in which the TTS system 150 is trained may be provided to the pronunciation determination model 200 as the TTSPF 230.

[0070] In some examples, the TTSPF 230 indicates whether the TTS pronunciation 204 includes a confirmed preferred pronunciation for a particular word. A TTS pronunciation 204 that is confirmed as a preferred pronunciation may serve as a strong indicator for increasing the TTS pronunciation confidence 242 estimated by the TTS pronunciation confidence estimator 240 for the TTS pronunciation 204 and decreasing the user pronunciation confidence 222 estimated by the user pronunciation confidence estimator 220 for the user pronunciation 202. A preferred pronunciation for a particular word may be manually confirmed during training of the TTS system 150 by training the TTS system 150 on training sample pairs that map audio of the preferred pronunciation of the particular word with the corresponding grapheme representation. For example, if a user 10 who does not speak Swedish as a native language is traveling abroad in Sweden and speaks a question 12 for directions to a city in Sweden but mispronounces the city name, the TTSPF 230 may indicate that the TTS system 150 has been trained on the Swedish language and has confirmed the TTS pronunciation 204 of the city name, thereby increasing the confidence that the TTS pronunciation 204 is more reliable than the user pronunciation 202.

[0071] Preferred pronunciations may also include user-confirmed preferred pronunciations, in which the user 10 provides a preferred pronunciation for a word specified by the user and configures the TTS system 150 to use the preferred pronunciation to pronounce the word in the TTS audio 154. This scenario is common for pronouncing custom or contact names that may have unique pronunciations that the TTS system 150 would otherwise pronounce differently based solely on the grapheme representation of the name. Similarly, the ASR system 140 may have difficulty accurately recognizing these contact names due to their unique pronunciations. To provide a preferred pronunciation for a particular word (e.g., a name or other proper noun), the user may speak the word using the preferred pronunciation, and the TTS system 150 may map the preferred pronunciation to a corresponding grapheme representation, such that when a corresponding grapheme representation is present in the TTS input 152, the TTS system 150 pronounces the word using the preferred pronunciation.

[0072] In other examples, user 10 provides a preferred pronunciation for a particular word via explicit feedback during a previous interaction session with digital assistant 115. In these examples, following an audible output of TTS audio 154 conveying a response to a question in which a particular word is pronounced differently than the way the word was pronounced during the question spoken by user 10, digital assistant 115 may prompt user 10 to provide explicit feedback to indicate which pronunciation the user prefers to pronounce the word in the next TTS audio 154. In another scenario, without being prompted, user 10 may provide explicit feedback by uttering a response such as "I didn't say that correctly" or "Did you mean [using your preferred pronunciation]?" if he or she is not satisfied with the pronunciation of a particular word in TTS audio 154. Although the TTSPF 230's indication that the TTS pronunciation 204 of a particular word includes a user-confirmed preferred pronunciation seems to contradict the view that why a user might consciously choose to use a different user pronunciation 202 of a particular word when speaking a question 12, the user 10 may intentionally mispronounce a particular word, or at least pronounce it inconsistently with the pronunciation preferred by the user 10, in an attempt to deceive the ASR system 140 and avoid a misrecognition error.

[0073] In some implementations, the TTSPF 230 indicates whether the TTS pronunciation 204 includes an unconfirmed pronunciation for a particular word. An unconfirmed pronunciation may increase the confidence level of the reliability of the TTS pronunciation, but to a lesser extent than a confirmed pronunciation. A TTS pronunciation 204 for a particular word may be unconfirmed if the pronunciation is learned / inferred by the TTS system 150 via pronunciation mining from one or more auxiliary sources. For example, in the above example, the TTS system 150 may define the TTS pronunciation 204 for the word / term Bexar as the standard pronunciation in the context of Texas, "

[0074]

number

[0075] " may be learned as an unconfirmed pronunciation that is inferred using pronunciation mining from audio and / or video sources that use the correct pronunciation.

[0076] Additionally or alternatively, other TTSPFs 230 input to the pronunciation determination model 200 for making the pronunciation determination 250 include, without limitation, pronunciation variants and pronunciation complexity features. The pronunciation variant features may indicate whether there are any other variants to pronounce a particular word. These variants of the pronunciation of a particular word may be learned by the pronunciation determination model 200 over time. Different pronunciations may be mapped to different contexts. For example, a majority of speakers may use a particular pronunciation of a particular word, while speakers in a particular geographical area may exclusively pronounce the same word differently. On the other hand, the pronunciation complexity features may indicate the likelihood of user mispronunciation of a particular word. The TTS system 150 may provide the pronunciation complexity features that indicate the strong likelihood of user mispronunciation by identifying a particular phoneme sequence / expression that may be perceived as difficult for a user to pronounce. The TTSPF 230 may further indicate mispronunciation statistics that indicate the frequency with which the user population mispronounces a particular word in a question.

[0077] FIG. 4 provides a schematic diagram 400 of an example interaction between a user 10 and a digital assistant 115 running on a user device 110 in which a user pronunciation 202 for a particular word present in a question 12 differs from a TTS pronunciation 204 of the same word present in a TTS input 152 conveying a response to the question 12. In the illustrated example, the user 10 speaks the question 12, “Play songs by A$AP Rocky,” directed to the digital assistant 115. In this example, the user pronunciation 202 of the word “A$AP” is ASAP, and the ASR system 140 is robust and correctly recognizes the user pronunciation 202 as “A$AP.” Here, the ASR system 140 generates a representation 142 of the question 12 and applies NLU functionality to interpret the question 12 as a request for the digital assistant 115 to have a music player application audibly output a musical song by an artist named A$AP Rocky. Digital assistant 115 also generates a response to question 12 that confirms that digital assistant 115 understands question 12 and is in the process of fulfilling question 12. Here, digital assistant 115 generates a text representation of the response to question 12, "Playing latest songs by A$AP Rocky," which is provided as TTS input 152 to TTS system 150 for conversion to TTS audio 154.

[0078] However, in this scenario, the TTS system 150 does not know how to pronounce the word "A$AP" present in the TTS input 152, and therefore no TTS pronunciation 204 exists for the word "A$AP." Based on the UPF 210, which includes one or more ASR confidence features indicating that there is a strong confidence for recognizing the word A$AP pronounced using the user pronunciation 202, the pronunciation decision model 200 may conclude that the user pronunciation confidence 222 is high, and thus generate a pronunciation decision 250 that selects the user pronunciation 202 of ASAP to pronounce the word A$AP in the TTS audio 154. In the illustrated example, the TTS audio 154 is audibly output from the user device 110 and includes a synthesized speech representation of a response to the question 12 that uses the user pronunciation 202 to pronounce the word "A$AP."

[0079] If the pronunciation decision 250 is associated with a confidence that does not meet a certain threshold, the model 200 and / or the TTS system 150 may determine that there may be some doubt about using the user pronunciation 202 and may therefore prompt the user 10 to indicate whether the user agrees with the pronunciation decision 250 or prefers a different pronunciation. The user's response to the prompt may include explicit feedback as described above. The prompt may be an audible prompt in which the TTS system 150 outputs a synthesized voice asking the user 10 whether they agree with the pronunciation decision or prefer a different pronunciation. The prompt may additionally or alternatively include a visual prompt that displays a notice on a screen in communication with the user device 110. Here, the user may provide a user input indication of selecting a graphical element indicating a preferred pronunciation or, at a minimum, satisfaction or dissatisfaction with the pronunciation decision 250.

[0080] When the pronunciation determination 250 selects the user pronunciation 202 as more reliable than the TTS pronunciation 204 (or the TTS pronunciation 204 is not available), there may be scenarios in which the TTS system 150 cannot create the TTS audio 154 or the TTS audio 154 would contain a synthesis quality that would not otherwise meet quality standards using the user pronunciation 202 to pronounce a particular word. This scenario may occur when the user pronunciation 202 of a particular word is spoken in an accent / dialect that is different from the accent / dialect that the TTS system 150 (and associated TTS model 300) was trained on. The TTS system 150 may utilize a variety of different techniques to create the TTS audio 154 using the user pronunciation 202 on the fly. In some examples, the TTS system 150 uses an acoustic representation of a particular word extracted from the audio data 14 corresponding to the question 12 spoken by the user. In these examples, the acoustic representation of a particular word extracted from the audio data 14 may be inserted into the TTS audio 154. On the other hand, the TTS system 150 may further extract a phoneme representation from the acoustic representation of the particular word and use the phoneme representation to create a TTS audio 154 with the user pronunciation 202 of the particular word.

[0081] In additional examples, the TTS system 150 obtains latent representations derived from portions of the audio data 14 corresponding to the verbal question 12 that include a user pronunciation 202 of a particular word. In these examples, the latent representations guide the TTS system 150 (and associated TTS model) to create TTS audio 154 that pronounces the particular word using the user pronunciation 202. In yet another example, speech conversion techniques are applied to the portions of the audio data 14 corresponding to the verbal question 12 that include the user pronunciation 202 to create TTS audio 154 that uses the user pronunciation 202 to pronounce the particular word in a synthetic voice.

[0082] A software application (i.e., a software resource) may refer to computer software that causes a computing device to perform a task. In some examples, a software application may be referred to as an "application," an "app," or a "program." Example applications include, but are not limited to, system diagnostic applications, system management applications, system maintenance applications, word processing applications, spreadsheet applications, messaging applications, media streaming applications, social networking applications, and gaming applications.

[0083] Non-transient memory may be a physical device used to temporarily or permanently store programs (e.g., sequences of instructions) or data (e.g., program state information) for use by a computing device. Non-transient memory may be volatile and / or non-volatile addressable semiconductor memory. Examples of non-volatile memory include, but are not limited to, flash memory and read-only memory (ROM) / programmable read-only memory (PROM) / erasable programmable read-only memory (EPROM) / electronically erasable programmable read-only memory (EEPROM) (e.g., typically used for firmware such as boot programs). Examples of volatile memory include, but are not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), phase change memory (PCM), as well as disk or tape.

[0084] 5 is a flowchart of an example arrangement of operations for a method 500 of selecting one of a user pronunciation 202 or a different TTS pronunciation 204 of a word present in both a spoken question 12 and a TTS input 152 including a textual representation of a response to the question 12. At operation 502, the method 500 includes receiving a user pronunciation 202 of a particular word present in a question 12 spoken by a user 10. At operation 504, the method 500 includes receiving a TTS pronunciation 204 of the same particular word present in the TTS input 152. The TTS input 152 includes a textual representation of a response to the question 12, and the TTS pronunciation 204 of the particular word is different from the user pronunciation 202 of the particular word. At operation 506, the method 500 includes obtaining user pronunciation-related features 210 associated with the user pronunciation 202 of the particular word. At operation 508, the method 500 includes obtaining TTS pronunciation-related features 230 associated with the TTS pronunciation 204 of the particular word. At operation 510, the method 500 includes generating a pronunciation decision 250 that selects one of the user pronunciation 202 for the particular word or the TTS pronunciation 204 for the particular word associated with the highest confidence for use in the TTS audio 154 as output from a pronunciation decision model 200 configured to receive as input the user pronunciation related features 210 and the TTS pronunciation related features 230. At operation 512, the method 500 includes providing a TTS audio 154 including a synthesized speech representation of a response to the question 12 using one of the user pronunciation 202 for the particular word or the TTS pronunciation 204 for the particular word selected by the pronunciation decision 250 output from the pronunciation decision model 200 for audible output from a user device 110 associated with the user 10.

[0085] 6 is a schematic diagram of an example computing device 600 (e.g., system 600) that may be used to implement the systems and methods described in this document. Computing device 600 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. The components illustrated herein, their connections and relationships, and their functions are meant to be merely illustrative and are not meant to limit the example implementations of the invention described and / or claimed in this document.

[0086] The computing device 600 includes a processor 610 (e.g., data processing hardware 610), a memory 620 (e.g., memory hardware 620), a storage device 630, a high-speed interface / controller 640 that connects to the memory 620 and a high-speed expansion port 650, and a low-speed interface / controller 660 that connects to a low-speed bus 670 and the storage device 630. Each of the components 610, 620, 630, 640, 650, and 660 may be interconnected using various buses and mounted on a common motherboard or in other manners as appropriate. The processor 610 (i.e., the data processing hardware 112 of the user device 110 or the data processing hardware 134 of the remote system 130) can process instructions for execution within the computing device 600, including instructions stored in the memory 620 or in the storage device 630, and display graphic information for a graphical user interface (GUI) on an external input / output device, such as a display 680, coupled to the high-speed interface 640. The memory 620 and storage devices 630 may include memory hardware 114 of the user device 110 or memory hardware 136 of the remote system 130. In other implementations, multiple processors and / or multiple buses may be used, along with multiple memories and types of memory, as appropriate. Similarly, multiple computing devices 600 may be connected, with each device providing a portion of the required operations (e.g., as a bank of servers, a collection of blade servers, or a multiprocessor system).

[0087] The memory 620 stores information non-transiently within the computing device 600. The memory 620 may be a computer-readable medium, a volatile memory unit, or a non-volatile memory unit. The non-transient memory 620 may be a physical device used to temporarily or permanently store programs (e.g., sequences of instructions) or data (e.g., program state information) for use by the computing device 600. Examples of non-volatile memory include, but are not limited to, flash memory and read-only memory (ROM) / programmable read-only memory (PROM) / erasable programmable read-only memory (EPROM) / electronically erasable programmable read-only memory (EEPROM) (e.g., typically used for firmware such as boot programs). Examples of volatile memory include, but are not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), phase change memory (PCM), as well as disk or tape.

[0088] The storage device 630 can provide mass storage for the computing device 600. In some implementations, the storage device 630 is a computer-readable medium. In various different implementations, the storage device 630 can be an array of devices, including a floppy disk device, a hard disk device, an optical disk device or a tape device, a flash memory or other similar solid-state memory device, or a storage area network or other configuration of devices. In additional implementations, a computer program product is tangibly embodied in an information carrier. The computer program product includes instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer or machine-readable medium, such as the memory 620, the storage device 630, or a memory on the processor 610.

[0089] While the high-speed controller 640 manages bandwidth-intensive operations for the computing device 600, the low-speed controller 660 manages low-bandwidth-intensive operations. Such an allocation of responsibilities is merely illustrative. In some implementations, the high-speed controller 640 is coupled to the memory 620, the display 680 (e.g., through a graphics processor or accelerator), and to a high-speed expansion port 650 that can receive various expansion cards (not shown). In some implementations, the low-speed controller 660 is coupled to a storage device 630 and a low-speed expansion port 690. The low-speed expansion port 690 may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet) and may be coupled to one or more input / output devices, such as a keyboard, a pointing device, a scanner, or a network device, such as a switch or a router, for example, through a network adapter.

[0090] The computing device 600 may be implemented in a number of different forms, as illustrated in the figure: For example, it may be implemented as a standard server 600a or a stack of such servers 600a, as a laptop computer 600b, or as part of a rack server system 600c.

[0091] Various implementations of the systems and techniques described herein may be realized in digital electronic and / or optical circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system that includes at least one programmable processor, which may be special purpose or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0092] These computer programs (also known as programs, software, software applications or codes) contain machine instructions for a programmable processor and can be implemented in high-level procedural and / or object-oriented programming languages ​​and / or in assembly / machine language. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, non-transitory computer-readable medium, apparatus and / or device (e.g., magnetic disk, optical disk, memory, programmable logic device (PLD)) used to provide machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor.

[0093] The processes and logic flows described herein can be performed by one or more programmable processors, also referred to as data processing hardware, which execute one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by special purpose logic circuitry, such as FPGAs (field programmable gate arrays) or ASICs (application specific integrated circuits). Processors suitable for executing computer programs include, by way of example, both general purpose and special purpose microprocessors, and any one or more processors of any kind of digital computer. In general, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions, and one or more memory devices for storing instructions and data. In general, a computer will further include, or be operatively coupled to, one or more mass storage devices, such as magnetic, magneto-optical or optical disks, for storing data, to receive data therefrom or to transfer data thereto, or both. However, a computer need not have such devices. Suitable computer-readable media for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including, by way of example, semiconductor memory devices, such as EPROM, EEPROM and flash memory devices, magnetic disks, such as internal hard disks or removable disks, magneto-optical disks, and CD-ROM and DVD-ROM disks. The processor and memory may be supplemented by, or incorporated in, special purpose logic circuitry.

[0094] To provide for interaction with a user, one or more aspects of the present disclosure can be implemented on a computer having a display device, such as a CRT (cathode ray tube), LCD (liquid crystal display) monitor or touch screen, for displaying information to the user, and optionally a keyboard and pointing device, such as a mouse or trackball, through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user, for example, feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback or tactile feedback, and input from the user can be received in any form, including acoustic, speech or tactile input. In addition, the computer can interact with the user by sending documents to and receiving documents from a device used by the user, for example by sending a web page to the web browser in response to a request received from the web browser on the user's client device.

[0095] Although several implementations have been described, it will be understood that various modifications may be made without departing from the spirit and scope of the present disclosure. Accordingly, other implementations are within the scope of the following claims. [Explanation of symbols]

[0096] 10 users 12 questions View Template 14 Audio Data 100 Audio Environment 110 Voice-enabled devices 112 Data Processing Hardware 114 Memory Hardware 115 Digital Assistant 116 Audio Capture Devices 118 Audio Output Devices 120 Network 130 Remote Systems 132 Remote Resources 134 Remote Data Processing Hardware 136 Remote Memory Hardware 140 Automatic Speech Recognition (ASR) Systems 142 Notation 150 Text-to-Speech (TTS) Systems 152 TTS Input 154 TTS Audio 200 Pronunciation Determination Model 202 User pronunciation 204 TTS pronunciation 210 User Pronunciation Related Features (UPF) 220 User Pronunciation Confidence Estimator 222 User pronunciation confidence 230 TTS Pronunciation Related Features (TTSPF) 240 TTS Pronunciation Confidence Estimator 242 TTS pronunciation reliability 250 Pronunciation decision 300 TTS model 302 Encoder 304 Decoder 306 Synthesizer 600 computing devices 600a Standard Server 600b Laptop Computer 600c Rack Server System 610 Processor 620 Memory 630 Storage Devices 640 High Speed ​​Interface / Controller 650 High Speed ​​Expansion Port 660 Low-speed interface / controller 670 Slow Bus 680 Display 690 Low Speed ​​Expansion Port

Claims

1. A computer-implemented method (500) that, when executed on data processing hardware (610), causes the data processing hardware (610) to perform operations, the operations comprising: receiving a user pronunciation (202) of a particular word present in a question (12) spoken by a user; receiving a TTS pronunciation (204) of the same particular word present in a text-to-speech (TTS) input (152), the TTS input (152) comprising a textual representation of a response to the question (12), the TTS pronunciation (204) of the particular word being different from the user pronunciation (202) of the particular word; obtaining user pronunciation-related features (210) associated with the user pronunciation (202) of the particular word; obtaining TTS pronunciation-related features (230) associated with the TTS pronunciation (204) of the particular word; generating, as output from a pronunciation decision model (200) configured to receive as input the user pronunciation related features (210) and the TTS pronunciation related features (230), a pronunciation decision (250) that selects one of the user pronunciation (202) of the particular word or the TTS pronunciation (204) of the particular word that is associated with a highest confidence for use in a TTS audio (154); providing, for audible output from a user device (110) associated with the user, the TTS audio (154) comprising a synthesized speech representation of the response to the question (12) using one of the user pronunciation (202) for the particular word selected by the pronunciation determination (250) output from the pronunciation determination model (200) or the TTS pronunciation (204) for the particular word.

2. The operation, receiving audio data (14) corresponding to the question (12) spoken by the user; and processing the audio data (14) using an automatic speech recognizer (ASR (140)) to generate a representation (142) of the question (12).

3. receiving the user pronunciation (202) of the particular word, extracting the user's pronunciation (202) of the particular word from an intermittent state of the ASR (140) while processing the audio data (14) using the ASR (140); or extracting a user acoustic representation of the particular word from the audio data (14), the user acoustic representation conveying the user's pronunciation (202) of the particular word; or 3. The method of claim 2, further comprising at least one of: processing the audio data to generate a user phonetic representation conveying the user pronunciation of the particular word.

4. 4. The method of claim 2 or 3, wherein the user pronunciation-related features associated with the user pronunciation of the particular word include one or more confidence features associated with the ASR recognizing the particular word in the audio data.

5. The user pronunciation-related features (210) associated with the user pronunciation (202) of the particular word, the geographical region of the user at the time the question (12) was spoken by the user; linguistic demographic information associated with the user; The method (500) of any one of claims 1 to 4, further comprising at least one of: a frequency with which the user pronunciation (202) is used when pronouncing the particular word in a previous question (12) spoken by the user and / or other users.

6. receiving the TTS pronunciation (204) of the particular word, receiving as input to a TTS system (150) said TTS input (152) comprising a textual representation of said response to said question (12); generating, as output from said TTS system (150), an initial sample of TTS audio (154) comprising an initial synthetic speech representation of said response to said question (12); and extracting a TTS acoustic representation of the particular word from the initial sample of the TTS audio (154), the TTS acoustic representation conveying the TTS pronunciation (204) of the particular word.

7. 7. The method (500) of any one of claims 1 to 6, wherein receiving the TTS pronunciation (204) of the particular word comprises processing the text representation of the response to the question (12) to generate a TTS phoneme representation conveying the TTS pronunciation (204) of the particular word.

8. The TTS pronunciation-related features (230) associated with the TTS pronunciation (204) of the particular word are a confirmed preferred pronunciation for said particular word; an unconfirmed pronunciation for the particular word that is inferred using pronunciation mining from one or more auxiliary sources; a pronunciation variant feature indicating whether there are any other variants for pronouncing the particular word; The method (500) of any one of claims 1 to 7, further comprising at least one pronunciation complexity feature indicative of a likelihood of a user mispronunciation of the particular word.

9. After the operations generate the pronunciation decision (250) that selects one of the user pronunciation (202) of the particular word or the TTS pronunciation (204) of the particular word, receiving explicit feedback from the user indicating whether the user prefers the user pronunciation (202) of the particular word or the TTS pronunciation (204) of the particular word to pronounce the particular word in a subsequent TTS output (204); and updating the pronunciation decision model (200) based on the explicit feedback from the user.

10. 10. The method (500) of claim 9, wherein the operations further comprise updating a TTS system (150) to use the user's pronunciation (202) of the particular word when generating TTS audio (154) that includes the particular word when the explicit feedback from the user indicates that the user prefers the user's pronunciation (202) of the particular word.

11. After said operation provides the TTS audio (154) for audible output from the user device (110), receiving audio data (14) corresponding to a next question (12) spoken by the user or another user that includes the particular word; determining implicit user feedback indicating whether the user or another user pronounced the particular word in the next question (12) in the same way as the one of the user pronunciation (202) for the particular word or the TTS pronunciation (204) for the particular word selected by the pronunciation determination (250); and updating the pronunciation decision model (200) based on the implicit user feedback.

12. 12. The method (500) of claim 11, wherein the operations further comprise updating a TTS system (150) based on the implicit user feedback when the implicit feedback indicates that the user pronounced the particular word in the next question (12) in a similar manner to the one of the user pronunciation (202) for the particular word selected by the pronunciation determination (250) or the TTS pronunciation (204) for the particular word.

13. Data processing hardware (610); memory hardware (620) in communication with said data processing hardware (610); wherein the memory hardware stores instructions that, when executed on the data processing hardware, cause the data processing hardware to perform an operation, the operation comprising: receiving a user pronunciation (202) of a particular word present in a question (12) spoken by a user; receiving a TTS pronunciation of the same particular word present in a text-to-speech (TTS) input (152), the TTS input (152) comprising a textual representation of a response to the question (12), the TTS pronunciation (204) of the particular word being different from the user pronunciation (202) of the particular word; obtaining user pronunciation-related features (210) associated with the user pronunciation (202) of the particular word; obtaining TTS pronunciation-related features (230) associated with the TTS pronunciation (204) of the particular word; generating, as an output from a pronunciation decision model (200) configured to receive as input the user pronunciation related features (210) and the TTS pronunciation related features (230), a pronunciation decision (250) that selects one of the user pronunciation (202) of the particular word or the TTS pronunciation (204) of the particular word that is associated with a highest confidence for use in the TTS audio (154); and providing, for audible output from a user device (110) associated with the user, the TTS audio (154) comprising a synthesized speech representation of the response to the question (12) using one of the user pronunciation (202) for the particular word selected by the pronunciation determination (250) output from the pronunciation determination model (200) or the TTS pronunciation (204) for the particular word.

14. The operation, receiving audio data (14) corresponding to the question (12) spoken by the user; 14. The system (600) of claim 13, further comprising processing the audio data (14) using an automatic speech recognizer (ASR) (140) to generate a representation (142) of the question (12).

15. receiving the user pronunciation (202) of the particular word; extracting the user's pronunciation of the particular word from an intermittent state of the ASR while processing the audio data using the ASR; extracting a user acoustic representation of the particular word from the audio data (14), the user acoustic representation conveying the user's pronunciation (202) of the particular word; or 15. The system (600) of claim 14, further comprising at least one of: processing the audio data (14) to generate a user phonemic representation conveying the user pronunciation (202) of the particular word.

16. 16. The system (600) of claim 14 or 15, wherein the user pronunciation-related features (210) associated with the user pronunciation (202) of the particular word include one or more confidence features associated with the ASR (140) recognizing the particular word in the audio data (14).

17. The user pronunciation-related features (210) associated with the user pronunciation (202) of the particular word, the geographical region of the user at the time the question (12) was spoken by the user; linguistic demographic information associated with the user; The system (600) of any one of claims 13 to 16, further comprising at least one of: a frequency of use of the user pronunciation (202) when pronouncing the particular word in a previous question (12) spoken by the user and / or other users.

18. receiving the TTS pronunciation (204) of the particular word; receiving as input to a TTS system (150) said TTS input (152) comprising a textual representation of said response to said question (12); generating, as output from said TTS system (150), an initial sample of TTS audio (154) comprising an initial synthetic speech representation of said response to said question (12); and extracting a TTS acoustic representation of the particular word from the initial sample of the TTS audio (154), the TTS acoustic representation conveying the TTS pronunciation (204) of the particular word.

19. 19. The system (600) of any one of claims 13 to 18, wherein receiving the TTS pronunciation (204) of the particular word comprises processing the text representation of the response to the question (12) to generate a TTS phoneme representation conveying the TTS pronunciation (204) of the particular word.

20. The TTS pronunciation-related features (230) associated with the TTS pronunciation (204) of the particular word are a confirmed preferred pronunciation for said particular word; an unconfirmed pronunciation for the particular word that is inferred using pronunciation mining from one or more auxiliary sources; a pronunciation variant feature indicating whether there are any other variants for pronouncing the particular word; 20. The system (600) of any one of claims 13 to 19, further comprising at least one pronunciation complexity feature indicative of a likelihood of a user mispronunciation of the particular word.

21. After the operations generate the pronunciation decision (250) that selects one of the user pronunciation (202) of the particular word or the TTS pronunciation (204) of the particular word, receiving explicit feedback from the user indicating whether the user prefers the user pronunciation (202) of the particular word or the TTS pronunciation (204) of the particular word to pronounce the particular word in a subsequent TTS output (204); and updating the pronunciation decision model based on the explicit feedback from the user.

22. 22. The system (600) of claim 21, wherein the operations further include updating a TTS system (150) to use the user's pronunciation (202) of the particular word when generating TTS audio (154) that includes the particular word when the explicit feedback from the user indicates that the user prefers the user's pronunciation (202) of the particular word.

23. After said operation provides the TTS audio (154) for audible output from the user device (110), receiving audio data (14) corresponding to a next question (12) spoken by the user or another user that includes the particular word; determining implicit user feedback indicating whether the user or another user pronounced the particular word in the next question (12) in a manner similar to the one of the user pronunciation (202) for the particular word or the TTS pronunciation (204) for the particular word selected by the pronunciation determination (250); and updating the pronunciation decision model based on the implicit user feedback.

24. 24. The system (600) of claim 23, wherein the operations further include updating a TTS system (150) based on the implicit user feedback when the implicit feedback indicates that the user pronounced the particular word in the next question (12) in a similar manner to the one of the user pronunciation (202) for the particular word selected by the pronunciation determination (250) or the TTS pronunciation (204) for the particular word.

Citation Information

Patent Citations

  • Voice interaction device and voice synthesizing method for voice interaction

    JP1999175082A

  • Method and device for leading interactive language learning

    JP2001159865A

  • Personalized Speech Synthesis for Voice Actions

    US20160307569A1