IP Library Granted Patent US 12,087,306
Granted Patent B1
US 12,087,306 · App. 17/535,005 · Granted Sep 10, 2024

Contextualized streaming end-to-end speech recognition with trie-based deep biasing and shallow fusion

Inventors: Duc Hoang Le (Sunnyvale, CA); FNU Mahaveer (Foster City, CA); Gil Keren (San Francisco, CA); Christian Fuegen (Kingston Upon Thames, GB); Yatharth Saraf (Redwood City, CA)
Assignee: Meta Platforms, Inc.
G10L15/28G10L15/16
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 12,087,306
App. No.
17/535,005
Granted
Sep 10, 2024
Kind
B1
Abstract

In one embodiment, a method includes receiving a user's utterance comprising a word in a custom vocabulary list of the user, generating a previous token to represent a previous audio portion of the utterance, and generating a current token to represent a current audio portion of the utterance by generating a bias embedding by using the previous token to query a trie of wordpieces representing the custom vocabulary list, generating first probabilities of respective first candidate tokens likely uttered in the current audio portion based on the bias embedding and the current audio portion, generating second probabilities of respective second candidate tokens likely uttered after the previous token based on the previous token and the bias embedding, and generating the current token to represent the current audio portion of the utterance based on the first probabilities of the first candidate tokens and the second probabilities of the second candidate tokens.

Claims (56)

1. A method comprising, by a computing system:

receiving an utterance spoken by a user, the utterance comprising a word in a custom vocabulary list of the user;

generating a previous token to represent a previous audio portion of the utterance; and

generating a current token to represent a current audio portion of the utterance by:

generating a bias embedding by using the previous token to query a trie of wordpieces representing the custom vocabulary list, wherein the trie is based on biasing words;

generating, based on the bias embedding and the current audio portion, first probabilities of respective first candidate tokens likely uttered in the current audio portion;

generating, based on the previous token and the bias embedding, second probabilities of respective second candidate tokens likely uttered after the previous token; and

generating, based on the first probabilities of the respective first candidate tokens and the second probabilities of the respective second candidate tokens, the current token to represent the current audio portion of the utterance.

2. The method of claim 1 , wherein the trie comprises a plurality of nodes and a plurality of directional edges connecting the nodes, wherein the plurality of nodes comprise a starting node and nodes corresponding to wordpieces associated with the custom vocabulary list, and wherein the plurality of directional edges connecting two nodes corresponding to the wordpieces corresponds to a continuation relationship associated with the wordpieces.

3. The method of claim 1 , further comprising:

generating the trie based on the custom vocabulary list by encoding the words of the custom vocabulary list with one or more wordpieces and a continuation relationship between the wordpieces.

4. The method of claim 1 , wherein the bias embedding is associated with a dimension, and wherein the dimension is determined based on a size of the custom vocabulary list.

5. The method of claim 1 , wherein the first probabilities of the respective first candidate tokens likely uttered in the current audio portion are generated by a transducer model, and wherein the transducer model comprises an encoder, a predictor, and a joiner.

6. The method of claim 5 , wherein the transducer model is based on one or more neural networks.

7. The method of claim 5 , wherein generating the first probabilities of the respective first candidate tokens likely uttered in the current audio portion comprises:

generating, by the encoder based on the current audio portion, an encoder embedding;

generating, by the predictor based on the previous token, a predictor embedding;

integrating the bias embedding, the encoder embedding, and the predictor embedding by the joiner.

8. The method of claim 7 , wherein the integrating the bias embedding, the encoder embedding, and the predictor embedding comprises projecting the bias embedding, the encoder embedding, and the predictor embedding to a same dimension.

9. The method of claim 1 , wherein the second probabilities of the respective second candidate tokens likely uttered after the previous token are generated by a language model, wherein the language model is based on one or more neural networks comprising one or more long-short term memory (LSTM) units.

10. The method of claim 9 , wherein the language model comprises a plurality of hidden layers, the plurality of hidden layers having a respective input and a respective output, and wherein generating the second probabilities of the respective first candidate tokens likely uttered in the current audio portion comprises:

feeding the previous token to an input of a first hidden layer of the plurality of hidden layers, wherein an output of the first hidden layer comprises an embedding associated with the previous token;

generating a first concatenation by concatenating the output of the first hidden layer with the bias embedding;

feeding the first concatenation to an input of a second hidden layer of the plurality of hidden layers;

generating a second concatenation by concatenating an output of the second hidden layer with the bias embedding;

feeding the second concatenation to an input of a third hidden layer of the plurality of hidden layers; and

concatenating an output of the third hidden layer with the bias embedding.

11. The method of claim 1 , wherein generating the current token to represent the current audio portion of the utterance is by a decoder.

12. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

receive an utterance spoken by a user, the utterance comprising a word in a custom vocabulary list of the user;

generate a previous token to represent a previous audio portion of the utterance; and

generate a current token to represent a current audio portion of the utterance by:

generating a bias embedding by using the previous token to query a trie of wordpieces representing the custom vocabulary list, wherein the trie is based on biasing words;

generating, based on the bias embedding and the current audio portion, first probabilities of respective first candidate tokens likely uttered in the current audio portion;

generating, based on the previous token and the bias embedding, second probabilities of respective second candidate tokens likely uttered after the previous token; and

generating, based on the first probabilities of the respective first candidate tokens and the second probabilities of the respective second candidate tokens, the current token to represent the current audio portion of the utterance.

13. The media of claim 12 , wherein the trie comprises a plurality of nodes and a plurality of directional edges connecting the nodes, wherein the plurality of nodes comprise a starting node and nodes corresponding to wordpieces associated with the custom vocabulary list, and wherein the plurality of directional edges connecting two nodes corresponding to the wordpieces corresponds to a continuation relationship associated with the wordpieces.

14. The media of claim 12 , wherein the software is further operable when executed to:

generate the trie based on the custom vocabulary list by encoding the words of the custom vocabulary list with one or more wordpieces and a continuation relationship between the wordpieces.

15. The media of claim 12 , wherein the first probabilities of the respective first candidate tokens likely uttered in the current audio portion are generated by a transducer model, and wherein the transducer model comprises an encoder, a predictor, and a joiner.

16. The media of claim 15 , wherein generating the first probabilities of the respective first candidate tokens likely uttered in the current audio portion comprises:

generating, by the encoder based on the current audio portion, an encoder embedding;

generating, by the predictor based on the previous token, a predictor embedding; and

integrating the bias embedding, the encoder embedding, and the predictor embedding by the joiner.

17. A system comprising: one or more processors; and a non-transitory memory coupled to the processors comprising instructions executable by the one or more processors, the one or more processors operable when executing the instructions to:

receive an utterance spoken by a user, the utterance comprising a word in a custom vocabulary list of the user;

generate a previous token to represent a previous audio portion of the utterance; and

generate a current token to represent a current audio portion of the utterance by:

generating a bias embedding by using the previous token to query a trie of wordpieces representing the custom vocabulary list, wherein the trie is based on biasing words;

generating, based on the bias embedding and the current audio portion, first probabilities of respective first candidate tokens likely uttered in the current audio portion;

generating, based on the previous token and the bias embedding, second probabilities of respective second candidate tokens likely uttered after the previous token; and

generating, based on the first probabilities of the respective first candidate tokens and the second probabilities of the respective second candidate tokens, the current token to represent the current audio portion of the utterance.

18. The system of claim 17 , wherein the trie comprises a plurality of nodes and a plurality of directional edges connecting the nodes, wherein the plurality of nodes comprise a starting node and nodes corresponding to wordpieces associated with the custom vocabulary list, and wherein the plurality of directional edges connecting two nodes corresponding to the wordpieces corresponds to a continuation relationship associated with the wordpieces.

19. The system of claim 17 , wherein the one or more processors are further operable when executing the instructions to:

generate the trie based on the custom vocabulary list by encoding the words of the custom vocabulary list with one or more wordpieces and a continuation relationship between the wordpieces.

20. The system of claim 17 , wherein the first probabilities of the respective first candidate tokens likely uttered in the current audio portion are generated by a transducer model, and wherein the transducer model comprises an encoder, a predictor, and a joiner.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2021
From: LE, DUC HOANG; MAHAVEER, FNU; KEREN, GIL; FUEGEN, CHRISTIAN; SARAF, YATHARTH
To: FACEBOOK, INC.
Reel/Frame 058402/0813 →