User controlled task execution with task persistence for assistant systems

US11699194B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11699194-B2
Application numberUS-202016742668-A
CountryUS
Kind codeB2
Filing dateJan 14, 2020
Priority dateOct 18, 2019
Publication dateJul 11, 2023
Grant dateJul 11, 2023

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.

In one embodiment, a method includes receiving a first user request to execute a first task comprising one or more sub-tasks from a client system associated with a user, receiving a second user request to suspend the first task from the client system, storing a dialog state for the first task in response to the second user request, wherein the dialog state comprises results of executed sub-tasks and a status indicating the first task is suspended, receiving a third user request to resume the first task, accessing the dialog state for the first task, and providing a prompt to resume the first task at the client system.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising, by one or more computing systems: receiving, from a client system associated with a user, a first user request to execute a first task comprising one or more sub-tasks; receiving, from the client system, a second user request to suspend the first task; storing a dialog state for the first task in response to the second user request, wherein the dialog state comprises results of executed sub-tasks and a status indicating the first task is suspended; receiving a third user request; determining, based on a current dialog state and user interactions with the computing systems with respect to one or more entities associated with the first task, that the third user request is a request to resume the suspended first task; accessing the dialog state for the first task; and sending, to the client system, instructions for presenting a prompt to resume the first task. 2. The method of claim 1 , further comprising: executing one or more of the one or more sub-tasks of the first task. 3. The method of claim 1 , further comprising: determining, by a natural-language understanding module, the second user request is associated with a meta-intent to suspend the first task. 4. The method of claim 1 , further comprising: determining, based on a current dialog state and contextual information associated with the second user request, that the first task is associated with the second user request. 5. The method of claim 1 , further comprising: determining, by a natural-language understanding module, the third user request is associated with a meta-intent to resume the first task. 6. The method of claim 1 , further comprising: determining, based on the current dialog state and contextual information associated with the third user request, that the suspended first task is associated with the third user request. 7. The method of claim 1 , wherein storing the dialog state for the first task comprises: allocating a particular portion of the dialog state to the first task, wherein the particular portion is associated with one or more of a task identifier or a task name associated with the first task. 8. The method of claim 7 , wherein accessing the dialog state for the first task comprises: identifying the particular portion of the dialog state based on one or more of the task identifier or the task name associated with the first task; and retrieving the particular portion of the stored dialog state, wherein the retrieved portion comprises the dialog state for the first task. 9. The method of claim 1 , wherein the first, second, or third user requests are based on one or more of a textual input, an image input, a video input, an audio input, or a gesture input. 10. The method of claim 1 , wherein the dialog state for the first task is stored in a dialog state stack, wherein the storing of the dialog state in the dialog state stack is based on a priority associated with the first task. 11. The method of claim 1 , wherein storing the dialog state for the first task is based on one or more task policies. 12. The method of claim 1 , wherein accessing the dialog state for the first task is based on one or more task policies. 13. The method of claim 1 , further comprising: determining, based on one or more of contextual information associated with the user or a policy associated with the first task, that the user needs to be reminded of the suspended task; and sending, to the client system, instructions for presenting a notification reminding the user of the suspended first task. 14. The method of claim 1 , wherein the prompt comprises a summary of the first task, wherein the summary is generated based on the accessed dialog state. 15. The method of claim 14 , wherein the summary is generated by a natural-language generation (NLG) module based on one or more of a language-template or a language model. 16. The method of claim 1 , further comprising: receiving, from the client system, a fourth user request to execute a second task; executing the second task; and resuming the first task based on execution results of the second task. 17. The method of claim 1 , further comprising: generating a task-function based on the suspension and resuming of the first task, wherein the task-function comprises one or more default intents and one or more slot-values for one or more slots associated with the first task, respectively, and wherein the task-function is associated with a task alias; receiving a user call from the user, wherein the user call comprises the task alias; sending, to the client system, instructions for presenting a summary of the task-function based on the default intents and the slot-values; and executing the first task based on the default intents and the slot-values upon receiving a confirmation from the user. 18. One or more computer-readable non-transitory storage media embodying software that is operable when executed to: receive, from a client system associated with a user, a first user request to execute a first task comprising one or more sub-tasks; receive, from the client system, a second user request to suspend the first task; store a dialog state for the first task in response to the second user request, wherein the dialog state comprises results of executed sub-tasks and a status indicating the first task is suspended; receive a third user request; determine, based on a current dialog state and user interactions with the computing systems with respect to one or more entities associated with the first task, that the third user request is a request to resume the suspended first task; access the dialog state for the first task; and send, to the client system, instructions for presenting a prompt to resume the first task. 19. A system comprising: one or more processors; and a non-transitory memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to: receive, from a client system associated with a user, a first user request to execute a first task comprising one or more sub-tasks; receive, from the client system, a second user request to suspend the first task; store a dialog state for the first task in response to the second user request, wherein the dialog state comprises results of executed sub-tasks and a status indicating the first task is suspended; receive a third user request; determine, based on a current dialog state and user interactions with the computing systems with respect to one or more entities associated with the first task, that the third user request is a request to resume the suspended first task; access the dialog state for the first task; and send, to the client system, instructions for presenting a prompt to resume the first task.

Assignees

Inventors

Classifications

  • Grammatical analysis; Style critique · CPC title

  • in albums, collections or shared content, e.g. social network photos or video · CPC title

  • Semantic analysis · CPC title

  • Arrangements for interaction with the human body, e.g. for user immersion in virtual reality (blind teaching G09B21/00) · CPC title

  • Commands or executable codes · 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 US11699194B2 cover?
In one embodiment, a method includes receiving a first user request to execute a first task comprising one or more sub-tasks from a client system associated with a user, receiving a second user request to suspend the first task from the client system, storing a dialog state for the first task in response to the second user request, wherein the dialog state comprises results of executed sub-task…
Who is the assignee on this patent?
Meta Platforms Tech Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/453. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 11 2023 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).