IP Library Granted Patent US 12,640,137
Granted Patent B2
US 12,640,137 · App. 18/298,473 · Granted May 26, 2026

System and method for training speech processing neural networks for dynamic loads

Inventors: Felix Weninger (Wellesley, MA); Marco Gaudesi (Turin, IT); Puming Zhan (Acton, MA)
Assignee: Microsoft Technology Licensing, LLC
G10L15/063G10L15/04G10L15/16G10L15/22G10L25/45G10L15/07G10L15/075
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,640,137
App. No.
18/298,473
Granted
May 26, 2026
Kind
B2
Abstract

A method, computer program product, and computing system for dividing a speech signal into a plurality of chunks. A first context window is defined with a first period of past context for processing the plurality of chunks with a neural network of a speech processing system. The neural network is trained using the first context window. A second context window is defined with a first period of past context for processing the plurality of chunks with the neural network. The neural network is trained using the second context window.

Claims (55)

1 . A computer-implemented method, executed on a computing device, for training a neural network with various configurations of constraints to account for different use cases, including use cases involving differences in latency and accuracy, where said differences occur due to different sizes of context windows that are being analyzed by the neural network, said method comprising:

dividing a speech signal into a plurality of chunks;

selecting a first chunk from among the plurality of chunks, the first chunk being selected for processing by a neural network of a speech processing system;

defining a first context window for processing by the neural network, wherein the first context window includes the first chunk and a first number of chunks that precede the first chunk in the plurality of chunks, such that the first context window has a first size, and wherein the first context window is an amount of information that is to be concurrently processed by the neural network;

training the neural network using the first context window, resulting in the neural network being trained to account for context windows having the first size;

defining a second context window for processing by the neural network, wherein the second context window also includes the first chunk and a second number of chunks that precede the first chunk in the plurality of chunks, such that the second context window has a second size that is different than the first size;

training the neural network using the second context window-, resulting in the neural network also being trained to account for context windows having the second size,

wherein, as a result of the neural network being trained based on context windows having multiple disparate sizes, the neural network is adaptable to various configurations of constraints to account for different use cases involving differences in latency and accuracy, where said differences in latency and accuracy occur due to different sizes of context windows that are being analyzed by the trained neural network; and

after the neural network is trained, causing the neural network to dynamically adjust to changes in processing loads to account for scenarios involving the different use cases.

2 . The computer-implemented method of claim 1 , wherein the plurality of chunks is from a single utterance.

3 . The computer-implemented method of claim 1 , wherein defining the first context window includes defining the first context window for processing a plurality of chunks of a first utterance.

4 . The computer-implemented method of claim 1 , wherein defining the first context window includes defining the first size in terms of frames of the speech signal for the first context window.

5 . The computer-implemented method of claim 1 , wherein defining the second context window includes randomly defining the chunks included in the second context window.

6 . The computer-implemented method of claim 1 , wherein defining the second context window includes defining the second context window for processing a plurality of chunks of a second utterance.

7 . The computer-implemented method of claim 1 , wherein the first context window and the second context window define a plurality of predefined combinations of chunk sizes, periods of future context, and periods of past context.

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

processing speech signals at run-time using the trained neural network.

9 . A computing system that trains a neural network with various configurations of constraints to account for different use cases, including use cases involving differences in latency and accuracy, where said differences occur due to different sizes of context windows that are being analyzed by the neural network, said computing system comprising:

one or more processors; and

one or more hardware storage devices that store instructions that are executable by the one or more processors to cause the computing system to:

divide a plurality of utterances into a plurality of chunks;

select a first chunk from among the plurality of chunks, the first chunk being selected for processing by a neural network of a speech processing system;

define a first context window for processing by the neural network, wherein the first context window includes the first chunk and a first number of chunks that precede the first chunk in the plurality of chunks, such that the first context window has a first size, and wherein the first context window is an amount of information that is to be concurrently processed by the neural network;

train the neural network using the first context window, resulting in the neural network being trained to account for context windows having the first size;

define a second context window for processing by the neural network, wherein the second context window also includes the first chunk and a second number of chunks that precede the first chunk in the plurality of chunks, such that the second context window has a second size that is different than the first size;

train the neural network using the second context window-, resulting in the neural network also being trained to account for context windows having the second size,

wherein, as a result of the neural network being trained based on context windows having multiple disparate sizes, the neural network is adaptable to various configurations of constraints to account for different use cases involving differences in latency and accuracy, where said differences in latency and accuracy occur due to different sizes of context windows that are being analyzed by the trained neural network; and

after the neural network is trained, cause the neural network to dynamically adjust to changes in processing loads to account for scenarios involving the different use cases.

10 . The computing system of claim 9 , wherein defining the first context window includes defining the first size in terms of frames of the speech signal for the first context window.

11 . The computing system of claim 9 , wherein defining the first context window includes defining a first period of future context of the speech signal for the first context window.

12 . The computing system of claim 11 , wherein defining the second context window includes adjusting one or more of:

the first size; and

the first period of future context.

13 . The computing system of claim 9 , wherein the first context window and the second context window define a plurality of predefined combinations of chunk sizes, periods of future context, and periods of past context.

14 . The computing system of claim 9 , wherein defining the second context window includes randomly defining the chunks included in the second context window.

15 . The computing system of claim 9 , wherein the instructions are further executable to cause the computing system to:

process speech signals at run-time using the trained neural network.

16 . One or more hardware storage devices that store instructions that are executable by one or more processors to cause the one or more processors to:

divide a speech signal into a plurality of chunks;

select a first chunk from among the plurality of chunks, the first chunk being selected for processing by a neural network of a speech processing system;

define a first context window for processing by the neural network, wherein the first context window includes the first chunk and a first number of chunks that precede the first chunk in the plurality of chunks, such that the first context window has a first size, and wherein the first context window is an amount of information that is to be concurrently processed by the neural network;

train the neural network using the first context window, resulting in the neural network being trained to account for context windows having the first size;

define a second context window for processing by the neural network, wherein the second context window also includes the first chunk and a second number of chunks that precede the first chunk in the plurality of chunks, such that the second context window has a second size that is different than the first size;

train the neural network using the second context window, resulting in the neural network also being trained to account for context windows having the second size;

process speech signals at run-time using the trained neural network,

wherein, as a result of the neural network being trained based on context windows having multiple disparate sizes, the neural network is adaptable to various configurations of constraints to account for different use cases involving differences in latency and accuracy, where said differences in latency and accuracy occur due to different sizes of context windows that are being analyzed by the trained neural network, and

after the neural network is trained, cause the neural network to dynamically adjust to changes in processing loads to account for scenarios involving the different use cases.

17 . The one or more hardware storage devices of claim 16 , wherein defining the first context window includes defining the first size in terms of frames of the speech signal for the first context window.

18 . The one or more hardware storage devices of claim 16 , wherein defining the first context window includes defining a first period of future context of the speech signal for the first context window.

19 . The method of claim 1 , wherein:

a second chunk is retained in a buffer,

the second chunk is subsequent to the first chunk in the plurality of chunks, and

the second chunk is retained in the buffer prior to the first chunk being used to train the neural network.

20 . The method of claim 19 , wherein:

the first context window further includes the second chunk, such that the first context window includes (i) one or more chunks the precede the first chunk, (ii) the first chunk, and (iii) one or more chunks that are subsequent to the first chunk.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2023
From: NUANCE COMMUNICATIONS, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 065530/0871 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2023
From: WENINGER, FELIX; GAUDESI, MARCO; ZHAN, PUMING
To: NUANCE COMMUNICATIONS, INC.
Reel/Frame 063285/0153 →
Continuity (1)
Related Publication 20240347042A1 · Oct 17, 2024
References Cited (21)
US 20160099010A1 · Vinyals et al. · 2016 [cited by applicant]
US 20160255131A1 · Bulava et al. · 2016 [cited by applicant]
US 20180047389A1 · Song · 2018 [cited by examiner]
US 20180225660A1 · Chapman · 2018 [cited by applicant]
US 20190325859A1 · Zhan · 2019 [cited by examiner]
US 20200135227A1 · Sainath · 2020 [cited by applicant]
US 20200327282A1 · Ramarao et al. · 2020 [cited by applicant]
US 20240347047A1 · Weninger · 2024 [cited by applicant]
Han, et al., “ContextNet: Improving Convolutional Neural Networks for Automatic Speech Recognition with Global Context”, arXiv:2005.03191, May 16, 2020, 5 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/022699, Jul. 15, 2024, 15 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/022700 May 29, 2024, 12 pages. [cited by applicant]
Macoskey, et al., “Amortized Neural Networks for Low-Latency Speech Recognition,” arXiv preprint, Aug. 3, 2021, 5 Pages. [cited by applicant]
Sukhbaatar, et al., “Adaptive Attention Span in Transformers”, arXiv:1905.07799, May 19, 2019, 5 pages. [cited by applicant]
Yu, et al., “Dual-mode ASR: Unify and Improve Streaming ASR with Full-context Modeling,” International Conference on Learning Representations, Jan. 27, 2021, 13 Pages. [cited by applicant]
Chen, et al., “Developing Real-Time Streaming Transformer Transducer for Speech Recognition on Large-Scale Dataset”, In Proceedings of International Conference on Acoustics, Speech and Signal Processing, Jun. 6, 2021, p… [cited by applicant]
Kim, et al., “Multi-mode Transformer Transducer with Stochastic Future Context”, In Proceedings of Interspeech, Aug. 30, 2021, pp. 1827-1831. [cited by applicant]
U.S. Appl. No. 18/298,488, filed Apr. 11, 2023. [cited by applicant]
Non-Final office action mailed on Jun. 3, 2025, in U.S. Appl. No. 18/298,488, 08 pages. [cited by applicant]
International Preliminary Report On Patentability received for PCT Application No. PCT/US2024/022699, Oct. 23, 2025, 12 pages. [cited by applicant]
International Preliminary Report On Patentability received for PCT Application No. PCT/US2024/022700 Oct. 23, 2025, 06 pages. [cited by applicant]
Notice of Allowance mailed on Oct. 7, 2025, in U.S. Appl. No. 18/298,488 14 pages. [cited by applicant]