Automated assistant invocation of appropriate agent
First Claim
1. A method implemented by one or more processors, comprising:
- for each of a plurality of natural language input instances generated based on user interface input during human-to-automated assistant dialogs;
generating an agent request based on the natural language input instance,selecting, for the agent request, a set of multiple agents from a corpus of available agents,transmitting, via one or more application programming interfaces, the agent request to each of the multiple agents of the set,receiving, from each of the multiple agents in response to the transmitting, a corresponding response to the agent request, wherein the responses each indicate an ability of a corresponding one of the multiple agents to generate responsive content in response to the agent request, andstoring, in one or more computer readable media, one or more associations between the agent request and the responses to the agent request;
generating an agent selection model based on the stored associations between the agent requests and their responses, wherein the agent selection model is a machine learning model, and wherein generating the machine learning model comprises;
generating training instances based on the agent requests and their responses, wherein generating each of a plurality of the training instances comprises;
generating training instance input of the training instance based on a corresponding agent request of the agent requests, andgenerating training instance output of the training instance based on the responses stored in association with the corresponding agent request; and
training the machine learning model based on the training instances;
subsequent to generating the agent selection model;
receiving subsequent natural language input of a user that is directed to an automated assistant as part of a dialog between the user and the automated assistant,selecting a particular agent based on the subsequent natural language input and the agent selection model, wherein the particular agent is one of the available agents, and wherein selecting the particular agent based on the subsequent natural language input and the agent selection model comprises;
applying, as input to the machine learning model, input features that are based on the subsequent natural language input,generating, over the machine learning model based on the input, output that includes a value for the particular agent, andselecting the particular agent based on the value for the particular agent, andresponsive to the receiving the subsequent natural language input and in response to selecting the particular agent;
transmitting, via one or more of the application programming interfaces, 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, responsive to receiving the subsequent natural language input, the invocation request is transmitted to only the selected particular agent.
3 Assignments
0 Petitions
Accused Products
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.
-
Citations
12 Claims
-
1. A method implemented by one or more processors, comprising:
-
for each of a plurality of natural language input instances generated based on user interface input during human-to-automated assistant dialogs; generating an agent request based on the natural language input instance, selecting, for the agent request, a set of multiple agents from a corpus of available agents, transmitting, via one or more application programming interfaces, the agent request to each of the multiple agents of the set, receiving, from each of the multiple agents in response to the transmitting, a corresponding response to the agent request, wherein the responses each indicate an ability of a corresponding one of the multiple agents to generate responsive content in response to the agent request, and storing, in one or more computer readable media, one or more associations between the agent request and the responses to the agent request; generating an agent selection model based on the stored associations between the agent requests and their responses, wherein the agent selection model is a machine learning model, and wherein generating the machine learning model comprises; generating training instances based on the agent requests and their responses, wherein generating each of a plurality of the training instances comprises; generating training instance input of the training instance based on a corresponding agent request of the agent requests, and generating training instance output of the training instance based on the responses stored in association with the corresponding agent request; and training the machine learning model based on the training instances; subsequent to generating the agent selection model; receiving subsequent natural language input of a user that is directed to an automated assistant as part of a dialog between the user and the automated assistant, selecting a particular agent based on the subsequent natural language input and the agent selection model, wherein the particular agent is one of the available agents, and wherein selecting the particular agent based on the subsequent natural language input and the agent selection model comprises; applying, as input to the machine learning model, input features that are based on the subsequent natural language input, generating, over the machine learning model based on the input, output that includes a value for the particular agent, and selecting the particular agent based on the value for the particular agent, and responsive to the receiving the subsequent natural language input and in response to selecting the particular agent; transmitting, via one or more of the application programming interfaces, 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, responsive to receiving the subsequent natural language input, the invocation request is transmitted to only the selected particular agent. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method implemented by one or more processors, comprising:
-
for each of a plurality of natural language input instances generated based on user interface input during human-to-automated assistant dialogs; generating an agent request based on the natural language input instance, selecting, for the agent request, a set of multiple agents from a corpus of available agents, transmitting the agent request to each of the multiple agents of the set, receiving, from at least a subset of the multiple agents in response to the transmitting, a corresponding response to the agent request; determining, from each of the responses, a relative ability of an agent providing the response to generate responsive content in response to the agent request, and storing, in one or more computer readable media, an association of the agent request to at least one of the agents determined to be able to respond to the agent request; generating an agent selection model based on the stored associations between the agent requests and the agents determined to be able to respond to the agent requests, wherein the agent selection model is a machine learning model, and wherein generating the machine learning model comprises; generating training instances based on the agent requests and the agents determined to be able to respond to the agent requests, wherein generating each of a plurality of the training instances comprises; generating training instance input of the training instance based on a corresponding agent request of the agent requests, and generating training instance output of the training instance based on the at least one of the agents determined to be able to respond to the request; and training the machine learning model based on the training instances; subsequent to generating the agent selection model; receiving subsequent natural language input of a user that is directed to an automated assistant as part of a dialog between the user and the automated assistant, selecting a particular agent based on the subsequent natural language input and the agent selection model, wherein the particular agent is one of the available agents, wherein selecting the particular agent based on the subsequent natural language input and the agent selection model comprises; applying, as input to the machine learning model, input features that are based on the subsequent natural language input, generating, over the machine learning model based on the input, output that includes a value for the particular agent, and selecting the particular agent based on the value for the particular agent, and in response to selecting the particular agent; transmitting 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. - View Dependent Claims (10)
-
-
11. A method implemented by one or more processors, comprising:
-
receiving a natural language input instance generated based on user interface input during a human-to-automated assistant dialog; prior to invoking any agent in response to the natural language input instance; generating an agent request based on the natural language input instance, selecting, for the agent request, multiple agents from a corpus of available agents, transmitting the agent request to each of the multiple agents of the set, receiving, from at least a subset of the multiple agents in response to the transmitting, a corresponding response to the agent request, determining, from each of the responses, a relative ability of an agent providing the response to generate responsive content in response to the agent request, and selecting a particular agent of the multiple agents based on at least one of the responses; responsive to the natural language input and based on selecting the particular agent; invoking the particular agent, wherein invoking the particular agent causes responsive content generated by the particular agent to be provided for presentation via one or more user interface output devices, wherein only the selected particular agent is invoked in responsive to receiving the natural language input; storing, in one or more computer readable media, an association of the agent request to at least one of the agents determined to be able to respond to the agent request; generating a training instance based on the stored association of the agent request to the at least one of the agents determined to be able to respond to the agent request; training an agent selection model based on the training instance, wherein the agent selection model is a machine learning model; subsequent to training the agent selection model based on the training instance; receiving additional natural language input in an additional human-to automated assistant dialog, applying, as input to the machine learning model, input features that are based on the additional natural language input, generating, over the machine learning model and based on the input, output that includes a value for an additional agent of the multiple agents, selecting the additional agent based on the value, and responsive to the additional natural language input and based on selecting the additional agent; transmitting an additional invocation request to the additional agent, wherein the additional invocation request invokes the additional agent, and wherein, responsive to receiving the additional natural language input, the invocation request is transmitted to only the selected additional agent. - View Dependent Claims (12)
-
Specification