US2018232664A1PendingUtilityA1

Automated assistant invocation of appropriate agent

Assignee: GOOGLE LLCPriority: Apr 18, 2016Filed: Apr 12, 2018Published: Aug 16, 2018
Est. expiryApr 18, 2036(~9.7 yrs left)· nominal 20-yr term from priority
H04L 51/02H04M 3/527G10L 15/22G10L 2015/223G06F 16/3329G06F 9/54G10L 15/1815G06N 3/006G10L 15/30G06F 17/30654G06N 99/005H04L 51/222H04L 12/1831H04L 12/1827H04L 12/1822H04L 51/214G06F 3/167G06N 20/00G06N 3/004
57
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Invoking an agent during a dialog between a user and an automated assistant. Some implementations are directed to receiving, during a human-to-automated assistant dialog, natural language input of the user that indicates a desire to engage an agent, but that fails to indicate a particular agent to be engaged. Those implementations are further directed to selecting a particular agent from a plurality of available agents, and transmitting an invocation request to the selected particular agent. In some implementations an agent selection model can be utilized in selecting the particular agent, such as a machine learning model. The machine learning model can be trained to enable generation of output that indicates, for each of a plurality of available agents (and optionally intent(s) for those agents), a probability that the available agent (and optionally intent) will generate appropriate responsive content.

Claims

exact text as granted — not AI-modified
1 . A method implemented by one or more processors, comprising:
 receiving a natural language input instance generated based on user interface input provided by a user during a human-to-automated assistant dialog,
 wherein the natural language input instance fails to explicitly indicate an agent to be invoked based on the natural language input instance; 
   prior to invoking any agent in response to the natural language input instance:
 applying, as input to a trained machine learning model, input features that are based on the natural language input instance; 
 generating, over the machine learning model based on the input, output that includes a plurality of values, wherein each of the values corresponds to a respective one of a plurality of agents, and wherein each of the values indicates an ability of a respective one of the plurality of agents to generate responsive content for the natural language input instance; 
 selecting a particular agent, from the plurality of agents, based on the generated values,
 wherein selecting the particular agent occurs without providing any user interface output that explicitly solicits the user to select between the particular agent and one or more other of the plurality of agents; 
 
   responsive to the receiving the natural language input instance and in response to selecting the particular agent:
 transmitting, via an application programming interface, an invocation request to the selected particular agent, wherein the invocation request invokes the particular agent and causes the particular agent to generate particular responsive content for presentation to the user via one or more user interface output devices, 
 wherein only the selected particular agent is invoked in response to receiving the natural language input instance. 
   
     
     
         2 . The method of  claim 1 , further comprising:
 applying, as additional input to the trained machine learning model, one or more additional input features that are based on one or more contextual values;   wherein generating the output over the machine learning model is further based on the additional input.   
     
     
         3 . The method of  claim 2 , wherein the one or more contextual values on which at least one of the one or more additional input features is based comprise a location of a client device via which the user interface input is received. 
     
     
         4 . The method of  claim 2 , wherein the one or more contextual values on which at least one of the one or more additional input features is based comprise a given contextual value that is based on currently rendered content on a client device via which the user interface input is received. 
     
     
         5 . The method of  claim 1 , wherein selecting the particular agent is further based on a quantity of interactions with the particular agent by the user engaged in the human-to-automated assistant dialog. 
     
     
         6 . The method of  claim 1 , wherein selecting the particular agent is further based on a recency of interaction with the particular agent by the user engaged in the human-to-automated assistant dialog. 
     
     
         7 . The method of  claim 1 , wherein selecting the particular agent is further based on:
 a quantity of interactions with the particular agent by the user engaged in the human-to-automated assistant dialog; and   a recency of interaction with the particular agent by the user.   
     
     
         8 . The method of  claim 1 , further comprising, after transmitting the invocation request to the selected particular agent:
 receiving the particular responsive content from the particular agent in response to the transmitting; and   causing output that is based on the particular responsive content to be presented via the one or more user interface output devices.   
     
     
         9 . The method of  claim 8 , further comprising:
 receiving, while the particular agent is invoked and subsequent to causing the output to be presented, an additional natural language input instance generated based on additional user interface input provided by the user;   determining that the additional natural language input instance indicates a desire to switch to an alternative agent of the plurality of agents; and   in response to determining that the additional natural language input instance indicates the desire to switch to the alternative agent:
 transmitting an additional invocation request to the alternative agent, wherein the additional invocation request includes at least one value that is based on the natural language input instance or a further natural language input instance received while the particular agent was invoked. 
   
     
     
         10 . A method implemented by one or more processors, comprising:
 receiving a natural language input instance generated based on user interface input provided by a user during a human-to-automated assistant dialog,
 wherein the natural language input instance fails to explicitly indicate an agent to be invoked based on the natural language input instance; 
   prior to invoking any agent in response to the natural language input instance:
 selecting a particular agent from a plurality of candidate agents,
 wherein selecting the particular agent is based on:
 the natural language input instance and an agent selection model, and 
 one or more contextual values that are in addition to the natural language input instance and that are in addition to any other natural language input instances provided during the human-to-automated assistant dialog, and 
 
 wherein selecting the particular agent occurs without providing any user interface output that explicitly solicits the user to select between the particular agent and one or more other of the plurality of agents; 
 
   responsive to the receiving the natural language input instance and in response to selecting the particular agent:
 transmitting, via an application programming interface, an invocation request to the selected particular agent, wherein the invocation request invokes the particular agent and causes the particular agent to generate particular responsive content for presentation to the user via one or more user interface output devices, 
 wherein only the selected particular agent is invoked in response to receiving the natural language input instance. 
   
     
     
         11 . The method of  claim 10 , wherein the one or more contextual values comprise a given contextual value that is based on currently rendered content on a client device via which the user interface input is received. 
     
     
         12 . The method of  claim 10 , wherein the one or more contextual values comprise a given contextual value that is based on a quantity of interactions with the particular agent by the user engaged in the human-to-automated assistant dialog. 
     
     
         13 . The method of  claim 10 , wherein the one or more contextual values comprise a given contextual value that is based on a recency of interaction with the particular agent by the user engaged in the human-to-automated assistant dialog. 
     
     
         14 . The method of  claim 10 , wherein the one or more contextual values comprise: a given contextual value that is based on a quantity of interactions with the particular agent by the user; and an additional given contextual value that is based on a recency of interaction with the particular agent by the user. 
     
     
         15 . The method of  claim 10 , wherein the one or more contextual values comprise a location of a client device via which the user interface input is received. 
     
     
         16 . A method implemented by one or more processors, comprising:
 receiving a natural language input instance generated based on user interface input provided by a user during a human-to-automated assistant dialog,
 wherein the natural language input instance fails to explicitly indicate an agent to be invoked based on the natural language input instance; 
   prior to invoking any agent in response to the natural language input instance:
 applying, as input to a trained machine learning model, input features that are based on the natural language input instance; 
 generating, over the machine learning model based on the input, output that includes a plurality of values, wherein each of the values corresponds to a respective one of a plurality of agents, and wherein each of the values indicates an ability of a respective one of the plurality of agents to generate responsive content for the natural language input instance; 
 selecting a subset of the plurality of agents based on the generated values; 
 providing, for presentation to the user, an indication of each of the plurality of agents of the selected subset; 
 receiving, in response to providing the indication of each of the plurality of agents of the selected subset, a selection of a particular agent from the plurality of agents of the selected subset, wherein the selection is based on further user interface input provided by the user; and 
 selecting the particular agent based on the receiving the selection; 
   responsive to the receiving the natural language input instance and in response to selecting the particular agent:
 transmitting, via an application programming interface, an invocation request to the particular agent, wherein the invocation request invokes the particular agent and causes the particular agent to generate particular responsive content for presentation to the user via one or more user interface output devices. 
   
     
     
         17 . The method of  claim 16 , wherein selecting the subset of the plurality of agents is further based on one or more contextual values that are in addition to the natural language input instance and that are in addition to any other natural language input instances provided during the human-to-automated assistant dialog. 
     
     
         18 . The method of  claim 17 , wherein selecting the subset of the plurality of agents further based on the one or more contextual values comprises:
 applying, as additional input to the trained machine learning model, one or more additional input features that are based on one or more contextual values;   wherein generating the output over the machine learning model is further based on the additional input.   
     
     
         19 . The method of  claim 16 , wherein selecting the subset of the plurality of agents is further based on a contextual value that is based on currently rendered content on a client device via which the user interface input is received.

Join the waitlist — get patent alerts

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

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