US2023162735A1PendingUtilityA1

Generating and transmitting invocation request to appropriate third-party agent

Assignee: GOOGLE LLCPriority: Dec 30, 2016Filed: Jan 23, 2023Published: May 25, 2023
Est. expiryDec 30, 2036(~10.4 yrs left)· nominal 20-yr term from priority
G10L 2015/223G10L 15/30G06F 16/243G10L 15/1815G10L 15/22G06F 16/9535G10L 15/1822G06F 40/40H04L 67/56G06F 40/30H04L 67/562G06F 3/167G06Q 10/02H04L 67/60
75
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Some implementations are directed to selective invocation of a particular third-party (3P) agent by an automated assistant to achieve an intended action determined by the automated assistant during a dynamic dialog between the automated assistant and a user. In some of those implementations, the particular 3P agent is invoked with value(s) for parameter(s) that are determined during the dynamic dialog; and/or the particular 3P agent is selected, from a plurality of candidate 3P agents, for invocation based on the determined value(s) for the parameter(s) and/or based on other criteria. In some of those implementations, the automated assistant invokes the particular 3P agent by transmitting, to the particular 3P agent, a 3P invocation request that includes the determined value(s) for the parameter(s).

Claims

exact text as granted — not AI-modified
1 . A method implemented by one or more processors, comprising:
 as part of a dialog between a user of a client device and an automated assistant that is accessible at the client device:
 receiving user input from the user of the client device, the user input being free-form and being directed to the automated assistant; 
 determining, based on processing the user input, that the user input indicates an intended action and indicates a value for a parameter for the intended action; 
 selecting, based on the intended action and the value of the parameter, a particular third-party agent that can perform the intended action and that is also accessible at the client device; 
 in response to selecting the particular third-party agent that can perform the intended action:
 causing the dialog between the user and the automated assistant to be transferred to the particular third-party agent,
 wherein causing the dialog between the user and the automated assistant to be transferred to the particular third-party agent results in the dialog being between the user and the particular third-party agent, and 
 wherein causing the dialog between the user and the automated assistant to be transferred to the particular third-party agent causes the particular third-party agent to perform the intended action based on at least the value for the parameter for the intended action and without the automated assistant serving as an intermediary in the dialog between the user and the particular third-party agent; and 
 
 
 in response to determining, based on the dialog between the user and the particular third-party agent, that one or more conditions are satisfied:
 causing the dialog between the user and the third-party agent to be transferred back to the automated assistant,
 wherein causing the dialog between the user and the particular third-party agent to be transferred back to the automated assistant results in the dialog resuming between the user and the automated assistant. 
 
 
   
     
     
         2 . The method of  claim 1 , wherein causing the third-party agent to perform the intended action based on at least the value for the parameter for the intended action and without the automated assistant serving as an intermediary in the dialog between the user and the particular third-party agent causes the particular third-party agent to:
 receive additional user input from the user of the client device, the additional user input being free-form and directed to the particular third-party agent; and   process the additional user input in furtherance of performing the intended action.   
     
     
         3 . The method of  claim 1 , further comprising:
 receiving additional user input from the user of the client device, the additional user input being free-form and being directed to the particular third-party agent; and   processing the additional user input to generate annotated additional user input.   
     
     
         4 . The method of  claim 3 , wherein causing the third-party agent to perform the intended action based on at least the value for the parameter for the intended action and without the automated assistant serving as an intermediary in the dialog between the user and the particular third-party agent causes the particular third-party agent to:
 process the annotated additional user input in furtherance of performing the intended action.   
     
     
         5 . The method of  claim 1 , wherein causing the third-party agent to perform the intended action based on at least the value for the parameter for the intended action and without the automated assistant serving as an intermediary in the dialog between the user and the particular third-party agent causes the particular third-party agent to:
 generate, based on the value for the parameter, content in furtherance of performing the intended action; and   provide, for presentation to the user and via one or more output components of the client device, the content in furtherance of performing the intended action.   
     
     
         6 . The method of  claim 5 , wherein causing the third-party agent to perform the intended action based on at least the value for the parameter for the intended action and without the automated assistant serving as an intermediary in the dialog between the user and the particular third-party agent further causes the particular third-party agent to:
 receive additional user input from the user of the client device, the additional user input being free-form and directed to the particular third-party agent;   process the additional user input in furtherance of performing the intended action;   generate, based on the processing the additional user, additional content in furtherance of performing the intended action; and   provide, for presentation to the user and via one or more output components of the client device, the additional content in furtherance of performing the intended action.   
     
     
         7 . The method of  claim 1 , wherein the one or more conditions include one or more of: termination of the dialog between the user and the particular third-party agent by the particular third-party agent, termination of the dialog between the user and the particular third-party agent by the user, completion of the intended action by the particular third-party agent, or timeout of the dialog between the user and the particular third-party agent. 
     
     
         8 . The method of  claim 1 , wherein causing the dialog between the user and the automated assistant to be transferred to the particular third-party agent results in the dialog being between the user and the particular third-party agent causes the particular third-party agent to:
 provide, for presentation to the user and via one or more output components of the client device, output that identifies itself as the particular third-party agent.   
     
     
         9 . The method of  claim 1 , wherein selecting, based on the intended action and the value of the parameter, the particular third-party agent that can perform the intended action comprises:
 selecting the particular third-party agent from among a group of third-party agents, wherein each of the third-party agents of the group can perform the intended action.   
     
     
         10 . The method of  claim 9 , wherein selecting the particular third-party agent from among the group of third-party agents comprises:
 determining, based on processing the user input, that the user input includes a particular word or phrase that invokes the particular third-party agent.   
     
     
         11 . The method of  claim 9 , wherein selecting the particular third-party agent from among the group of third-party agents comprises:
 generating, based on the group of third-party agents, a prompt that requests the user select a given third-party agent from among the group of third-party agents;   receiving a user selection from the user of the particular third-party agent as the given third-party agent; and   selecting, based on the user selection, the particular third-party agent to perform the intended action.   
     
     
         12 . The method of  claim 1 , further comprising:
 transmitting, over one or more network interfaces, and to the particular third-party agent, an invocation request that includes an indication of: the intended action, and the value for the parameter for the intended action; and   receiving, over one or more of the network interfaces, and from the particular third-party agent, content that indicates the particular third-party agent can perform the intended action.   
     
     
         13 . The method of  claim 12 , wherein selecting the particular third-party agent that can perform the intended action in response to receiving the content that indicates the particular third-party agent can perform the intended action. 
     
     
         14 . The method of  claim 1 , wherein the one or more conditions include one or more of:
 termination of the dialog between the user and the particular third-party agent by the particular third-party agent, termination of the dialog between the user and the particular third-party agent by the user, completion of the intended action by the particular third-party agent, or timeout of the dialog between the user and the particular third-party agent.   
     
     
         15 . The method of  claim 1 , wherein the dialog is a spoken dialog. 
     
     
         16 . The method of  claim 1 , wherein causing the dialog between the user and the automated assistant to be transferred to the particular third-party agent and that results in the dialog being between the user and the particular third-party agent cause the particular third-party agent to establish a direct network communications session with the client device. 
     
     
         17 . A method implemented by one or more processors, comprising:
 as part of a dialog between a user of a client device and an automated assistant that is accessible at the client device:
 receiving user input from the user of the client device, the user input being free-form and being directed to the automated assistant; 
 determining, based on processing the user input, that the user input indicates an intended action and indicates a value for a parameter for the intended action; 
 selecting, based on the intended action and the value of the parameter, a particular third-party agent that can perform the intended action and that is also accessible at the client device; 
 in response to selecting the particular third-party agent that can perform the intended action:
 causing the dialog between the user and the automated assistant to be transferred to the particular third-party agent,
 wherein causing the dialog between the user and the automated assistant to be transferred to the particular third-party agent results in the dialog being between the user and the particular third-party agent, and 
 wherein causing the dialog between the user and the automated assistant to be transferred to the particular third-party agent causes the particular third-party agent to perform the intended action based on at least the value for the parameter for the intended action and without the automated assistant serving as an intermediary in the dialog between the user and the particular third-party agent; 
 
 
 receiving, from the particular third-party agent, an indication to transfer the dialog between the user and the particular third-party agent back to the automated assistant; and 
 in response to receiving an indication from the particular third-party agent to transfer the dialog between the user and the particular third-party agent back to the automated assistant:
 causing the dialog between the user and the third-party agent to be transferred back to the automated assistant,
 wherein causing the dialog between the user and the particular third-party agent to be transferred back to the automated assistant results in the dialog resuming between the user and the automated assistant. 
 
 
   
     
     
         18 . The method of  claim 17 , wherein the particular third-party agent generates the indication to transfer the dialog between the user and the particular third-party agent back to the automated assistant in response to the particular third-party agent determining, based on the dialog between the user and the particular third-party agent, that one or more conditions are satisfied. 
     
     
         19 . The method of  claim 18 , wherein the one or more conditions include one or more of:
 termination of the dialog between the user and the particular third-party agent by the particular third-party agent, termination of the dialog between the user and the particular third-party agent by the user, completion of the intended action by the particular third-party agent, or timeout of the dialog between the user and the particular third-party agent.   
     
     
         20 . A method implemented by one or more processors, comprising:
 as part of a dialog between a user of a client device and an automated assistant that is accessible at the client device:
 receiving user input from the user of the client device, the user input being free-form and being directed to the automated assistant; 
 determining, based on processing the user input, that the user input indicates an intended action and indicates a value for a parameter for the intended action; 
 selecting, based on the intended action and the value of the parameter, a particular third-party agent that can perform the intended action and that is also accessible at the client device; and 
 in response to selecting the particular third-party agent that can perform the intended action:
 causing the dialog between the user and the automated assistant to be transferred to the particular third-party agent,
 wherein causing the dialog between the user and the automated assistant to be transferred to the particular third-party agent results in the dialog being between the user and the particular third-party agent, 
 wherein causing the dialog between the user and the automated assistant to be transferred to the particular third-party agent and that results in the dialog being between the user and the particular third-party agent cause the particular third-party agent to establish a direct network communications session with the client device, and 
 wherein causing the dialog between the user and the automated assistant to be transferred to the particular third-party agent causes the particular third-party agent to: 
  provide, for presentation to the user and via one or more output components of the client device, output that identifies itself as the particular third-party agent, 
  perform the intended action based on at least the value for the parameter for the intended action and without the automated assistant serving as an intermediary in the dialog between the user and the particular third-party agent, and 
  provide, for presentation to the user and via one or more of the output components of the client device, further output based on performance of the intended action.

Join the waitlist — get patent alerts

Track US2023162735A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.