IP Library › Granted Patent US 11,205,420
Granted Patent B1
US 11,205,420 · App. 16/436,562 · Granted Dec 21, 2021

Speech processing using a recurrent neural network

Inventors: Gengshen Fu (Sharon, MA); Thibaud Senechal (Somerville, MA); Shiv Naga Prasad Vitaladevuni (Belmont, MA); Michael J. Rodehorst (Belmont, MA); Varun K. Nagaraja (Cambridge, MA)
Assignee: Amazon Technologies, Inc.
G10L15/16G06N3/02G06N3/04G06N3/0454G06N3/0481G10L15/06G10L15/22G10L25/30G10L2015/088
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 11,205,420
App. No.
16/436,562
Filed
Jun 10, 2019
Granted
Dec 21, 2021
Kind
B1
Art Unit
2657
USPC
704/232
Abstract

A system and method performs wakeword detection using a neural network model that includes a recurrent neural network (RNN) for processing variable-length wakewords. To prevent the model from being influenced by non-wakeword speech, multiple instances of the model are created to process audio data, and each instance is configured to use weights determined by training data. The model may instead or in addition be used to process the audio data only when a likelihood that the audio data corresponds to the wakeword is greater than a threshold. The model may process the audio data as represented by groups of acoustic feature vectors; computations for feature vectors common to different groups may be re-used.

Claims (107)

1. A computer-implemented method comprising:

receiving, from at least one microphone, audio data;

determining, using a voice-activity detection (VAD) component, that the audio data includes a representation of speech;

determining, using an acoustic feature extractor, a first plurality of acoustic feature vectors representing a first portion of the audio data;

determining, using a convolutional neural-network (CNN) model and the first plurality of acoustic feature vectors, a first encoded feature vector;

receiving, from memory, neural-network parameters determined based at least in part on training data;

determining, using a first instance of a long short-term memory (LSTM) model, and the first encoded feature vector, a first wakeword-detection hypothesis that the first portion of the audio data represents a wakeword, the first instance of the LSTM model being initialized using the neural-network parameters;

determining that the first wakeword-detection hypothesis satisfies a first condition;

determining, using the acoustic feature extractor and a second portion of the audio data, a second plurality of acoustic feature vectors, the second plurality of acoustic feature vectors having at least one acoustic feature vector different from the first plurality of acoustic feature vectors;

determining, using the CNN model and the second plurality of acoustic feature vectors, a second encoded feature vector;

determining, using a second instance of the LSTM model and the second encoded feature vector, a second wakeword-detection hypothesis that the second portion of the audio data represents the wakeword, the second instance of the LSTM model being initialized using the neural-network parameters;

determining that the second wakeword-detection hypothesis satisfies a second condition; and

in response to determining that the second wakeword-detection hypothesis is greater than a detection threshold, sending, to a remote system, data representing the speech.

2. The computer-implemented method of claim 1 , further comprising:

determining, using the CNN model and the second plurality of acoustic feature vectors, a wakeword posterior corresponding to a likelihood that the audio data includes a representation of the wakeword; and

prior to determining the second wakeword-detection hypothesis, determining that the wakeword posterior is greater than a posterior threshold.

3. The computer-implemented method of claim 1 , further comprising:

determining, using the acoustic feature extractor and the audio data, a third plurality of acoustic feature vectors;

determining that a number of the acoustic feature vectors is greater than a vector threshold;

determining, using the CNN model and a third plurality of acoustic feature vectors, a third encoded feature vector;

ceasing processing of the first instance of the LSTM model; and

determining, using a third instance of the LSTM model and the third encoded feature vector, a third wakeword-detection hypothesis that a third portion of the audio data represents the wakeword, the third instance of the LSTM model being initialized using the neural-network parameters.

4. The computer-implemented method of claim 1 , further comprising:

determining that the first plurality of acoustic feature vectors and the second plurality of acoustic feature vectors have in common at least a first acoustic feature vector and a second acoustic feature vector;

determining, using the CNN model, a first node output using the first acoustic feature vector, the first node output corresponding to the first encoded feature vector;

determining, using the CNN model, a second node output using the second acoustic feature vector, the second node output corresponding to the second encoded feature vector;

storing, in the memory, the first node output and the second node output; and

wherein determining the second encoded feature vector comprises receiving, from the memory, the first node output and the second node output.

5. A computer-implemented method comprising:

receiving audio data representing an utterance;

receiving, from memory, neural-network parameters determined based at least in part on training data;

processing, using a first instance of a recurrent neural-network (RNN) model, a first portion of the audio data to determine a first likelihood that the first portion represents a wakeword, the first instance initialized using the neural-network parameters determined based at least in part on the training data;

determining that the first likelihood fails to satisfy a condition;

processing, using a second instance of the RNN model, a second portion of the audio data to determine a second likelihood that the second portion represents the wakeword, the second instance initialized using the neural-network parameters determined based at least in part on the training data;

determining that the second likelihood satisfies the condition; and

based at least in part on determining that the second likelihood satisfies the condition, causing speech processing to be performed using the audio data.

6. The computer-implemented method of claim 5 , further comprising:

determining, using the first portion of the audio data, a first plurality of acoustic feature vectors;

determining, using the second portion of the audio data, a second plurality of acoustic feature vectors;

determining, using a convolutional neural-network (CNN) model, a first encoded feature vector based at least in part on the first plurality of acoustic feature vectors; and

determining, using the CNN model, a second encoded feature vector based at least in part on the second plurality of acoustic feature vectors,

wherein the first likelihood is further determined based at least in part on the first encoded feature vector, and

wherein the second likelihood is further determined based at least in part on the second encoded feature vector.

7. The computer-implemented method of claim 6 , further comprising:

determining, using the CNN model and the second plurality of acoustic feature vectors, a wakeword posterior corresponding to a third likelihood that the second portion of the audio data includes a representation of the wakeword; and

prior to determining the second likelihood, determining that the wakeword posterior satisfies a second condition.

8. The computer-implemented method of claim 7 , further comprising:

determining, using the CNN model and a third plurality of acoustic feature vectors, a second wakeword posterior corresponding to a likelihood that a third portion of the audio data includes a representation of the wakeword;

determining that the second wakeword posterior fails to satisfy the second condition; and

based at least in part on determining that the second wakeword posterior fails to satisfy the second condition, ceasing processing of the audio data using the second instance of the RNN model.

9. The computer-implemented method of claim 6 , wherein determining the first encoded feature vector is further based at least in part on:

determining that the first plurality of acoustic feature vectors and the second plurality of acoustic feature vectors have in common at least a first acoustic feature vector and a second acoustic feature vector;

determining, using the CNN model, a first node output using the first acoustic feature vector, the first node output corresponding to the first encoded feature vector; and

determining, using the CNN model, a second node output second the first acoustic feature vector, the second node output corresponding to the first encoded feature vector,

wherein the second encoded feature vector is based at least in part on the first node output and the second node output.

10. The computer-implemented method of claim 5 , further comprising:

processing, using the first instance of the RNN model, a third portion of the audio data to determine a third likelihood that the audio data represents the wakeword; and

ceasing processing of the audio data using the first instance of the RNN model.

11. The computer-implemented method of claim 5 , further comprising:

determining, using the first instance of the RNN model, that the audio data includes a representation of a second word; and

determining that the second word is associated with the wakeword,

wherein determining that the second likelihood satisfies the condition is based at least in part on determining that the second word is associated with the wakeword.

12. The computer-implemented method of claim 5 , further comprising:

determining, using the first instance of the RNN model, that the audio data includes a representation of a second word;

determining that the second word is unassociated with the wakeword; and

based at least in part on determining that the second word is unassociated with the wakeword, ceasing sending, to a remote system, data corresponding to the audio data.

13. A system comprising:

at least one first processor; and

at least one memory including instructions that, when executed by the at least one processor, cause the system to:

receive audio data representing an utterance;

receive, from the at least one memory, neural-network parameters determined based at least in part on training data;

process, using a first instance of a recurrent neural-network (RNN) model, a first portion of the audio data to determine a first likelihood that the first portion represents a wakeword, the first instance initialized using the neural-network parameters determined based at least in part on the training data;

determine that the first likelihood fails to satisfy a condition;

process, using a second instance of the RNN model, a second portion of the audio data to determine a second likelihood that the second portion represents the wakeword, the second instance initialized using the neural-network parameters determined based at least in part on the training data;

determine that the second likelihood satisfies the condition; and

based at least in part on determining that the second likelihood satisfies the condition, cause speech processing to be performed using the audio data.

14. The system of claim 13 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

determine, using the first portion of the audio data, a first plurality of acoustic feature vectors;

determine, using the second portion of the audio data, a second plurality of acoustic feature vectors;

determine, using a convolutional neural-network (CNN) model, a first encoded feature vector based at least in part on the first plurality of acoustic feature vectors; and

determine, using the CNN model, a second encoded feature vector based at least in part on the second plurality of acoustic feature vectors,

wherein the first likelihood is further determined based at least in part on the first encoded feature vector, and

wherein the second likelihood is further determined based at least in part on the second encoded feature vector.

15. The system of claim 14 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

determine, using the CNN model and the second plurality of acoustic feature vectors, a wakeword posterior corresponding to a third likelihood that the second portion of the audio data includes a representation of the wakeword; and

prior to determining the second likelihood, determining that the wakeword posterior fails to satisfy a second condition.

16. The system of claim 15 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

determine, using the CNN model and a third plurality of acoustic feature vectors, a second wakeword posterior corresponding to a likelihood that a third portion of the audio data includes a representation of the wakeword;

determine that the second wakeword posterior fails to satisfy the second condition; and

based at least in part on determining that the second wakeword posterior fails to satisfy the second condition, cease processing of the audio data using the second instance of the RNN model.

17. The system of claim 14 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

determine that the first plurality of acoustic feature vectors and the second plurality of acoustic feature vectors have in common at least a first acoustic feature vector and a second acoustic feature vector;

determine, using the CNN model, a first node output using the first acoustic feature vector, the first node output corresponding to the first encoded feature vector; and

determine, using the CNN model, a second node output second the first acoustic feature vector, the second node output corresponding to the first encoded feature vector,

wherein the second encoded feature vector is based at least in part on the first node output and the second node output.

18. The system of claim 13 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

process, using the first instance of the RNN model, a third portion of the audio data to determine a third likelihood that the audio data represents the wakeword; and

cease processing of the audio data using the first instance of the RNN model.

19. The system of claim 13 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

determine, using the first instance of the RNN model, that the audio data includes a representation of a second word; and

determine that the second word is associated with the wakeword,

wherein determining that the second likelihood satisfies the condition is based at least in part on determining that the second word is associated with the wakeword.

20. The system of claim 13 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

send, to a remote system, data corresponding to the audio data;

determine, using the first instance of the RNN model, that the audio data includes a representation of a second word;

determine that the second word is unassociated with the wakeword; and

based at least in part on determining that the second word is unassociated with the wakeword, cease sending of the data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2019
From: FU, GENGSHEN; SENECHAL, THIBAUD; VITALADEVUNI, SHIV NAGA PRASAD; RODEHORST, MICHAEL J.; NAGARAJA, VARUN K.
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 049423/0632 →
Cited By (8)
US 12,266,351 US 12,272,377 US 12,277,928 US 12,451,135 US 12,525,226 US 12,567,404 US 12,629,099 US 12,670,671