Service orchestration for intelligent automated assistant
First Claim
1. A method for operating an intelligent automated assistant, comprising:
- at an electronic device comprising a processor and memory storing instructions for execution by the processor;
receiving a user request, the user request including at least a speech input received from the user;
processing the user request to obtain a representation of user intent, wherein the representation of user intent associates the user request with a task flow operationalizing a requested task, and the task flow is operable to invoke a plurality of services each supporting functions according to a respective plurality of service parameters;
based on the representation of user intent, identifying a plurality of relevant task parameters for the task flow, wherein the plurality of relevant task parameters including at least one task parameter explicitly expressed in the speech input and at least one task parameter inferred from context information associated with the speech input; and
executing the task flow by selectively invoking a subset of the plurality of services in accordance with the plurality of relevant task parameters, wherein the execution of the task flow further comprises;
after an unsuccessful attempt to complete the task in accordance with all of the plurality of relevant task parameters;
selecting one or more task parameters from the plurality of relevant task parameters to relax in an additional attempt to complete the task, wherein the selecting is based on whether the one or more task parameters were inferred from the context information or explicitly expressed in the speech input.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and computer readable storage medium related to operating an intelligent digital assistant are disclosed. A user request is received, the user request including at least a speech input received from the user. The user request is processed to obtain a representation of user intent, where the representation of user intent associates the user request with a task flow operationalizing a requested task, and the task flow is operable to invoke a plurality of services each supporting functions according to a respective plurality of service parameters. Based on the representation of user intent, one or more relevant task parameters are identified from a plurality of task parameters of the task flow. A subset of the plurality of services are selectively invoked during execution of the task flow, where the selectively invoked subset of the plurality of services support functions according to the identified one or more relevant task parameters.
3083 Citations
21 Claims
-
1. A method for operating an intelligent automated assistant, comprising:
at an electronic device comprising a processor and memory storing instructions for execution by the processor; receiving a user request, the user request including at least a speech input received from the user; processing the user request to obtain a representation of user intent, wherein the representation of user intent associates the user request with a task flow operationalizing a requested task, and the task flow is operable to invoke a plurality of services each supporting functions according to a respective plurality of service parameters; based on the representation of user intent, identifying a plurality of relevant task parameters for the task flow, wherein the plurality of relevant task parameters including at least one task parameter explicitly expressed in the speech input and at least one task parameter inferred from context information associated with the speech input; and executing the task flow by selectively invoking a subset of the plurality of services in accordance with the plurality of relevant task parameters, wherein the execution of the task flow further comprises; after an unsuccessful attempt to complete the task in accordance with all of the plurality of relevant task parameters; selecting one or more task parameters from the plurality of relevant task parameters to relax in an additional attempt to complete the task, wherein the selecting is based on whether the one or more task parameters were inferred from the context information or explicitly expressed in the speech input. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A system, comprising:
-
one or more processors; and memory having instructions stored thereon, the instructions, when executed by the one or more processors, cause the processors to perfoim operations comprising; receiving a user request, the user request including at least a speech input received from the user; processing the user request to obtain a representation of user intent, wherein the representation of user intent associates the user request with a task flow operationalizing a requested task, and the task flow is operable to invoke a plurality of services each supporting functions according to a respective plurality of service parameters; based on the representation of user intent, identifying a plurality of relevant task parameters for the task flow, wherein the plurality of relevant task parameters including at least one task parameter explicitly expressed in the speech input and at least one task parameter inferred from context information associated with the speech input; and executing the task flow by selectively invoking a subset of the plurality of services in accordance with the plurality of relevant task parameters, wherein the execution of the task flow further comprises; after an unsuccessful attempt to complete the task in accordance with all of the plurality of relevant task parameters; selecting one or more task parameters from the plurality of relevant task parameters to relax in an additional attempt to complete the task, wherein the selecting is based on whether the one or more task parameters were inferred from the context information or explicitly expressed in the speech input. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable storage medium having instructions stored thereon, the instructions, when executed by one or more processors, cause the processors to perform operations comprising:
-
receiving a user request, the user request including at least a speech input received from the user; processing the user request to obtain a representation of user intent, wherein the representation of user intent associates the user request with a task flow operationalizing a requested task, and the task flow is operable to invoke a plurality of services each supporting functions according to a respective plurality of service parameters; based on the representation of user intent, identifying a plurality of relevant task parameters for the task flow, wherein the plurality of relevant task parameters including at least one task parameter explicitly expressed in the speech input and at least one task parameter inferred from context information associated with the speech input; and executing the task flow by selectively invoking a subset of the plurality of services in accordance with the plurality of relevant task parameters, wherein the execution of the task flow further comprises; after an unsuccessful attempt to complete the task in accordance with all of the plurality of relevant task parameters; selecting one or more task parameters from the plurality of relevant task parameters to relax in an additional attempt to complete the task, wherein the selecting is based on whether the one or more task parameters were inferred from the context information or explicitly expressed in the speech input. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification