IP Library Granted Patent US 12,300,217
Granted Patent B2
US 12,300,217 · App. 17/342,505 · Granted May 13, 2025

Error correction in speech recognition

Inventors: Issac John Alphonso (San Jose, CA); Anastasios Anastasakos (San Jose, CA); Michael Levit (San Jose, CA); Nitin Agarwal (Fremont, CA)
Assignee: Microsoft Technology Licensing, LLC.
G10L15/01G06N3/08G10L15/063G10L15/183G10L15/22
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,300,217
App. No.
17/342,505
Granted
May 13, 2025
Kind
B2
Abstract

Systems and methods for speech recognition correction include receiving a voice recognition input from an individual user and using a trained error correction model to add a new alternative result to a results list based on the received voice input processed by a voice recognition system. The error correction model is trained using contextual information corresponding to the individual user. The contextual information comprises a plurality of historical user correction logs, a plurality of personal class definitions, and an application context. A re-ranker re-ranks the results list with the new alternative result and a top result from the re-ranked results list is output.

Claims (34)

1. A computerized method for speech recognition correction, the computerized method comprising:

receiving a voice recognition input from an individual user, wherein the voice recognition input comprises speech processed by a voice recognition system to generate a results list during a first-pass speech recognition process;

using an error correction model to add a new alternative result to the results list during a second-pass error correction process based on the voice recognition input processed by the voice recognition system, the error correction model trained using contextual information corresponding to the individual user, the contextual information comprising a plurality of historical user correction logs, a plurality of personal class definitions including a personal contacts list of the individual user and a business contacts list of the individual user, and an application context, wherein the business contacts list of the individual user is derived from a business application used by the individual user, and wherein using the error correction model to add the new alternative result includes adding a contact name from the personal contacts list of the individual user as the new alternative result;

using a re-ranker to re-rank the results list with the new alternative result, wherein the new alternative result is assigned a higher priority when the contact name is included in the business contacts list of the individual user; and

outputting a top result from the re-ranked results list.

2. The computerized method of claim 1 , wherein the voice recognition input processed by the voice recognition system generates a first-pass recognition lattice, and the results list is derived from the first-pass recognition lattice and ordered by acoustic and language model scores, and the computerized method further comprising introducing at least one new path in the first-pass recognition lattice to generate an updated recognition lattice.

3. The computerized method of claim 2 , wherein the results list comprises an N-best results list, and the computerized method further comprising generating an updated N-best results list based on the updated recognition lattice and a plurality of personalized error corrections.

4. The computerized method of claim 3 , wherein the re-ranker uses a re-ranking algorithm that processes the results list from a first-pass and at least one second-pass feature related to the plurality of historical user correction logs and the plurality of personal class definitions to re-order the N-best results list in a second-pass scoring process.

5. The computerized method of claim 1 , further comprising outputting a plurality of top results and displaying the plurality of top results to the individual user.

6. The computerized method of claim 5 , wherein the voice recognition input comprises a user query and the plurality of top results comprises a plurality of top candidate search queries, and the computerized method further comprising using the plurality of top candidate search queries in a subsequent processing stage to perform an online search.

7. The computerized method of claim 1 , wherein the plurality of personal class definitions comprises at least personal contact information comprising personal entities of the individual user, custom folders in an email program, slide deck names, media and metadata of the individual user, and a user generated schema related to folder collections or media collections.

8. The computerized method of claim 7 , further comprising interfacing with at least one of a business application or a personal application to change at least one of a weight or a priority of an entity within the personal contact information.

9. The computerized method of claim 1 , wherein the error correction model comprises a dynamic speech detection correction model corresponding to only the individual user.

10. The computerized method of claim 1 , wherein using the historical user correction logs to train the error correction model personalizes the error correction model to the individual user.

11. The computerized method of claim 1 , wherein the error correction model is trained based on a combination of contextual information corresponding to the plurality of historical user correction logs, the plurality of personal class definitions, and the application context.

12. A system for speech recognition correction, the system comprising:

at least one processor; and

at least one memory comprising computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the at least one processor to:

receive a voice recognition input from an individual user, wherein the voice recognition input comprises speech processed by a voice recognition system to generate a results list during a first-pass speech recognition process;

use an error correction model to add a new alternative result to the results list during a second-pass error correction process based on the voice recognition input processed by the voice recognition system, the error correction model trained using contextual information corresponding to the individual user, the contextual information comprising a plurality of historical user correction logs, a plurality of personal class definitions including a personal contacts list of the individual user and a business contacts list of the individual user, and an application context,, wherein the business contacts list of the individual user is derived from a business application used by the individual user, and wherein using the error correction model to add the new alternative result includes adding a contact name from the personal contacts list of the individual user as the new alternative result;

use a re-ranker to re-rank the results list with the new alternative result, wherein the new alternative result is assigned a higher priority when the contact name is included in the business contacts list of the individual user; and

output a top result from the re-ranked results list.

13. The system of claim 12 , wherein the voice recognition input processed by the voice recognition system generates a first-pass recognition lattice, and the results list is derived from the first-pass recognition lattice and ordered by acoustic and language model scores, and further comprising introducing at least one new path in the first-pass recognition lattice to generate an updated recognition lattice.

14. The system of claim 13 , wherein the results list comprises an N-best results list, and further comprising generating an updated N-best results list based on the updated recognition lattice and a plurality of personalized error corrections.

15. The system of claim 14 , wherein the re-ranker uses a re-ranking algorithm that processes the results list from a first-pass and at least one second-pass feature related to the plurality of historical user correction logs and the plurality of personal class definitions to re-order the N-best results list in a second-pass scoring process.

16. The system of claim 12 , wherein the at least one memory and the computer program code are configured to, with the at least one processor, cause the at least one processor to output a plurality of top results and displaying the plurality of top results to the individual user.

17. The system of claim 16 , wherein the voice recognition input comprises a user query and the plurality of top results comprises a plurality of top candidate search queries, and the at least one memory and the computer program code configured to, with the at least one processor, further cause the at least one processor to use the plurality of top candidate search queries in a subsequent processing stage to perform an online search.

18. The system of claim 12 , wherein the plurality of personal class definitions comprises at least personal contact information comprising personal entities of the individual user, custom folders in an email program, slide deck names, media and metadata of the individual user, and a user generated schema related to folder collections or media collections.

19. The system of claim 18 , further comprising interfacing with at least one of a business application or a personal application to change at least one of a weight or a priority of an entity within the personal contact information.

20. One or more computer storage media having computer-executable instructions for speech recognition correction that, upon execution by a processor, cause the processor to at least:

receiving a voice recognition input from an individual user, wherein the voice recognition input comprises speech processed by a voice recognition system to generate a results list during a first-pass speech recognition process;

using an error correction model to add a new alternative result to the results list during a second-pass error correction process based on the voice recognition input processed by the voice recognition system, the error correction model trained using a personal contacts list of the individual user and a business contacts list of the individual user, the business contacts list of the individual user derived from a business application used by the individual user, wherein using the error correction model to add the new alternative result includes adding a contact name from the personal contacts list of the individual user as the new alternative result;

using a re-ranker to re-rank the results list with the new alternative result, wherein the new alternative result is assigned a higher priority when the contact name is included in the business contacts list of the individual user; and

outputting a top result from the re-ranked results list.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 4, 2021
From: ALPHONSO, ISSAC JOHN; ANASTASAKOS, ANASTASIOS; LEVIT, MICHAEL; AGARWAL, NITIN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 056749/0472 →
Continuity (1)
Related Publication 20220392432A1 · Dec 8, 2022
References Cited (23)
US 8862467B1 · Casado et al. · 2014 [cited by applicant]
US 9589562B2 · Kibre et al. · 2017 [cited by applicant]
US 10089981B1 · Elangovan · 2018 [cited by examiner]
US 10672394B2 · Lebeau et al. · 2020 [cited by applicant]
US 20090055179A1 · Cho · 2009 [cited by examiner]
US 20150149163A1 · Vanblon et al. · 2015 [cited by applicant]
US 20150243278A1 · Kibre · 2015 [cited by examiner]
US 20150279354A1 · Gruenstein · 2015 [cited by examiner]
US 20180330714A1 · Paulik · 2018 [cited by examiner]
US 20190355011A1 · Pustejovsky · 2019 [cited by examiner]
US 20200226216A1 · Marin · 2020 [cited by examiner]
US 20200380963A1 · Chappidi et al. · 2020 [cited by applicant]
US 20230153061A1 · Elyada · 2023 [cited by examiner]
WO 2014093384A1 · 2014 [cited by applicant]
Shivakumar et al. (2019). Learning from past mistakes: Improving automatic speech recognition output via noisy-clean phrase context modeling. APSIPA Transactions on Signal and Information Processing, 8, E8. doi:10.1017/… [cited by examiner]
Jeong, et al., “Improving Speech Recognition and Understanding using Error-Corrective Reranking”, In Proceedings of ACM Transactions on Asian Language Information Processing, vol. 7, Issue 1, Feb. 8, 2008, 26 Pages. [cited by applicant]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US22/028251”, Mailed Date: Sep. 2, 2022, 10 Pages. [cited by applicant]
Shivakumar, et al., “Learning from Past Mistakes: Improving Automatic Speech Recognition Output via Noisy-Clean Phrase Context Modeling”, In Repository of arXiv:1802.02607v1, Feb. 7, 2018, pp. 1-22. [cited by applicant]
Aleksic, et al., “Bringing Contextual Information to Google Speech Recognition”, In Proceedings of 16th Annual Conference of the International Speech Communication Association, Sep. 6, 2015, 5 Pages. [cited by applicant]
Baba, et al., “How are Spelling Errors Generated and Corrected? A Study of Corrected and Uncorrected Spelling Errors Using Keystroke Logs”, In Proceedings of the 50th Annual Meeting of the Association for Computational … [cited by applicant]
Kumar, et al., “Leveraging Linguistic Context in Dyadic Interactions to Improve Automatic Speech Recognition for Children”, In Journal of Computer Speech & Language, vol. 63, Sep. 1, 2020, 18 Pages. [cited by applicant]
Lu, et al., “Speech Enhancement Guided by Contextual Articulatory Information”, In Repository of arXiv:2011.07442v1, Nov. 15, 2020, 5 Pages. [cited by applicant]
Raju, Anirudh, “Contextual Clues Can Help Improve Alexa's Speech Recognizers”, Retrieved from: https://www.amazon.science/blog/contextual-clues-can-help-improve-alexas-speech-recognizers, Jul. 23, 2018, 13 Pages. [cited by applicant]