Invoking an automated assistant to perform multiple tasks through an individual command
First Claim
1. A method implemented by one or more processors, the method comprising:
- determining a correlation between a first spoken utterance and a second spoken utterance during previous interactions between a user and an automated assistant via an automated assistant interface,wherein determining the correlation is based on a temporal relationship between the first spoken utterance and the second spoken utterance in each of the previous interactions,wherein the first spoken utterance causes the automated assistant to initialize execution of multiple tasks performed by separate agent modules that include a first agent module and a second agent module, andwherein the second spoken utterance causes the automated assistant to initialize execution of an additional task performed by an additional agent module;
prompting, based on determining the correlation between the first spoken utterance and the second spoken utterance, the user regarding a preconfigured multitask command,wherein the preconfigured multitask command corresponds to the multiple tasks and the additional task, andwherein the prompting is performed without an explicit request, from the user to the automated assistant, to initialize generation of the preconfigured multitask command; and
subsequent to prompting the user regarding the preconfigured multitask command;
determining that content of a natural language input provided to the automated assistant interface identifies the preconfigured multitask command;
invoking the first agent module of the separate agent modules to perform a first task of the multiple tasks and the additional agent module to perform the additional task;
in response to invoking the first agent module and the additional agent module, receiving a first agent output from the first agent module and an additional agent output from the additional agent module;
invoking, with parameters based on the first agent output, the second agent module of the separate agent modules to perform a second task of the multiple tasks, wherein the second task involves processing the parameters,wherein invoking the second agent module with the parameters based on the first agent output includes incorporating at least some of the first agent output into one or more of the parameters and providing, by the automated assistant, the parameters to the second agent module;
in response to invoking the second agent module, receiving a second agent output from the second agent module; and
providing responsive output to the user, via the automated assistant interface, based on the first agent output, the second agent output, and the additional agent output.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, apparatus, systems, and computer-readable media for engaging an automated assistant to perform multiple tasks through a multitask command. The multitask command can be a command that, when provided by a user, causes the automated assistant to invoke multiple different agent modules for performing tasks to complete the multitask command. During execution of the multitask command, a user can provide input that can be used by one or more agent modules to perform their respective tasks. Furthermore, feedback from one or more agent modules can be used by the automated assistant to dynamically alter tasks in order to more effectively use resources available during completion of the multitask command.
35 Citations
20 Claims
-
1. A method implemented by one or more processors, the method comprising:
-
determining a correlation between a first spoken utterance and a second spoken utterance during previous interactions between a user and an automated assistant via an automated assistant interface, wherein determining the correlation is based on a temporal relationship between the first spoken utterance and the second spoken utterance in each of the previous interactions, wherein the first spoken utterance causes the automated assistant to initialize execution of multiple tasks performed by separate agent modules that include a first agent module and a second agent module, and wherein the second spoken utterance causes the automated assistant to initialize execution of an additional task performed by an additional agent module; prompting, based on determining the correlation between the first spoken utterance and the second spoken utterance, the user regarding a preconfigured multitask command, wherein the preconfigured multitask command corresponds to the multiple tasks and the additional task, and wherein the prompting is performed without an explicit request, from the user to the automated assistant, to initialize generation of the preconfigured multitask command; and subsequent to prompting the user regarding the preconfigured multitask command; determining that content of a natural language input provided to the automated assistant interface identifies the preconfigured multitask command; invoking the first agent module of the separate agent modules to perform a first task of the multiple tasks and the additional agent module to perform the additional task; in response to invoking the first agent module and the additional agent module, receiving a first agent output from the first agent module and an additional agent output from the additional agent module; invoking, with parameters based on the first agent output, the second agent module of the separate agent modules to perform a second task of the multiple tasks, wherein the second task involves processing the parameters, wherein invoking the second agent module with the parameters based on the first agent output includes incorporating at least some of the first agent output into one or more of the parameters and providing, by the automated assistant, the parameters to the second agent module; in response to invoking the second agent module, receiving a second agent output from the second agent module; and providing responsive output to the user, via the automated assistant interface, based on the first agent output, the second agent output, and the additional agent output. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system, comprising:
-
one or more processors; and memory storing instructions that, when executed by one or more of the processors, cause one or more of the processors to perform operations that include; determining a correlation between a first spoken utterance and a second spoken utterance during previous interactions between a user and an automated assistant via an automated assistant interface, wherein determining the correlation is based on a temporal relationship between the first spoken utterance and the second spoken utterance in each of the previous interactions, wherein the first spoken utterance causes the automated assistant to initialize execution of multiple tasks performed by separate agent modules that include a first agent module and a second agent module, and wherein the second spoken utterance causes the automated assistant to initialize execution of an additional task performed by an additional agent module; prompting, based on determining the correlation between the first spoken utterance and the second spoken utterance, the user regarding a preconfigured multitask command, wherein the preconfigured multitask command corresponds to the multiple tasks and the additional task, and wherein the prompting is performed without an explicit request, from the user to the automated assistant, to initialize generation of the preconfigured multitask command; and subsequent to prompting the user regarding the preconfigured multitask command; determining that content of a natural language input provided to the automated assistant interface identifies the preconfigured multitask command; invoking the first agent module of the separate agent modules to perform a first task of the multiple tasks and the additional agent module to perform the additional task; in response to invoking the first agent module and the additional agent module, receiving a first agent output from the first agent module and an additional agent output from the additional agent module; invoking, with parameters based on the first agent output, the second agent module of the separate agent modules to perform a second task of the multiple tasks, wherein the second task involves processing the parameters, wherein invoking the second agent module with the parameters based on the first agent output includes incorporating at least some of the first agent output into one or more of the parameters and providing, by the automated assistant, the parameters to the second agent module; in response to invoking the second agent module, receiving a second agent output from the second agent module; and providing responsive output to the user, via the automated assistant interface, based on the first agent output, the second agent output, and the additional agent output. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A non-transitory computer readable medium configured to store instructions that, when executed by one or more processors, cause the one or more processors to perform operations that include:
-
determining a correlation between a first spoken utterance and a second spoken utterance during previous interactions between a user and an automated assistant via an automated assistant interface, wherein determining the correlation is based on a temporal relationship between the first spoken utterance and the second spoken utterance in each of the previous interactions, wherein the first spoken utterance causes the automated assistant to initialize execution of multiple tasks performed by separate agent modules that include a first agent module and a second agent module, and wherein the second spoken utterance causes the automated assistant to initialize execution of an additional task performed by an additional agent module; prompting, based on determining the correlation between the first spoken utterance and the second spoken utterance, the user regarding a preconfigured multitask command, wherein the preconfigured multitask command corresponds to the multiple tasks and the additional task, and wherein the prompting is performed without an explicit request, from the user to the automated assistant, to initialize generation of the preconfigured multitask command; and subsequent to prompting the user regarding the preconfigured multitask command; determining that content of a natural language input provided to the automated assistant interface identifies the preconfigured multitask command; invoking the first agent module of the separate agent modules to perform a first task of the multiple tasks and the additional agent module to perform the additional task; in response to invoking the first agent module and the additional agent module, receiving a first agent output from the first agent module and an additional agent output from the additional agent module; invoking, with parameters based on the first agent output, the second agent module of the separate agent modules to perform a second task of the multiple tasks, wherein the second task involves processing the parameters, wherein invoking the second agent module with the parameters based on the first agent output includes incorporating at least some of the first agent output into one or more of the parameters and providing, by the automated assistant, the parameters to the second agent module; in response to invoking the second agent module, receiving a second agent output from the second agent module; and providing responsive output to the user, via the automated assistant interface, based on the first agent output, the second agent output, and the additional agent output. - View Dependent Claims (17, 18, 19, 20)
-
Specification