Language model biasing system
Methods, systems, and apparatus for receiving audio data corresponding to a user utterance and context data, identifying an initial set of one or more n-grams from the context data, generating an expanded set of one or more n-grams based on the initial set of n-grams, adjusting a language model based at least on the expanded set of n-grams, determining one or more speech recognition candidates for at least a portion of the user utterance using the adjusted language model, adjusting a score for a particular speech recognition candidate determined to be included in the expanded set of n-grams, determining a transcription of user utterance that includes at least one of the one or more speech recognition candidates, and providing the transcription of the user utterance for output.
1. A computer-implemented method when executed on data processing hardware that causes the data processing hardware to perform operations comprising:
receiving an initial set of n-grams, the initial set of n-grams designated by an application developer of an application, each n-gram of the initial set of n-grams comprises n adjacent letters, symbols, or words;
biasing, using the initial set of n-grams, a trained speech recognizer by modifying one or more parameters of a trained language model used by the trained speech recognizer, the one or more parameters modified to increase prediction probabilities associated with the trained speech recognizer recognizing n-grams in audio data that are included in the initial set of n-grams;
receiving audio data corresponding to an utterance detected by a user device associated with a user; and
processing, using the biased trained speech recognizer and the modified trained language model, the received audio data corresponding to the utterance to determine a transcription of the utterance that is biased toward the initial set of n-grams.
2. The computer-implemented method of claim 1 , wherein the initial set of n-grams are identified before the user speaks the utterance.
3. The computer-implemented method of claim 1 , wherein the operations further comprise:
receiving context data for the user device,
wherein receiving the initial set of n-grams comprises identifying the initial set of n-grams from the context data.
4. The computer-implemented method of claim 3 , wherein:
the context data comprises an application identifier associated with the application; and
identifying the initial set of n-grams comprises retrieving data indicating one or more words or phrases corresponding to the application identifier.
5. The computer-implemented method of claim 3 , wherein:
the context data comprises a dialog state identifier; and
identifying the initial set of n-grams comprises retrieving data indicating one or more words or phrases corresponding to the dialog state identifier.
6. The computer-implemented method of claim 3 , wherein the context data comprises data that indicates a topic corresponding to an interface provided to the user by the user device.
7. The computer-implemented method of claim 3 , wherein the context data comprises data indicating a task to be performed using an interface provided to the user by the user device.
8. The computer-implemented method of claim 3 , wherein identifying the initial set of n-grams from the context data comprises:
identifying a first set of one or more n-grams from the context data; and
generating an expanded set of one or more n-grams based at least on the first set of n-grams, the expanded set of n-grams comprising one or more n-grams that are different from the n-grams in the first set of n-grams.
9. The computer-implemented method of claim 1 , wherein the utterance is detected by the user device providing an interface to the user.
10. The computer-implemented method of claim 1 , wherein:
the data processing hardware resides on the user device; or
the data processing hardware resides on a server system in communication with the user device over a communication network.
11. A system comprising:
data processing hardware; and
memory hardware in communication with the data processing hardware and storing instructions that, when executed on the data processing hardware, causes the data processing hardware to perform operations comprising:
receiving an initial set of n-grams, the initial set of n-grams designated by an application developer of an application, each n-gram of the initial set of n-grams comprises n adjacent letters, symbols, or words;
biasing, using the initial set of n-grams, a trained speech recognizer by modifying one or more parameters of a trained language model used by the trained speech recognizer, the one or more parameters modified to increase prediction probabilities associated with the trained speech recognizer recognizing n-grams in audio data that are included in the initial set of n-grams;
receiving audio data corresponding to an utterance detected by a user device associated with a user; and
processing, using the biased trained speech recognizer and the modified trained language model, the received audio data corresponding to the utterance to determine a transcription of the utterance that is biased toward the initial set of n-grams.
12. The system of claim 11 , wherein the initial set of n-grams are identified before the user speaks the utterance.
13. The system of claim 11 , wherein the operations further comprise:
receiving context data for the user device,
wherein receiving the initial set of n-grams comprises identifying the initial set of n-grams from the context data.
14. The system of claim 13 , wherein:
the context data comprises an application identifier associated with the application; and
identifying the initial set of n-grams comprises retrieving data indicating one or more words or phrases corresponding to the application identifier.
15. The system of claim 13 , wherein:
the context data comprises a dialog state identifier; and
identifying the initial set of n-grams comprises retrieving data indicating one or more words or phrases corresponding to the dialog state identifier.
16. The system of claim 13 , wherein the context data comprises data that indicates a topic corresponding to an interface provided to the user by the user device.
17. The system of claim 13 , wherein the context data comprises data indicating a task to be performed using an interface provided to the user by the user device.
18. The system of claim 13 , wherein identifying the initial set of n-grams from the context data comprises:
identifying a first set of one or more n-grams from the context data; and
generating an expanded set of one or more n-grams based at least on the first set of n-grams, the expanded set of n-grams comprising one or more n-grams that are different from the n-grams in the first set of n-grams.
19. The system of claim 13 , wherein the utterance is detected by the user device providing an interface to the user.
20. The system of claim 13 , wherein:
the data processing hardware resides on the user device; or
the data processing hardware resides on a server system in communication with the user device over a communication network.