Managing dialog data providers
First Claim
Patent Images
1. A method comprising:
- receiving a request, from a user device, made by a user to perform a task, wherein the request comprises a voice input of a user of the user device;
determining a dialog associated with the task, wherein the dialog has a particular state;
submitting the voice input of the request to each of a plurality of distinct data providers, wherein each data provider is associated with a distinct data model configured to interpret particular types of voice inputs;
in response to the voice input, receiving a plurality of suggested dialog responses to the voice input from two or more of the data providers including a first data provider and a second data provider, wherein the first data provider determines whether to change a first suggested dialog response of the first data provider that is responsive to the voice input of the request based on a second suggested dialog response of the second data provider that is responsive to the voice input of the request, wherein the determination of the first data provider occurs prior to providing a voice response to the voice input to the user device, and wherein each of the plurality of suggested dialog responses is associated with a respective context;
scoring the plurality of suggested dialog responses to generate a respective score for each suggested dialog response based on one or more scoring factors including the respective contexts for the plurality of suggested dialog responses;
determining, from the plurality of suggested dialog responses, a particular dialog response to provide to the user responsive to the voice input of the request based on the scoring;
synthesizing a voice response that corresponds to the determined dialog response;
providing the voice response to the user device; and
performing the task in response to completing the dialog.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for managing dialogs. In one aspect, a method includes receiving a request associated with a task from a user device; submitting the request to each of a plurality of distinct data providers; receiving a plurality of suggested dialog responses from two or more of the data providers; scoring the one or more suggested dialog responses based on one or more scoring factors; determining a particular dialog response to provide to the user based on the scoring; and providing the determined dialog response to the user device.
-
Citations
21 Claims
-
1. A method comprising:
-
receiving a request, from a user device, made by a user to perform a task, wherein the request comprises a voice input of a user of the user device; determining a dialog associated with the task, wherein the dialog has a particular state; submitting the voice input of the request to each of a plurality of distinct data providers, wherein each data provider is associated with a distinct data model configured to interpret particular types of voice inputs; in response to the voice input, receiving a plurality of suggested dialog responses to the voice input from two or more of the data providers including a first data provider and a second data provider, wherein the first data provider determines whether to change a first suggested dialog response of the first data provider that is responsive to the voice input of the request based on a second suggested dialog response of the second data provider that is responsive to the voice input of the request, wherein the determination of the first data provider occurs prior to providing a voice response to the voice input to the user device, and wherein each of the plurality of suggested dialog responses is associated with a respective context; scoring the plurality of suggested dialog responses to generate a respective score for each suggested dialog response based on one or more scoring factors including the respective contexts for the plurality of suggested dialog responses; determining, from the plurality of suggested dialog responses, a particular dialog response to provide to the user responsive to the voice input of the request based on the scoring; synthesizing a voice response that corresponds to the determined dialog response; providing the voice response to the user device; and performing the task in response to completing the dialog. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
one or more computers configured to perform operations comprising; receiving a request, from a user device, made by a user to perform a task, wherein the request comprises voice input of a user of the user device; determining a dialog associated with the task, wherein the dialog has a particular state; submitting the voice input of the request to each of a plurality of distinct data providers, wherein each data provider is associated with a distinct data model configured to interpret particular types of voice inputs; in response to the voice input, receiving a plurality of suggested dialog responses to the voice input from two or more of the data providers including a first data provider and a second data provider, wherein the first data provider determines whether to change a first suggested dialog response of the first data provider that is responsive to the voice input of the request based on a second suggested dialog response of the second data provider that is responsive to the voice input of the request, wherein the determination of the first data provider occurs prior to providing a voice response to the voice input to the user device, and wherein each of the plurality of suggested dialog responses is associated with a respective context; scoring the plurality of suggested dialog responses to generate a respective score for each suggested dialog response based on one or more scoring factors including the respective contexts for the plurality of suggested dialog responses; determining, from the plurality of suggested dialog responses, a particular dialog response to provide to the user responsive to the voice input of the request based on the scoring; synthesizing a voice response that corresponds to the determined dialog response; providing the voice response to the user device; and performing the task in response to completing the dialog. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
16. One or more non-transitory computer-readable storage media encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:
-
receiving a request, from a user device, made by a user to perform a task, wherein the request comprises a voice input of a user of the user device; submitting the request to each of a plurality of distinct data providers, wherein each data provider is associated with a distinct data model configured to interpret particular types of voice inputs; in response to the voice input, receiving a plurality of suggested dialog responses to the voice input from two or more of the data providers including a first data provider and a second data provider, wherein the first data provider determines whether to change a first suggested dialog response of the first data provider that is responsive to the voice input of the request based on a second suggested dialog response of the second data provider that is responsive to the voice input of the request, wherein the determination of the first data provider occurs prior to providing a voice response to the voice input to the user device, and wherein each of the plurality of suggested dialog responses is associated with a respective context; scoring the plurality of suggested dialog responses to generate a respective score for each suggested dialog response based on one or more scoring factors including the respective contexts for the plurality of suggested dialog responses; determining, from the plurality of suggested dialog responses, a particular dialog response to provide to the user responsive to the voice input of the request based on the scoring; synthesizing a voice response that corresponds to the determined dialog response; providing the voice response to the user device; and performing the task in response to completing the dialog. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification