IP Library › Granted Patent US 9,728,185
Granted Patent B2
US 9,728,185 · App. 14/720,113 · Granted Aug 8, 2017

Recognizing speech using neural networks

Inventors: Johan Schalkwyk (Scarsdale, NY); Francoise Beaufays (Mountain View, CA); Hasim Sak (New York, NY); John Giannandrea (Saratoga, CA)
Assignee: Google Inc.
G10L15/18G06N3/02G10L15/16G10L15/187G10L15/26
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,728,185
App. No.
14/720,113
Granted
Aug 8, 2017
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for recognizing speech using neural networks. One of the methods includes receiving an audio input; processing the audio input using an acoustic model to generate a respective phoneme score for each of a plurality of phoneme labels; processing one or more of the phoneme scores using an inverse pronunciation model to generate a respective grapheme score for each of a plurality of grapheme labels; and processing one or more of the grapheme scores using a language model to generate a respective text label score for each of a plurality of text labels.

Claims (63)

1. A method comprising:

pre-training, by a speech recognition system that includes a language model, the language model on a first set of text training data to obtain first trained parameter values for the language model;

pre-training, by the speech recognition system that includes an inverse pronunciation model, the inverse pronunciation model on a second set of text training data that is a different set of text training data than the first set of text training data to obtain first trained parameter values for the inverse pronunciation model, the inverse pronunciation model being a different model than the language model;

pre-training, by the speech recognition system that includes an acoustic model, the acoustic model on a first set of audio data to obtain first trained parameter values for the acoustic model, the acoustic model being a different model than the language model and a different model than the inverse pronunciation model;

receiving, by the speech recognition system, a second set of audio data that a) comprises a plurality of audio inputs and b) is a different set of audio data than the first set of audio data;

training, by the speech recognition system and subsequent to the pre-training, the acoustic model, the inverse pronunciation model, and the language model on the second set of audio data to obtain:

second trained parameter values for the acoustic model using the first trained parameter values for the acoustic model,

second trained parameter values for the inverse pronunciation model using the first trained parameter values for the inverse pronunciation model, and

second trained parameter values for the language model using the first trained parameter values for the language model, the training comprising, for each audio input from the second set of audio data:

processing, by the speech recognition system, the respective audio input from the second set of audio data using the first trained parameter values for the acoustic model to generate a respective phoneme score for each of a plurality of phoneme label sequences represented by data in the audio input, wherein the acoustic model comprises one or more long short term memory (LSTM) blocks that receive the audio input and generate an output from the audio input and one or more connectionist temporal classification (CTC) layers that receive the output from the LSTM blocks and transform the output into the phoneme scores;

processing, by the speech recognition system, one or more of the phoneme scores using the first trained parameter values for the inverse pronunciation model to generate a respective grapheme score for each of a plurality of grapheme label sequences;

processing, by the speech recognition system, one or more of the grapheme scores using the first trained parameter values for the language model to generate a respective text label score for each of a plurality of text label sequences, wherein each text label score reflects a likelihood that the corresponding text label sequence is an accurate transcript of the audio input; and

adjusting, by the speech recognition system and using the text label scores for the plurality of text label sequences for the audio input, at least some of the first trained parameter values for the acoustic model, the inverse pronunciation model, and the language model; and

causing, by the speech recognition system, storage of the acoustic model that includes the respective second trained parameter values, the inverse pronunciation model that includes the respective second trained parameter values, and the language model that includes the respective second trained parameter values for use together during a speech recognition process.

2. The method of claim 1 , wherein the inverse pronunciation model comprises one or more LSTM blocks that receive the phoneme scores and generate an output from the phoneme scores and one or more CTC layers that receive the output from the LSTM blocks and transform the output into the grapheme scores.

3. The method of claim 2 , wherein the language model comprises one or more LSTM blocks that receive the grapheme scores and generate an output from the grapheme scores and one or more CTC layers that receive the output from the LSTM blocks and transform the output into the text label scores.

4. The method of claim 1 , wherein the language model comprises one or more LSTM blocks that receive the grapheme scores and generate an output from the grapheme scores and one or more CTC layers that receive the output from the LSTM blocks and transform the output into the text label scores.

5. The method of claim 1 , wherein adjusting, by the speech recognition system and using the text label scores for the plurality of text label sequences for the audio input, at least some of the first trained parameter values for the acoustic model, the inverse pronunciation model, and the language model comprises training the inverse pronunciation model and the acoustic model using a backpropagation technique.

6. The method of claim 5 , wherein:

the inverse pronunciation model comprises one or more LSTM blocks that receive the phoneme scores and generate an output from the phoneme scores and one or more CTC layers that receive the output from the LSTM blocks and transform the output into the grapheme scores; and

the language model comprises one or more LSTM blocks that receive the grapheme scores and generate an output from the grapheme scores and one or more CTC layers that receive the output from the LSTM blocks and transform the output into the text label scores.

7. A speech recognition system comprising one or more computers and one or more storage devices storing instructions that when executed by the one or more computers cause the one or more computers to perform operations comprising:

pre-training, by the speech recognition system that includes a language model, the language model on a first set of text training data to obtain first trained parameter values for the language model;

pre-training, by the speech recognition system that includes an inverse pronunciation model, the inverse pronunciation model on a second set of text training data that is a different set of text training data than the first set of text training data to obtain first trained parameter values for the inverse pronunciation model, the inverse pronunciation model being a different model than the language model;

pre-training, by the speech recognition system that includes an acoustic model, the acoustic model on a first set of audio data to obtain first trained parameter values for the acoustic model, the acoustic model being a different model than the language model and a different model than the inverse pronunciation model;

receiving, by the speech recognition system, a second set of audio data that a) comprises a plurality of audio inputs and b) is a different set of audio data than the first set of audio data;

training, by the speech recognition system and subsequent to the pre-training, the acoustic model, the inverse pronunciation model, and the language model on the second set of audio data to obtain:

second trained parameter values for the acoustic model using the first trained parameter values for the acoustic model,

second trained parameter values for the inverse pronunciation model using the first trained parameter values for the inverse pronunciation model, and

second trained parameter values for the language model using the first trained parameter values for the language model, the training comprising, for each audio input from the second set of audio data:

processing, by the speech recognition system, the respective audio input from the second set of audio data using the first trained parameter values for the acoustic model to generate a respective phoneme score for each of a plurality of phoneme label sequences represented by data in the audio input, wherein the acoustic model comprises one or more long short term memory (LSTM) blocks that receive the audio input and generate an output from the audio input and one or more connectionist temporal classification (CTC) layers that receive the output from the LSTM blocks and transform the output into the phoneme scores;

processing, by the speech recognition system, one or more of the phoneme scores using the first trained parameter values for the inverse pronunciation model to generate a respective grapheme score for each of a plurality of grapheme label sequences;

processing, by the speech recognition system, one or more of the grapheme scores using the first trained parameter values for the language model to generate a respective text label score for each of a plurality of text label sequences, wherein each text label score reflects a likelihood that the corresponding text label sequence is an accurate transcript of the audio input; and

adjusting, by the speech recognition system and using the text label scores for the plurality of text label sequences for the audio input, at least some of the first trained parameter values for the acoustic model, the inverse pronunciation model, and the language model; and

causing, by the speech recognition system, storage of the acoustic model that includes the respective second trained parameter values, the inverse pronunciation model that includes the respective second trained parameter values, and the language model that includes the respective second trained parameter values for use together during a speech recognition process.

8. The system of claim 7 , wherein the inverse pronunciation model comprises one or more LSTM blocks that receive the phoneme scores and generate an output from the phoneme scores and one or more CTC layers that receive the output from the LSTM blocks and transform the output into the grapheme scores.

9. The system of claim 8 , wherein the language model comprises one or more LSTM blocks that receive the grapheme scores and generate an output from the grapheme scores and one or more CTC layers that receive the output from the LSTM blocks and transform the output into the text label scores.

10. The system of claim 7 , wherein the language model comprises one or more LSTM blocks that receive the grapheme scores and generate an output from the grapheme scores and one or more CTC layers that receive the output from the LSTM blocks and transform the output into the text label scores.

11. The system of claim 7 , wherein adjusting, by the speech recognition system and using the text label scores for the plurality of text label sequences for the audio input, at least some of the first trained parameter values for the acoustic model, the inverse pronunciation model, and the language model comprises training the inverse pronunciation model and the acoustic model using a backpropagation technique.

12. The system of claim 11 , wherein:

the inverse pronunciation model comprises one or more LSTM blocks that receive the phoneme scores and generate an output from the phoneme scores and one or more CTC layers that receive the output from the LSTM blocks and transform the output into the grapheme scores; and

the language model comprises one or more LSTM blocks that receive the grapheme scores and generate an output from the grapheme scores and one or more CTC layers that receive the output from the LSTM blocks and transform the output into the text label scores.

13. A non-transitory computer storage medium encoded with instructions that, when executed by one or more computers included in a speech recognition system, cause the one or more computers to perform operations comprising:

pre-training, by the speech recognition system that includes a language model, the language model on a first set of text training data to obtain first trained parameter values for the language model;

pre-training, by the speech recognition system that includes an inverse pronunciation model, the inverse pronunciation model on a second set of text training data that is a different set of text training data than the first set of text training data to obtain first trained parameter values for the inverse pronunciation model, the inverse pronunciation model being a different model than the language model;

pre-training, by the speech recognition system that includes an acoustic model, the acoustic model on a first set of audio data to obtain first trained parameter values for the acoustic model, the acoustic model being a different model than the language model and a different model than the inverse pronunciation model;

receiving, by the speech recognition system, a second set of audio data that a) comprises a plurality of audio inputs and b) is a different set of audio data than the first set of audio data;

training, by the speech recognition system and subsequent to the pre-training, the acoustic model, the inverse pronunciation model, and the language model on the second set of audio data to obtain:

second trained parameter values for the acoustic model using the first trained parameter values for the acoustic model,

second trained parameter values for the inverse pronunciation model using the first trained parameter values for the inverse pronunciation model,

and second trained parameter values for the language model using the first trained parameter values for the language model, the training comprising, for each audio input from the second set of audio data:

processing, by the speech recognition system, the respective audio input from the second set of audio data using the first trained parameter values for the acoustic model to generate a respective phoneme score for each of a plurality of phoneme label sequences represented by data in the audio input, wherein the acoustic model comprises one or more long short term memory (LSTM) blocks that receive the audio input and generate an output from the audio input and one or more connectionist temporal classification (CTC) layers that receive the output from the LSTM blocks and transform the output into the phoneme scores;

processing, by the speech recognition system, one or more of the phoneme scores using the first trained parameter values for the inverse pronunciation model to generate a respective grapheme score for each of a plurality of grapheme label sequences;

processing, by the speech recognition system, one or more of the grapheme scores using the first trained parameter values for the language model to generate a respective text label score for each of a plurality of text label sequences, wherein each text label score reflects a likelihood that the corresponding text label sequence is an accurate transcript of the audio input; and

adjusting, by the speech recognition system and using the text label scores for the plurality of text label sequences for the audio input, at least some of the first trained parameter values for the acoustic model, the inverse pronunciation model, and the language model; and

causing, by the speech recognition system, storage of the acoustic model that includes the respective second trained parameter values, the inverse pronunciation model that includes the respective second trained parameter values, and the language model that includes the respective second trained parameter values for use together during a speech recognition process.

14. The computer storage medium of claim 13 , wherein the inverse pronunciation model comprises one or more LSTM blocks that receive the phoneme scores and generate an output from the phoneme scores and one or more CTC layers that receive the output from the LSTM blocks and transform the output into the grapheme scores.

15. The computer storage medium of claim 14 , wherein the language model comprises one or more LSTM blocks that receive the grapheme scores and generate an output from the grapheme scores and one or more CTC layers that receive the output from the LSTM blocks and transform the output into the text label scores.

16. The computer storage medium of claim 13 , wherein the language model comprises one or more LSTM blocks that receive the grapheme scores and generate an output from the grapheme scores and one or more CTC layers that receive the output from the LSTM blocks and transform the output into the text label scores.

17. The computer storage medium of claim 13 , wherein adjusting, by the speech recognition system and using the text label scores for the plurality of text label sequences for the audio input, at least some of the first trained parameter values for the acoustic model, the inverse pronunciation model, and the language model comprises training the inverse pronunciation model and the acoustic model using a backpropagation technique.

18. The computer storage medium of claim 17 , wherein:

the inverse pronunciation model comprises one or more LSTM blocks that receive the phoneme scores and generate an output from the phoneme scores and one or more CTC layers that receive the output from the LSTM blocks and transform the output into the grapheme scores; and

the language model comprises one or more LSTM blocks that receive the grapheme scores and generate an output from the grapheme scores and one or more CTC layers that receive the output from the LSTM blocks and transform the output into the text label scores.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044097/0658 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2015
From: SCHALKWYK, JOHAN; BEAUFAYS, FRANCOISE; SAK, HASIM; GIANNANDREA, JOHN
To: GOOGLE INC.
Reel/Frame 036453/0718 →
Continuity (2)
Provisional Application 62001962 · May 22, 2014
Related Publication 20150340034A1 · Nov 26, 2015