Extending digital personal assistant action providers

US10192549B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10192549-B2
Application numberUS-201514676603-A
CountryUS
Kind codeB2
Filing dateApr 1, 2015
Priority dateNov 28, 2014
Publication dateJan 29, 2019
Grant dateJan 29, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of controlling which action provider out of a plurality of different 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 and after recognizing the task in the spoken utterance and based on stored registrations for the different registered action providers and stored task-to-provider association preferences, assigning the task in the spoken utterance to a particular action provider out of the different registered action providers, wherein a plurality of the different registered action providers are currently registered for the task in the spoken utterance and the plurality of different registered action providers currently registered for the task in the spoken utterance comprise a default action provider registered for the task in the spoken utterance and a secondary action provider registered for the task in the spoken utterance, and wherein assigning the task in the spoken utterance comprises choosing, from the plurality of different registered action providers currently registered for the task in the spoken utterance, the particular action provider to perform the task in the spoken utterance and sending instructions to perform the task in the spoken utterance to the particular action provider; wherein choosing the particular action provider to perform the task in the spoken utterance supports explicit override of the default registered action provider for the task based on an explicit indication of a name of the secondary action provider in the spoken utterance, even though the default action provider and the secondary action provider are both currently registered for the task. 2. The method of claim 1 further comprising: determining that a prerequisite for an action provider is not satisfied; and responsive to determining that the prerequisite for the action provider is not satisfied, identifying the secondary action provider for the task, and using the secondary action provider as the particular action provider for performing the task. 3. The method of claim 2 wherein: the prerequisite specifies that a network connection is present. 4. The method of claim 1 wherein: the task-to-provider association preferences indicate a preferred action provider for the task; and choosing the particular action provider to perform the task comprises choosing the preferred action provider for the task. 5. The method of claim 1 , wherein the assigning assigns the task to the default action provider, the method further comprising: receiving an utterance comprising an explicit indication of a non-default action provider also registered for the task and a second instance of the task, wherein the explicit indication of the non-default action provider comprises a name of the non-default action provider; and responsive to recognizing the explicit indication of the non-default action provider, sending instructions to perform the second instance of the task to the non-default action provider, even though the default action provider is also registered for the task, wherein the non-default action provider is different from the default action provider. 6. The method of claim 1 further comprising: based on a stored registration for the particular action provider, determining that a parameter slot for the task is missing; and before sending instructions to the particular action provider, prompting for a parameter value to fill the parameter slot; receiving another spoken utterance; performing speech recognition on the other spoken utterance, the speech recognition recognizing a spoken parameter value; and submitting the spoken parameter value to the particular action provider when assigning the task to the particular action provider. 7. The method of claim 1 wherein: the speech recognition further recognizes a parameter value in the spoken utterance; and assigning the task to the particular action provider further comprises sending the parameter value to the particular action provider. 8. The method of claim 1 further comprising: registering the particular action provider with a digital personal assistant infrastructure service, wherein the registering comprises storing an indication of one or more actions supported by the particular action provider. 9. The method of claim 1 wherein: the plurality of registered action providers comprise a non-native action provider and a native action provider. 10. The method of claim 1 further comprising: via machine learning, determining that the particular action provider is a preferred action provider for the task; and changing the default action provider for the task to be the particular action provider. 11. The method of claim 1 wherein: performing speech recognition on the spoken utterance comprises recognizing, in the utterance, a contact name of a contact; the task comprises a communication task; and assigning the particular action provider to perform the task comprises initiating communication with the contact via the communication task with the particular action provider. 12. The method of claim 11 further comprising: via machine learning, determining that the particular action provider is a preferred action provider for the task and contact; and changing the default action provider for the task to be the particular action provider when communicating with the contact. 13. The method of claim 1 further comprising: responsive to determining that no registered action provider supports the task, identifying an action provider that supports the task, installing the action provider that supports the task, and registering the action provider that supports the task. 14. The method of claim 1 wherein: a stored registration for the particular action provider indicates that a message is to be presented when a current location falls within a boundary; and the method further comprises, responsive to determining that the current location falls within the boundary, presenting the message. 15. The method of claim 1 further comprising: performing the task with the particular action provider. 16. An electronic device comprising: one or more processors; 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 calling task supported by the particular registered action provider, wherein a plurality of the registered action providers are registered for the calling task; memory storing a plurality of stored preferences for registered action providers, wherein the stored preferences comprise a preference indicating a preferred registered action provider as preferred for a particular calling task, and a second registered action provider is also registered for the particular calling task; memory storing computer-executable instructions that, when executed, cause the one or more processors to: recognize a calling task in a spoken utterance received by a microphone of the electronic device or a typed command received by text input hardware of the electronic device; and control to which action provider the calling task is directed for completion based on the plurality of stored registrations and the stored preferences, and wherein directing the calling task comprises choosing, from the registered action providers registered for the calling task, the partic

Assignees

Inventors

Classifications

  • Execution procedure of a spoken command · CPC title

  • G10L15/22Primary

    Procedures used during a speech recognition process, e.g. man-machine dialogue · CPC title

  • the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title

  • Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title

  • Audio in a user interface, e.g. using voice commands for navigating, audio feedback · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10192549B2 cover?
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 prov…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G10L15/22. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 29 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).