IP Library Granted Patent US 11,636,263
Granted Patent B2
US 11,636,263 · App. 16/890,227 · Granted Apr 25, 2023

Using editor service to control orchestration of grammar checker and machine learned mechanism

Inventors: Zhang Li (Bellevue, WA); Michael Wilson Daniels (Redmond, WA); Enrico Cadoni (Dublin, IE); Domenic Joseph Cipollone (Montgomery, OH); Bhavuk Jain (Redmond, WA); Olivier Gauthier (Duvall, WA); Kaushik R. Narayanan (Redmond, WA); Siqing Chen (Bellevue, WA); Alice Yingming Lai (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F40/253G06N5/04G06N20/00
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 11,636,263
App. No.
16/890,227
Granted
Apr 25, 2023
Kind
B2
Abstract

An editor service receives a textual input. The editor service provides the textual input to a rule-based grammar checker to obtain a grammar checker result. The editor service also provides the textual input to a machine learning (ML) fluency model that checks the textual input for errors and provides a ML model result. The editor service aggregates the grammar checker result and the ML model result and generates an editor service output based upon the aggregated results. A representation of the editor service result is provided to the client computing system for surfacing through a user interface.

Claims (52)

1. A computer implemented method, comprising:

receiving, at an editor service computing system, a textual input from a content creation system;

providing the textual input from the editor service computing system to a rule-based grammar checker that applies, to the textual input, a set of rules that represent a set of potential errors,

wherein each rule of the set of rules includes a rule trigger that is linked to a suggested modification that addresses a potential error represented by the rule and is identified based on the rule trigger;

receiving a grammar checker (GC) result from the rule-based grammar checker, wherein the GC result is based the set of rules and is indicative of a first potential error in the textual input and a first suggested modification to the textual input to address the first potential error;

providing the textual input from the editor service computing system to a machine learning (ML) model that receives the textual input as a model input and identifies a second potential error in the textual input and a second suggested modification to the textual input to address the second potential error;

receiving a ML model result, indicative of the second potential error and the second suggested modification, from the ML model;

generating an output representation, at the editor service computing system, based on at least one of the GC result and the ML model result; and

providing the output representation to the content creation system for user interaction.

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

applying, at the ML model and based on the model input, a machine learned core inference component that identifies the second potential error and the second suggested modification using a machine learned structure for making decisions.

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

receiving user interaction data indicative of detected user interaction with the output representation; and

performing machine learning on the machine learned structure, based on the user interaction data, to obtain a re-learned structure.

4. The computer implemented method of claim 3 and further comprising:

detecting that a model replacement criterion is met; and

replacing the ML model with a replacement ML model that has the re-learned structure.

5. The computer implemented method of claim 3 wherein preforming machine learning on the machine learned structure comprises:

aggregating user interaction data;

detecting that a training threshold is met based on the aggregated user interaction data; and performing the machine learning on the machine learned structure based on the aggregated user interaction data.

6. The computer implemented method of claim 1 wherein generating the output representation comprises:

identifying, at the editor service computing system, an error type corresponding to the first potential error and an error type corresponding to the second potential error based on the GC result and the ML model result; and

generating the output representation based on the error type corresponding to the first potential error and the error type corresponding to the second potential error.

7. The computer implemented method of claim 1 wherein generating the output representation comprises:

aggregating, at the editor service computing system, the first and second suggested modifications; and

identifying whether the first suggested modification overlaps with the second suggested modification in the textual input.

8. The computer implemented method of claim 7 wherein generating the output representation further comprises:

if the first suggested modification overlaps with the second suggested modification in the textual input, then resolving, at the editor service computing system, which of the first and second suggested modifications to represent in the output representation.

9. The computer implemented method of claim 8 wherein resolving which of the first and second suggested modifications to represent in the output representation comprises:

resolving which of the first and second suggested modifications to represent in the output representation according to a predefined precedence hierarchy that ranks the rule-based grammar checker relative to the ML model.

10. The computer implemented method of claim 1 and further comprising:

prior to providing the textual input from the editor service computing system to the ML model, applying a pre-filter to the textual input to identify a portion of the textual input to provide to the ML model and wherein providing the textual input to the ML model comprises providing only the identified portion of the textual input to the ML model.

11. The computer implemented method of claim 1 and further comprising:

applying a machine learned reassurance model, to the textual input and the output representation, to obtain a confidence value indicative of a likely utility of the suggested modification represented by the output representation, given the textual input.

12. An editor service computing system, comprising:

a processor;

an orchestration engine, implemented by the processor, configured to:

receive a textual input from a content creation system;

provide the textual input to a rule-based grammar checker that applies, to the textual input, a set of rules that represent a set of potential errors wherein each rule of the set of rules includes a rule trigger that is linked to a suggested modification that addresses a potential error represented by the rule and is identified based on the rule trigger;

receive a grammar checker (GC) result from the rule-based grammar checker, wherein the GC result is based on the set of rules and is indicative of a first potential error in the textual input and a first suggested modification to address the first potential error;

provide the textual input to a machine learning (ML) model;

receive a ML model result, indicative of a second potential error in the textual input and a second suggested modification to address the second potential error; and

an output representation generator configured to;

generate an output representation based on at least one of the GC result and the ML model result; and

provide the output representation to the content creation system for user interaction.

13. The editor service computing system of claim 12 and further comprising:

an error type identifier component configured to identify an error type corresponding to the first potential error and an error type corresponding to the second potential error based on the GC result and the ML model result, wherein the output representation generator is configured to generate the output representation based on the error type corresponding to the first potential error and the error type corresponding to the second potential error.

14. The editor service computing system of claim 12 and further comprising:

a suggestion aggregation component configured to aggregate the first and second suggested modifications and indicate a portion of the textual input affected by the first suggested modification and a portion of the textual input affected by the second suggested modification.

15. The editor service computing system of claim 14 and further comprising:

an overlapping suggestion resolver component configured to identify whether the portion of the textual input affected by the first suggested modification overlaps with the portion of the textual input affected by the second suggested modification and, if so, to resolve which of the first and second suggested modifications to provide to the output representation generator for the output representation.

16. The editor service computing system of claim 12 wherein the orchestration engine is further configured to, prior to providing the textual input to the ML model, apply a pre-filter to the textual input to identify a portion of the textual input to provide to the ML model and provide only the identified portion of the textual input to the ML model.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE SECOND AND THE NINTH ASSIGNOR'S NAMES PREVIOUSLY RECORDED AT REEL: 062567 FRAME: 0223. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 6, 2023
From: LI, ZHANG; DANIELS, MICHAEL WILSON; CADONI, ENRICO; CIPOLLONE, DOMENIC JOSEPH; JAIN, BHAVUK; GAUTHIER, OLIVIER; NARAYANAN, KAUSHIK; CHEN, SIQING; LAI, ALICE YINGMING
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 062676/0511 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE 9TH ASSIGNOR'S EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 061403 FRAME: 0498. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 19, 2022
From: LI, ZHANG; WILSON DANIELS, MICHAEL; CADONI, ENRICO; CIPOLLONE, DOMENIC JOSEPH; JAIN, BHAVUK; GAUTHIER, OLIVIER; NARAYANAN, KAUSHIK; CHEN, SIQING; YINGMING LAI, ALICE
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 062567/0223 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE 7TH ASSIGNOR'S MISSPELLED NAME PREVIOUSLY RECORDED AT REEL: 053368 FRAME: 0610. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 9, 2022
From: LI, ZHANG; DANIELS, MICHAEL WILSON; CADONI, ENRICO; CIPOLLONE, DOMENIC JOSEPH; JAIN, BHAVUK; NARAYANAN, KAUSHIK; CHEN, SIQING; LAI, ALICE YINGMING; GAUTHIER, OLIVIER
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 061403/0498 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2020
From: LI, ZHANG; DANIELS, MICHAEL WILSON; CADONI, ENRICO; CIPOLLONE, DOMENIC JOSEPH; JAIN, BHAVUK; GAUTHIER, OLIVIER; NARAYANAN, KAUSHIK; CHEN, SIGING; LAI, ALICE YINGMING
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 053368/0610 →
Continuity (1)
Related Publication 20210374340A1 · Dec 2, 2021