Unconventional virtual assistant interactions
First Claim
1. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device, cause the electronic device to:
- receive an unstructured natural-language user request for a service from a virtual assistant;
determine whether the user request corresponds to at least one of a plurality of plan templates accessible to the virtual assistant, based on the content of the user request and the content of the plan templates, wherein a plan template of the plurality of plan templates includes a set of sequential instructions and corresponding one or more inputs and outputs, and at least one of the one or more inputs is a contingent input that corresponds to a subsequent action;
in accordance with a determination that the user request corresponds to at least one of the plurality of plan templates;
select one of the plurality of plan templates;
determine whether sufficient information is available to the virtual assistant for the virtual assistant to generate a plan based on the selected plan template;
in accordance with a determination that sufficient information is available to the virtual assistant for the virtual assistant to generate the plan based on the selected plan template, generate the plan based on the selected plan template with the virtual assistant, wherein an execution of at least a portion of the plan is contingent upon receiving the contingent input at a time subsequent to generating the plan; and
in accordance with a determination that insufficient information is available to the virtual assistant for the virtual assistant to generate the plan based on the selected plan template;
obtain sufficient information to generate the plan based on the selected plan template; and
in response to sufficient information being obtained, generate the plan based on the selected plan template with the virtual assistant; and
in accordance with a determination that the user request fails to correspond to at least one of the plurality of plan templates, forego selection of a plan template;
in response to selection of one of the plan templates, begin to respond to the user request according to the selected plan template by causing execution of a first instruction of the set of sequential instructions; and
in response to receiving the contingent input, continue to respond to the user request by causing execution of a second instruction of the set of sequential instructions according to the subsequent action.
1 Assignment
0 Petitions
Accused Products
Abstract
An exemplary method of using a virtual assistant may include receiving an unstructured natural-language user request for a service from a virtual assistant; determining whether the user request corresponds to at least one of a plurality of plan templates accessible to the virtual assistant, based on the content of the user request and the content of the plan templates; in accordance with a determination that the user request corresponds to at least one of the plurality of plan templates, selecting one of the plurality of plan templates; and in accordance with a determination the user request fails to correspond to at least one of the plurality of plan templates, foregoing selection of a plan template; and in response to selection of one of the plan templates, beginning to respond to the user request according to the selected plan template.
865 Citations
37 Claims
-
1. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device, cause the electronic device to:
-
receive an unstructured natural-language user request for a service from a virtual assistant; determine whether the user request corresponds to at least one of a plurality of plan templates accessible to the virtual assistant, based on the content of the user request and the content of the plan templates, wherein a plan template of the plurality of plan templates includes a set of sequential instructions and corresponding one or more inputs and outputs, and at least one of the one or more inputs is a contingent input that corresponds to a subsequent action; in accordance with a determination that the user request corresponds to at least one of the plurality of plan templates; select one of the plurality of plan templates; determine whether sufficient information is available to the virtual assistant for the virtual assistant to generate a plan based on the selected plan template; in accordance with a determination that sufficient information is available to the virtual assistant for the virtual assistant to generate the plan based on the selected plan template, generate the plan based on the selected plan template with the virtual assistant, wherein an execution of at least a portion of the plan is contingent upon receiving the contingent input at a time subsequent to generating the plan; and in accordance with a determination that insufficient information is available to the virtual assistant for the virtual assistant to generate the plan based on the selected plan template; obtain sufficient information to generate the plan based on the selected plan template; and in response to sufficient information being obtained, generate the plan based on the selected plan template with the virtual assistant; and in accordance with a determination that the user request fails to correspond to at least one of the plurality of plan templates, forego selection of a plan template; in response to selection of one of the plan templates, begin to respond to the user request according to the selected plan template by causing execution of a first instruction of the set of sequential instructions; and in response to receiving the contingent input, continue to respond to the user request by causing execution of a second instruction of the set of sequential instructions according to the subsequent action. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A method of using a virtual assistant, comprising:
-
at an electronic device configured to transmit and receive data, receiving an unstructured natural-language user request for a service from a virtual assistant; determining whether the user request corresponds to at least one of a plurality of plan templates accessible to the virtual assistant, based on the content of the user request and the content of the plan templates, wherein a plan template of the plurality of plan templates includes a set of sequential instructions and corresponding one or more inputs and outputs, and at least one of the one or more inputs is a contingent input that corresponds to a subsequent action; in accordance with a determination that the user request corresponds to at least one of the plurality of plan templates; selecting one of the plurality of plan templates; determining whether sufficient information is available to the virtual assistant for the virtual assistant to generate a plan based on the selected plan template; in accordance with a determination that sufficient information is available to the virtual assistant for the virtual assistant to generate the plan based on the selected plan template, generating the plan based on the selected plan template with the virtual assistant; and in accordance with a determination that insufficient information is available to the virtual assistant for the virtual assistant to generate the plan based on the selected plan template, wherein an execution of at least a portion of the plan is contingent upon receiving the contingent input at a time subsequent to generating the plan; obtain sufficient information to generate the plan based on the selected plan template; and in response to sufficient information being obtained, generating the plan based on the selected plan template with the virtual assistant; and in accordance with a determination the user request fails to correspond to at least one of the plurality of plan templates, foregoing selection of a plan template; in response to selection of one of the plan templates, beginning to respond to the user request according to the selected plan template by causing execution of a first instruction of the set of sequential instructions; and in response to receiving the contingent input, continue to respond to the user request by causing execution of a second instruction of the set of sequential instructions according to the subsequent action.
-
-
37. An electronic device, comprising:
-
one or more processors; a memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for; receiving an unstructured natural-language user request for a service from a virtual assistant; determining whether the user request corresponds to at least one of a plurality of plan templates accessible to the virtual assistant, based on the content of the user request and the content of the plan templates, wherein a plan template of the plurality of plan templates includes a set of sequential instructions and corresponding one or more inputs and outputs, and at least one of the one or more inputs is a contingent input that corresponds to a subsequent action; in accordance with a determination that the user request corresponds to at least one of the plurality of plan templates; selecting one of the plurality of plan templates; determining whether sufficient information is available to the virtual assistant for the virtual assistant to generate a plan based on the selected plan template; in accordance with a determination that sufficient information is available to the virtual assistant for the virtual assistant to generate the plan based on the selected plan template, generating the plan based on the selected plan template with the virtual assistant; and in accordance with a determination that insufficient information is available to the virtual assistant for the virtual assistant to generate the plan based on the selected plan template, wherein an execution of at least a portion of the plan is contingent upon receiving the contingent input at a time subsequent to generating the plan; obtain sufficient information to generate the plan based on the selected plan template; and in response to sufficient information being obtained, generating the plan based on the selected plan template with the virtual assistant; and in accordance with a determination the user request fails to correspond to at least one of the plurality of plan templates, foregoing selection of a plan template; in response to selection of one of the plan templates, beginning to respond to the user request according to the selected plan template by causing execution of a first instruction of the set of sequential instructions; and in response to receiving the contingent input, continue to respond to the user request by causing execution of a second instruction of the set of sequential instructions according to the subsequent action.
-
Specification