IP Library › Granted Patent US 11,657,215
Granted Patent B2
US 11,657,215 · App. 17/448,289 · Granted May 23, 2023

Robust expandable dialogue system

Inventors: Percy Shuo Liang (Palo Alto, CA); David Leo Wright Hall (Berkeley, CA); Jesse Daniel Eskes Rusak (Somerville, MA); Daniel Klein (Orinda, CA)
Assignee: Microsoft Technology Licensing, LLC
G06F40/169G10L15/02G10L15/063G10L15/16G10L15/183G10L15/06G10L15/075G10L2015/0631G10L2015/0638
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,657,215
App. No.
17/448,289
Granted
May 23, 2023
Kind
B2
Abstract

An automated natural dialogue system provides a combination of structure and flexibility to allow for ease of annotation of dialogues as well as learning and expanding the capabilities of the dialogue system based on natural language interactions.

Claims (40)

1. A method performed by a computing system for training a machine learning model for natural language interaction, the method comprising:

establishing a plurality of instances of a natural language dialogue for a domain, each instance of the natural language dialogue including a subset of utterances for the domain selected by the machine learning model;

for each instance of the natural language dialogue for the domain, receiving one or more input responses;

for each instance of the natural language dialogue for the domain, selecting a pre-defined template from a library of pre-defined templates based on the one or more input responses, the selected pre-defined template including an assistive action and one or more generalized paths;

receiving for each selected pre-defined template, one or more sanitizing constraints that refine the one or more generalized paths, the one or more sanitizing constraints used in execution of the assistive action by a computing device to return one or more values that advance the natural language dialogue based on the one or more input responses;

receiving one or more selected candidate dialogues selected from a plurality of candidate dialogues for the domain, each candidate dialogue including utterances, responses, a selected pre-defined template, and one or more sanitizing constraints corresponding to the selected pre-defined template; and

retraining the machine learning model based on the one or more selected candidate dialogues to obtain a retrained machine learning model that is trained to recognize that a future natural language dialogue corresponds to one of the one or more selected candidate dialogues and select assistive actions described by annotations for that selected candidate dialogue.

2. The method of claim 1 , wherein different instances of the natural language dialogue include different subsets of utterances for the domain.

3. The method of claim 1 , wherein the natural language dialogue is configured to provide assistance with completing a task within the domain.

4. The method of claim 1 , wherein the plurality of instances of the natural language dialogue are established in parallel.

5. The method of claim 1 , wherein the one or more input responses include an utterance.

6. The method of claim 1 , wherein the assistive actions to be taken in response to the one or more input responses include one or more of a primitive action that returns a value, a call action that includes a function and a list of arguments, and a macro action that includes a sequence of actions performed to automate a task.

7. The method of claim 1 , wherein the machine learning model selects subsets of utterances corresponding to the plurality of instances of the natural language dialogue for the domain to expand capabilities of the machine learning model in the domain.

8. The method of claim 1 , wherein the one or more selected candidate dialogues are selected as being most accurate in light of the domain.

9. The method of claim 1 , wherein the retrained machine learning model is configured to select from a smaller set of utterances for an instance of a natural language dialogue for the domain than that of the machine learning model.

10. A computing system comprising:

one or more logic machines; and

one or more storage machines holding instructions executable by the one or more logic machines to:

establish a plurality of instances of a natural language dialogue for a domain, each instance of the natural language dialogue including a subset of utterances for the domain selected by the machine learning model;

for each instance of the natural language dialogue for the domain, receive one or more input responses;

for each instance of the natural language dialogue for the domain, select a pre-defined template from a library of pre-defined templates based on the one or more input responses, the selected pre-defined template including an assistive action and one or more generalized paths;

receive for each selected pre-defined template, one or more sanitizing constraints that refine the one or more generalized paths, the one or more sanitizing constraints used in execution of the assistive action by a computing device to return one or more values that advance the natural language dialogue based on the one or more input responses;

receive one or more selected candidate dialogues selected from a plurality of candidate dialogues for the domain, each candidate dialogue including utterances, responses, a selected pre-defined template, and one or more sanitizing constraints corresponding to the selected pre-defined template; and

retrain a machine learning model based on the one or more selected candidate dialogues to obtain a retrained machine learning model that is trained to recognize that a future natural language dialogue corresponds to one of the one or more selected candidate dialogues and select assistive actions described by annotations for that selected candidate dialogue.

11. The computing system of claim 10 , wherein different instances of the natural language dialogue include different subsets of utterances for the domain.

12. The computing system of claim 10 , wherein the natural language dialogue is configured to provide assistance with completing a task within the domain.

13. The computing system of claim 10 , wherein the plurality of instances of the natural language dialogue are established in parallel.

14. The computing system of claim 10 , wherein the one or more input responses include an utterance.

15. The computing system of claim 10 , wherein the assistive actions to be taken in response to the one or more input responses include one or more of a primitive action that returns a value, a call action that includes a function and a list of arguments, and a macro action that includes a sequence of actions performed to automate a task.

16. The computing system of claim 10 , wherein the machine learning model selects subsets of utterances corresponding to the plurality of instances of the natural language dialogue for the domain to expand capabilities of the machine learning model in the domain.

17. The computing system of claim 10 , wherein the one or more selected candidate dialogues are selected as being most accurate in light of the domain.

18. The computing system of claim 10 , wherein the retrained machine learning model is configured to select from a smaller set of utterances for an instance of a natural language dialogue for the domain than that of the machine learning model.

19. A method performed by a computing system for training a machine learning model for natural language interaction, the method comprising:

establishing a plurality of instances of a natural language dialogue for a domain, each instance of the natural language dialogue including a subset of utterances for the domain selected by the machine learning model to expand capabilities of the machine learning model in the domain;

for each instance of the natural language dialogue for the domain, receiving one or more input responses;

for each instance of the natural language dialogue for the domain, selecting a pre-defined template from a library of pre-defined templates based on the one or more input responses, the selected pre-defined template including an assistive action and one or more generalized paths;

receiving for each selected pre-defined template, one or more sanitizing constraints that refine the one or more generalized paths, the one or more sanitizing constraints used in execution of the assistive action by a computing device to return one or more values that advance the natural language dialogue based on the one or more input responses;

receiving one or more selected candidate dialogues selected from a plurality of candidate dialogues for the domain, each candidate dialogue including utterances, responses, a selected pre-defined template, and one or more sanitizing constraints corresponding to the selected pre-defined template; and

retraining the machine learning model based on the one or more selected candidate dialogues to obtain a retrained machine learning model that is trained to recognize that a future natural language dialogue corresponds to one of the one or more selected candidate dialogues and select assistive actions described by annotations for that selected candidate dialogue.

20. The method of claim 19 , wherein the one or more selected candidate dialogues are selected as being most accurate in light of the domain.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2021
From: LIANG, PERCY SHUO; HALL, DAVID LEO WRIGHT; RUSAK, JESSE DANIEL ESKES; KLEIN, DANIEL
To: SEMANTIC MACHINES, INC.
Reel/Frame 057548/0486 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2021
From: SEMANTIC MACHINES, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 057548/0573 →
Continuity (5)
Continuation 16115491 · Aug 28, 2018
Provisional Application 62613995 · Jan 5, 2018
Provisional Application 62554456 · Sep 5, 2017
Provisional Application 62551200 · Aug 28, 2017
Related Publication 20220004702A1 · Jan 6, 2022