EXTENDING DIGITAL PERSONAL ASSISTANT ACTION PROVIDERS
First Claim
1. A method of controlling which action provider out of a plurality of registered action providers performs a task, the method comprising:
- receiving a spoken utterance detected by a microphone;
performing speech recognition on the spoken utterance, the speech recognition recognizing a task in the spoken utterance; and
responsive to recognizing the task and based on stored registrations for the registered action providers and stored task-to-provider association preferences, assigning the task to a particular action provider out of the registered action providers, wherein assigning the task comprises choosing the particular action provider to perform the task and sending instructions to perform the task to the particular action provider.
2 Assignments
0 Petitions
Accused Products
Abstract
An electronic device can receive user input via voice or text that includes tasks to be performed. A digital personal assistant infrastructure service can control to which registered action provider the task is assigned. Per-task action provider preferences can be stored. If a preferred action provider is not able to complete the task, the task can still be performed by a registered action provider that has appropriate capabilities. Machine learning can determine a user'"'"'s preferences. Resource conservation and effective user interaction can result.
378 Citations
20 Claims
-
1. A method of controlling which action provider out of a plurality of registered action providers performs a task, the method comprising:
-
receiving a spoken utterance detected by a microphone; performing speech recognition on the spoken utterance, the speech recognition recognizing a task in the spoken utterance; and responsive to recognizing the task and based on stored registrations for the registered action providers and stored task-to-provider association preferences, assigning the task to a particular action provider out of the registered action providers, wherein assigning the task comprises choosing the particular action provider to perform the task and sending instructions to perform the task to the particular action provider. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. An electronic device comprising:
-
a processor; memory storing a plurality of stored registrations for registered action providers, wherein the stored registrations comprise a stored registration for a particular registered action provider indicating a task supported by the particular registered action provider; memory storing a plurality of stored preferences for registered action providers, wherein the stored preferences comprise a preference indicating a particular registered action provider as preferred for a particular task; a recognition engine configured to recognize a task in a spoken utterance received by a microphone of the device or a typed command received by text input hardware of the device; and a personal digital assistant infrastructure service configured to control to which action provider the task is directed for completion based on the stored registrations and the stored preferences. - View Dependent Claims (17, 18, 19)
-
-
20. One or more machine-readable media comprising machine-executable instructions causing an electronic device to perform a method controlling which communication action provider out of a plurality of registered communication action providers perform a communication task supported by a digital personal assistant infrastructure service, the method comprising:
-
performing speech recognition on an utterance, the speech recognition comprising recognizing the supported communication task and a contact name in the utterance; and based on stored registrations for the registered communication action providers, stored action-to-provider association preferences, and availability of contact information for initiating the communication task for the contact name, choosing a particular registered communication action provider, and initiating communication with a contact identified by the contact name using the selected particular registered communication action provider via the supported communication task; wherein choosing a particular registered communication action provider comprises initially considering a first communication action provider, but choosing a second communication action provider responsive to determining that availability of contact information for the first communication action provider is missing.
-
Specification