IP Library Granted Patent US 12,658,191
Granted Patent B1
US 12,658,191 · App. 18/191,348 · Granted Jun 16, 2026

Automatic speech recognition

Inventors: Jing Liu (Pittsburgh, PA); Qi Luo (Seattle, WA); Xinyu Ren (Etobicoke, CA); Ariya Rastrow (Seattle, WA); Ankur Gandhe (Bothell, WA); Denis Filimonov (Seattle, WA); Grant Strimel (Presto, PA); Andreas Stolcke (Berkeley, CA); Ivan Bulyko (Mercer Island, WA); Rahul Pandey (Fairfax, VA)
Assignee: Amazon Technologies, Inc.
G10L17/22G10L17/02G10L17/18
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,658,191
App. No.
18/191,348
Granted
Jun 16, 2026
Kind
B1
Abstract

A system that incorporates contextual entity information when performing automatic speech processing (ASR) using a neural network architecture. The system identifies entities that may be related to the context of an utterance. Text information and pronunciation information related to those entities are encoded and used to determine biasing data that is applied to encoded audio data. The resulting adjusted encoded audio data is processed by the existing neural network architecture to determine ASR data representing a transcription of the utterance.

Claims (103)

1 . A computer-implemented method comprising:

receiving input audio data representing an utterance;

determining a user profile corresponding to a speaker of the utterance;

determining a first entity associated with the user profile, the first entity corresponding to a first name;

retrieving a first feature vector representing a plurality of graphemes associated with the first name;

retrieving a second feature vector representing a plurality of phonemes associated with pronunciation of the first name;

processing the input audio data using an audio encoder to determine first encoded audio data and second encoded audio data;

processing the first feature vector, the second feature vector, and the first encoded audio data to determine a bias vector;

processing the bias vector and the second encoded audio data to determine third encoded audio data; and

processing the third encoded audio data using a recurrent neural network to determine a transcription of the utterance.

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

processing the input audio data to determine:

first interim encoded audio data output by a first layer of the audio encoder, and

second interim encoded audio data output by a second layer of the audio encoder;

determining a first plurality of weight values;

determining a second plurality of weight values;

processing the first interim encoded audio data and the first plurality of weight values to determine first weighted interim encoded audio data;

processing the second interim encoded audio data and the second plurality of weight values to determine second weighted interim encoded audio data; and

determining the first encoded audio data using the first weighted interim encoded audio data and the second weighted interim encoded audio data.

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

using the first interim encoded audio data and the second interim encoded audio data to determine output encoded audio data as output from a final layer of the audio encoder, wherein the second encoded audio data comprises the output encoded audio data.

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

processing the first encoded audio data using a query component of a biasing component;

determining a third feature vector by concatenating the first feature vector and the second feature vector;

processing the third feature vector using a key component of the biasing component; and

processing the first feature vector using a value component of the biasing component,

wherein the bias vector is determined by the biasing component.

5 . A computer-implemented method comprising:

receiving input audio data representing an utterance;

determining first data corresponding to text representing a first entity;

determining second data corresponding to a pronunciation representing the first entity;

determining third data corresponding to text representing a second entity;

determining fourth data corresponding to a pronunciation representing the second entity;

processing the first data, the second data, the third data, and the fourth data to determine bias data corresponding to a context of the utterance;

processing the input audio data to determine first encoded audio data;

processing the first encoded audio data and the bias data to determine adjusted first encoded audio data; and

processing the adjusted first encoded audio data to determine output data representing a transcription of the utterance, wherein the output data represents the first entity.

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

determining a user profile associated with the input audio data;

determining the user profile is associated with the first entity and the second entity; and

based at least in part on the user profile being associated with the first entity and the second entity, selecting the first data, the second data, the third data, and the fourth data for processing to determine the bias data.

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

determining a display associated with an utterance is presenting information related to the first entity and the second entity; and

based at least in part on the display is presenting information related to the first entity and the second entity, selecting the first data, the second data, the third data, and the fourth data for processing to determine the bias data.

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

processing the input audio data to determine:

first interim encoded audio data output by a first layer of an audio encoder, and

second interim encoded audio data output by a second layer of the audio encoder;

determining a first plurality of weight values;

determining a second plurality of weight values;

processing the first interim encoded audio data and the first plurality of weight values to determine first weighted interim encoded audio data;

processing the second interim encoded audio data and the second plurality of weight values to determine second weighted interim encoded audio data; and

determining second encoded audio data using the first weighted interim encoded audio data and the second weighted interim encoded audio data,

wherein the second encoded audio data is also processed to determine the bias data.

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

using the first interim encoded audio data and the second interim encoded audio data to determine output encoded audio data as output from a final layer of the audio encoder, wherein the first encoded audio data comprises the output encoded audio data.

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

processing the second encoded audio data using a query component of a biasing component;

processing the first data and the second data using a key component of the biasing component; and

processing the first data using a value component of the biasing component,

wherein the bias data is determined by the biasing component.

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

processing the adjusted first encoded audio data using a recurrent neural network to determine output distribution data and output probability data; and

processing the output distribution data and output probability data using a selection component to determine the output data.

12 . A system comprising:

at least one processor; and

memory including instructions operable to be executed by the at least one processor to cause the system to:

receive input audio data representing an utterance;

determine first data corresponding to a text representing a first entity;

determine second data corresponding to a pronunciation representing the first entity;

determine third data corresponding to text representing a second entity;

determine fourth data corresponding to a pronunciation representing the second entity;

process the first data, the second data, the third data, and the fourth data to determine bias data corresponding to a context of the utterance;

process the input audio data to determine first encoded audio data;

process the first encoded audio data and the bias data to determine adjusted first encoded audio data; and

process the adjusted first encoded audio data to determine output data representing a transcription of the utterance, wherein the output data represents the first entity.

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

determine a user profile associated with the input audio data;

determine the user profile is associated with the first entity and the second entity; and

based at least in part on the user profile being associated with the first entity and the second entity, select the first data, the second data, the third data, and the fourth data for processing to determine the bias data.

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

determine a display associated with an utterance is presenting information related to the first entity and the second entity; and

based at least in part on the display is presenting information related to the first entity and the second entity, select the first data, the second data, the third data, and the fourth data for processing to determine the bias data.

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

process the input audio data to determine:

first interim encoded audio data output by a first layer of an audio encoder, and

second interim encoded audio data output by a second layer of the audio encoder;

determine a first plurality of weight values;

determine a second plurality of weight values;

process the first interim encoded audio data and the first plurality of weight values to determine first weighted interim encoded audio data;

process the second interim encoded audio data and the second plurality of weight values to determine second weighted interim encoded audio data; and

determine second encoded audio data using the first weighted interim encoded audio data and the second weighted interim encoded audio data,

wherein the second encoded audio data is also processed to determine the bias data.

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

use the first interim encoded audio data and the second interim encoded audio data to determine output encoded audio data as output from a final layer of the audio encoder, wherein the first encoded audio data comprises the output encoded audio data.

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

process the second encoded audio data using a query component of a biasing component;

process the first data and the second data using a key component of the biasing component; and

process the first data using a value component of the biasing component,

wherein the bias data is determined by the biasing component.

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

process the adjusted first encoded audio data using a recurrent neural network to determine output distribution data and output probability data; and

process the output distribution data and output probability data using a selection component to determine the output data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2023
From: LIU, JING; LUO, QI; REN, XINYU; RASTROW, ARIYA; GANDHE, ANKUR; FILIMONOV, DENIS; STRIMEL, GRANT; STOLCKE, ANDREAS; BULYKO, IVAN; PANDEY, RAHUL
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 063127/0299 →
Continuity (1)
Provisional Application 63484034 · Feb 9, 2023
References Cited (63)
US 11217231B2 · Prabhavalkar · 2022 [cited by examiner]
US 11295739B2 · Li · 2022 [cited by examiner]
US 11526808B2 · Etkin · 2022 [cited by examiner]
US 11664021B2 · Prabhavalkar · 2023 [cited by examiner]
US 11948570B2 · Li · 2024 [cited by examiner]
US 12300216B2 · Biadsy · 2025 [cited by examiner]
US 20200066271A1 · Li · 2020 [cited by examiner]
US 20200357387A1 · Prabhavalkar · 2020 [cited by examiner]
US 20200357388A1 · Zhao · 2020 [cited by examiner]
US 20200401938A1 · Etkin · 2020 [cited by examiner]
US 20200402501A1 · Prabhavalkar · 2020 [cited by examiner]
US 20220101836A1 · Prabhavalkar · 2022 [cited by examiner]
US 20220122579A1 · Biadsy · 2022 [cited by examiner]
US 20220199084A1 · Li · 2022 [cited by examiner]
US 20230230572A1 · Biadsy · 2023 [cited by examiner]
US 20230274736A1 · Prabhavalkar · 2023 [cited by examiner]
US 20240221750A1 · Li · 2024 [cited by examiner]
EP 3928316B1 · 2025 [cited by examiner]
EP 4531037A2 · 2025 [cited by examiner]
JP 2022521289A · 2022 [cited by examiner]
JP 2022530284A · 2022 [cited by examiner]
JP 2022531479A · 2022 [cited by examiner]
JP 7200405B2 · 2023 [cited by examiner]
JP 7234415B2 · 2023 [cited by examiner]
JP 7244665B2 · 2023 [cited by examiner]
JP 2023029416A · 2023 [cited by examiner]
JP 2023062147A · 2023 [cited by examiner]
JP 2023065681A · 2023 [cited by examiner]
JP 7522246B2 · 2024 [cited by examiner]
JP 7583080B2 · 2024 [cited by examiner]
JP 7635194B2 · 2025 [cited by examiner]
KR 20220004224A · 2022 [cited by examiner]
KR 102390940B1 · 2022 [cited by examiner]
KR 20220054704A · 2022 [cited by examiner]
KR 20230165395A · 2023 [cited by examiner]
WO WO2020171868A1 · 2020 [cited by examiner]
WO WO2020256838A1 · 2020 [cited by examiner]
WO WO2025183882A1 · 2025 [cited by examiner]
William Chan, et al. 2016. “Listen, Attend and Spell: A Neural Network for Large Vocabulary Conversational Speech Recognition,” 2016 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pp.… [cited by applicant]
Linhao Dong, et al. 2018. “Speech-Transformer: A No-Recurrence Sequence-to-Sequence Model for Speech Recognition.” 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pp. 5884-5888. I… [cited by applicant]
Alex Graves, et al. 2012. “SequenceTransduction with Recurrent Neural Networks.” International Conference on Machine Learning (ICML) 2012 Workshop on Representation Learning, 9 pages. Retrieved from https://arxiv.org/ab… [cited by applicant]
Ching Feng Yeh, et al. 2019. “Transformer-Transducer: End-to-End Speech Recognition with Self-Attention.” Retrieved from https://arxiv.org/abs/1910.12977v1, 5 pages. [cited by applicant]
Kanthashree Mysore Sathyendra, et al. 2022. “Contextual Adapters for Personalized Speech Recognition in Neural Transducers.” Retrieved from https://arxiv.org/abs/2205.13660, 5 pages. [cited by applicant]
Feng-Ju Chang, et al. 2021. “Context-Aware Transformer Transducer for Speech Recognition.” 2021 IEEE Automatic Speech Recognition and Understanding Workshop (ASRU). Retrieved from https://arxiv.org/abs/2111.03250v1, 8 p… [cited by applicant]
Antoine Bruguier, et al. 2019. “Phoebe: Pronunciation-Aware Contextualization for End-to-End Speech Recognition.” 2019 IEEE International Conference on Acoustics, Speech and Signal Processing, (ICASSP), pp. 6171-6175. R… [cited by applicant]
Golan Pundak, et al. 2018. “Deep Context: End-to-End Contextual Speech Recognition.” 2018 IEEE Spoken Language Technology Workshop (SLT), pp. 418-425. Retrieved from https://arxiv.org/abs/1808.02480v1. [cited by applicant]
Mahaveer Jain, et al. 2020. “Contextual RNN-T for Open Domain ASR.” Proc. Interspeech 2020, pp. 11-15. [cited by applicant]
Anuroop Sriram, et al. 2018. “Cold Fusion: Training Seq2Seq Models Together with Language Models.” Proc. Interspeech 2018, pp. 387-391. [cited by applicant]
Adithya Renduchintala, et al. 2018. “Multi-Modal Data Augmentation for End-to-End ASR.” Proc. Interspeech 2018, pp. 2394-2398. [cited by applicant]
Anjuli Kannan, et al. 2018. “An Analysis of Incorporating an External Language Model into a Sequence-to-Sequence Model.” 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pp. 5824-5… [cited by applicant]
Shigeki Karita, et al. 2019. “Semi-Supervised End-to-End Speech Recognition Using Text-to-Speech and Autocoders.” Proc. Interspeech 2018, pp. 6166-6170. Retrieved from https://arxiv.org/abs/2011.07754. [cited by applicant]
Antoine Bruguier, et al. 2016. “Learning Personalized Pronunciations for Contact Name Recognition.” Proc. Interspeech 2016, pp. 3096-3100. [cited by applicant]
Aditya Gourav, et al. 2021. “Personalization Strategies for End-to-End Speech Recognition Systems.” IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pp. 7348-7352. Retrieved from https:… [cited by applicant]
Duc Le, et al. 2021. “Contextualized Streaming End-to-End Speech Recognition with Trie-Based Deep Biasing and Shallow Fusion.” Proc. Interspeech 2021, pp. 1772-1776. [cited by applicant]
Duc Le, et al. 2021. Deep Shallow Fusion for RNN-T Personalization. In 2021 IEEE Spoken Language Technology Workshop (SLT), pp. 251-257. Retrieved from https://arxiv.org/abs/2011.07754v1. [cited by applicant]
Ding Zhao, et al. 2019. “Shallow-Fusion End-to-End Contextual Biasing.” Proc. Interspeech 2019, pp. 1418-1422. [cited by applicant]
Yanzhang He, et al. 2019. “Streaming End-to-end Speech Recognition for Mobile Devices.” EEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pp. 6381-6385. Retrieved from https://arxiv.org/a… [cited by applicant]
Liyan Xu, et al. 2022. “RescoreBERT: Discriminative Speech Recognition Rescoring With Bert.” In Proc. IEEE ICASSP 2022, pp. 6117-6121. Retrieved from https://www.amazon.science/publications/rescorebert-discriminative-sp… [cited by applicant]
Zhehuai Chen, et al. 2019. “Joint Grapheme and Phoneme Embeddings for Contextual End-to-End ASR.” Proc. Interspeech 2019, pp. 3490-3494. [cited by applicant]
Ashish Vaswani, et al. 2017. “Attention Is All You Need.” In Advances in Neural Information Processing Systems, 2017, vol. 30. Retrieved from https://papers.neurips.cc/paper/7181-attention-is-all-you-need.pdf. [cited by applicant]
Ankita Pasad, et al. 2021. “Layer-Wise Analysis of a Self-Supervised Speech Representation Model.” In 2021 IEEE Automatic Speech Recognition and Understanding Workshop (ASRU), pp. 914-921. Retrieved from https://arxiv.o… [cited by applicant]
Rico Sennrich, et al. 2016. “Neural Machine Translation of Rare Words with Subword Units.” Proc. the 54th Annual Meeting of the Association for Computational Linguistics (vol. 1: Long Papers), pp. 1715-1725. [cited by applicant]
Vasileios Papadourakis, et al. 2021. “Phonetically Induced Subwords for End-to-End Speech Recognition.” Proc. Interspeech 2021, pp. 1992-1996. [cited by applicant]