Robust expandable dialogue system
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.
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.