IP Library Granted Patent US 12,444,413
Granted Patent B2
US 12,444,413 · App. 17/823,887 · Granted Oct 14, 2025

Contextual spelling correction (CSC) for automatic speech recognition (ASR)

Inventors: Xiaoqiang Wang (Beijing, CN); Yanqing Liu (Beijing, CN); Sheng Zhao (Beijing, CN); Jinyu Li (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC.
G10L15/19G10L15/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,444,413
App. No.
17/823,887
Granted
Oct 14, 2025
Kind
B2
Abstract

Novel solutions for speech recognition provide contextual spelling correction (CSC) for automatic speech recognition (ASR). Disclosed examples include receiving an audio stream; performing an ASR process on the audio stream to produce an ASR hypothesis; receiving a context list; and, based on at least the ASR hypothesis and the context list, performing spelling correction to produce an output text sequence. A contextual spelling correction (CSC) model is used on top of an ASR model, precluding the need for changing the original ASR model. This permits run-time user customization based on contextual data, even for large-size context lists. Some examples include filtering ASR hypotheses for the audio stream and, based on at least the ASR hypotheses filtering, determining whether to trigger spelling correction for the ASR hypothesis. Some examples include generating text to speech (TTS) audio using preprocessed transcriptions with context phrases to train the CSC model.

Claims (76)

1. A method of speech recognition, the method

comprising: receiving an audio stream;

performing an automatic speech recognition (ASR) process on the audio stream to produce an ASR hypothesis as a text sequence;

receiving an initial context list;

performing context filtering, wherein the context filtering comprises narrowing down the

initial context list into a preselected context list based on a user's preference, wherein the context filtering comprises adjusting contribution of a relevance weight and a preference weight, the relevance weight comprising an edit distance between the initial context list and the ASR hypothesis, and the preference weight indicating a frequency of usage of a particular context list item; and

based on at least the ASR hypothesis and the context list, performing spelling correction to produce an output text sequence, wherein performing the spelling correction further comprises:

inputting the text sequence into a text encoder;

inputting the preselected context list into a context encoder; and

passing an output of the text encoder and an output of the context encoder into a decoder.

2. The method of claim 1 , further comprising:

performing an action with the output text sequence, wherein the action is selected from the list consisting of:

generating a transcript of the audio stream, initiating a phone call with a contact identified in the audio stream, generating a message to a contact identified in the audio stream, and responding to a query within the audio stream.

3. The method of claim 1 , wherein the context encoder and the text encoder share a set of parameters.

4. The method of claim 1 , further

comprising: filtering ASR hypotheses for the audio stream;

based on at least the ASR hypotheses filtering, determining whether to trigger spelling correction for the ASR hypothesis;

wherein performing spelling correction to produce the output text sequence comprises: based on at least determining to trigger spelling correction for the ASR

hypothesis, performing spelling correction to produce the output text sequence; and

based on at least determining to not trigger spelling correction for the ASR hypothesis, outputting the ASR hypothesis as the output text sequence.

5. The method of claim 1 , further comprising:

training a contextual spell checker, wherein the training comprises generating text to speech (TTS) audio using preprocessed transcriptions with context phrases.

6. The method of claim 1 , further comprising:

segmenting the audio stream into a plurality of audio segments, wherein the ASR hypothesis comprises a hypothesis of speech in an audio segment of the plurality of audio segments.

7. A system for speech recognition, the system

comprising: a processor; and

a computer-readable medium storing instructions that are operative upon execution by the processor to:

receive an audio stream;

perform an automatic speech recognition (ASR) process on the audio stream to produce an ASR hypothesis as a text sequence;

receive an initial context list;

perform context filtering, wherein the context filtering comprises narrowing down

the initial context list into a preselected context list based on a user's preference, wherein the context filtering comprises adjusting contribution of a relevance weight and a preference weight, the relevance weight comprising an edit distance between the initial context list and the ASR hypothesis, and the preference weight indicating a frequency of usage of a particular context list item; and

based on at least the ASR hypothesis and the context list, perform spelling correction to produce an output text sequence, wherein performing the spelling correction further comprises:

inputting the text sequence into a text encoder;

inputting the preselected context list into a context encoder; and

passing an output of the text encoder and an output of the context encoder into a decoder.

8. The system of claim 7 , wherein the instructions are further operative to: perform an action with the output text sequence, wherein the action is selected from the

list consisting of:

generating a transcript of the audio stream, initiating a phone call with a contact identified in the audio stream, generating a message to a contact identified in the audio stream, and responding to a query within the audio stream.

9. The system of claim 7 , wherein the context encoder and the text

encoder share a set of parameters.

10. The system of claim 7 , wherein the instructions are further operative to: filter ASR hypotheses for the audio stream;

based on at least the ASR hypotheses filtering, determine whether to trigger spelling correction for the ASR hypothesis;

wherein performing spelling correction to produce the output text sequence comprises: based on at least determining to trigger spelling correction for the ASR

hypothesis, performing spelling correction to produce the output text sequence; and

based on at least determining to not trigger spelling correction for the ASR hypothesis, output the ASR hypothesis as the output text sequence.

11. The system of claim 7 , wherein the instructions are further operative to:

train a contextual spell checker, wherein the training comprises generating text to speech (TTS) audio using preprocessed transcriptions with context phrases.

12. The system of claim 7 , wherein the instructions are further operative to: segment the audio stream into a plurality of audio segments,

wherein the ASR hypothesis

comprises a hypothesis of speech in an audio segment of the plurality of audio segments.

13. One or more computer storage devices having computer-executable instructions stored thereon, which, on execution by a computer, cause the computer to perform operations comprising:

receiving an audio stream;

performing an automatic speech recognition (ASR) process on the audio stream to produce an ASR hypothesis as a text sequence;

receiving an initial context list;

performing context filtering, wherein the context filtering comprises narrowing down the

initial context list into a preselected context list based on a user's preference, wherein the context filtering comprises adjusting contribution of a relevance weight and a preference weight, the relevance weight comprising an edit distance between the initial context list and the ASR hypothesis, and the preference weight indicating a frequency of usage of a particular context list item; and

based on at least the ASR hypothesis and the context list, performing spelling correction to produce an output text sequence, wherein performing the spelling correction further comprises:

inputting the text sequence into a text encoder;

inputting the preselected context list into a context encoder; and

passing an output of the text encoder and an output of the context encoder into a decoder.

14. The one or more computer storage devices of claim 13 , wherein the operations further comprise:

performing an operation with the output text sequence, wherein the operation is selected from the list consisting of:

generating a transcript of the audio stream, initiating a phone call with a contact identified in the audio stream, generating a message to a contact identified in the audio stream, and responding to a query within the audio stream.

15. The one or more computer storage devices of claim 13 , wherein

the context encoder and the text encoder share a set of parameters.

16. The one or more computer storage devices of claim 13 , wherein the operations further comprise:

filtering ASR hypotheses for the audio stream;

based on at least the ASR hypotheses filtering, determining whether to trigger spelling correction for the ASR hypothesis;

wherein performing spelling correction to produce the output text sequence comprises: based on at least determining to trigger spelling correction for the ASR

hypothesis, performing spelling correction to produce the output text sequence; and

based on at least determining to not trigger spelling correction for the ASR hypothesis, outputting the ASR hypothesis as the output text sequence.

17. The one or more computer storage devices of claim 13 , wherein the operations further comprise:

training a contextual spell checker, wherein the training comprises generating text to speech (TTS) audio using preprocessed transcriptions with context phrases.

18. The one or more computer storage devices of claim 13 , wherein the operations further comprise:

segmenting the audio stream into a plurality of audio segments, wherein the ASR hypothesis comprises a hypothesis of speech in an audio segment of the plurality of audio segments.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2022
From: WANG, XIAOQIANG; LIU, YANQING; ZHAO, SHENG; LI, JINYU
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 060959/0659 →
Continuity (2)
Continuation PCTCN2021099993 · Jun 15, 2021
Related Publication 20220415314A1 · Dec 29, 2022
References Cited (33)
US 5386494A · White · 1995 [cited by examiner]
US 6513005B1 · Qin et al. · 2003 [cited by applicant]
US 8332218B2 · Cross et al. · 2012 [cited by applicant]
US 9858925B2 · Gruber et al. · 2018 [cited by applicant]
US 10332518B2 · Garg et al. · 2019 [cited by applicant]
US 10388272B1 · Thomson · 2019 [cited by examiner]
US 20020072914A1 · Alshawi et al. · 2002 [cited by applicant]
US 20140025380A1 · Koch · 2014 [cited by examiner]
US 20170178625A1 · Mamou · 2017 [cited by examiner]
US 20200175961A1 · Thomson · 2020 [cited by examiner]
US 20200243074A1 · Taki et al. · 2020 [cited by applicant]
US 20200349922A1 · Peyser et al. · 2020 [cited by applicant]
US 20200402501A1 · Prabhavalkar · 2020 [cited by examiner]
US 20210142789A1 · Gurbani · 2021 [cited by examiner]
CN 112071318A · 2020 [cited by applicant]
WO 2020256838A1 · 2020 [cited by applicant]
Lertpiya, A., Chalothorn, T., & Chuangsuwanich, E. (2020). Thai spelling correction and word normalization on social text using a two-stage pipeline with neural contextual attention. IEEE Access, 8, 133403-133419. (Year… [cited by examiner]
Arup Sarma and David D. Palmer, “Context-based Speech Recognition Error Detection and Correction,” Proceedings of HLT-NAACL 2004: Short Papers, 2004, aclanthology.org (Year: 2004). [cited by examiner]
Bruguier, et al., “Phoebe: Pronunciation-aware Contextualization for End-to-End Speech Recognition”, In Proceedings of IEEE International Conference on Acoustics, Speech and Signal Processing, May 12, 2019, pp. 6171-617… [cited by applicant]
Fusayasu, et al., “Word-Error Correction of Continuous Speech Recognition Based on Normalized Relevance Distance”, In Proceedings of Twenty-Fourth International Joint Conference on Artificial Intelligence, Jun. 23, 2015… [cited by applicant]
Graves, Alex, “Sequence Transduction with Recurrent Neural Networks”, In Repository of arXiv:1211.3711v1, Nov. 14, 2012, 9 Pages. [cited by applicant]
Guo, et al., “A Spelling Correction Model for End-to-End Speech Recognition”, In Proceedings of IEEE International Conference on Acoustics, Speech and Signal Processing, May 12, 2019, pp. 5651-5655. [cited by applicant]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/CN21/099993”, Mailed Date: Nov. 25, 2021, 10 Pages. [cited by applicant]
Pundak, et al., “Deep Context: End-to-End Contextual Speech Recognition”, In Repository of arXiv:1808.02480v1, Aug. 7, 2018, 8 Pages. [cited by applicant]
Ren, et al., “Almost Unsupervised Text to Speech and Automatic Speech Recognition”, In Proceedings of the 36th International Conference on Machine Learning, May 24, 2019, 10 Pages. [cited by applicant]
Ren, et al., “FastSpeech: Fast, Robust and Controllable Text to Speech”, In Proceedings of the 33rd Conference on Neural Information Processing Systems, Dec. 8, 2019, 10 Pages. [cited by applicant]
Sarma, et al., “Context-based Speech Recognition Error Detection and Correction”, In Proceedings of HLT-NAACL: Short Papers, May 2, 2004, 4 Pages. [cited by applicant]
Tjandra, et al., “Machine Speech Chain with One-Shot Speaker Adaptation”, In Repository of arXiv:1803.10525v1, Mar. 28, 2018, 12 Pages. [cited by applicant]
Valin, et al., “LPCNet: Improving Neural Speech Synthesis Through Linear Prediction”, In Repository of arXiv: 1810.11846v2, Feb. 19, 2019, 5 Pages. [cited by applicant]
Williams, et al., “Contextual Speech Recognition in End-to-End Neural Network Systems Using Beam Search”, In Journal of 19th Annual Conference of the International Speech Communication Association, Sep. 2, 2018, pp. 222… [cited by applicant]
Zhao, et al., “Shallow-Fusion End-to-End Contextual Biasing”, In Journal of 20th Annual Conference of the International Speech Communication Association, Sep. 15, 2019, pp. 1418-1422. [cited by applicant]
Communication pursuant to Article 94(3) EPC, Received for European Application No. 21742300.3, mailed on May 13, 2025, 4 pages. [cited by applicant]
Notice of First Office Action Received for Chinese Application No. 202180052809.7, mailed on Aug. 20, 2025, 15 pages (English Translation Provided). [cited by applicant]