IP Library Granted Patent US 11,120,806
Granted Patent B2
US 11,120,806 · App. 16/378,546 · Granted Sep 14, 2021

Managing dialog data providers

Inventors: David Kliger Elson (Brooklyn, NY); David P. Whipp (San Jose, CA); Shir Judith Yehoshua (San Francisco, CA)
Assignee: Google LLC
G10L17/22G06F16/3329
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,120,806
App. No.
16/378,546
Granted
Sep 14, 2021
Kind
B2
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.

Claims (60)

1. A method comprising:

receiving at a dialog system a request, from a user device, associated with performance of a first task, wherein the request comprises a first 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 first voice input, receiving a first plurality of suggested dialog responses to the first voice input from two or more of the data providers;

determining, from the first plurality of suggested dialog responses, a dialog intent of the first voice input and a corresponding first dialog for the first task including one or more first dialog responses to provide to the user device to complete the first dialog for the first task;

receiving at the dialog system a second voice input in response to providing the one or more first dialog responses to the user and submitting the second voice input to each of the plurality of data providers;

receiving a second plurality of suggested dialog responses to the second voice input from two or more of the data providers;

in response to one of the second plurality of suggested dialog responses of a second data provider, receiving, from a first data provider, an augmented response that includes a modification or addition based on a disambiguation of an entity, the disambiguation of the entity being included in the suggested dialog response that is provided by the second data provider; and

determining a second dialog response including determining a combined response including the suggested dialog response of the second data provider and the augmented response of the first data provider and providing the combined response to the user device.

2. The method of claim 1 , comprising:

updating a state of the first dialog in response to the one or more first dialog responses to the first voice input; and

providing the updated state to the plurality of data providers as context for analyzing the second voice input.

3. The method of claim 1 , wherein the first dialog is generated by a first data provider and the second dialog is generated by a second data provider of the plurality of data providers.

4. The method of claim 1 , further comprising:

combining a dialog response from a first data provider and a second data provider to provide to the user device, wherein the combined dialog response is associated with the first task and with a second task determined from the second voice input.

5. The method of claim 4 , further comprising:

in response to a third voice input received from the user device in response to the combined dialog response, updating a state of both the first dialog and the second dialog.

6. The method of claim 1 , wherein each suggested dialog response of the first plurality of suggested dialog responses is scored, and wherein the particular dialog corresponding to the first task is determined based on the scoring.

7. The method of claim 1 , further comprising receiving, from the first data provider, a non-augmented response that ignores the suggested dialog response of the second data provider.

8. The method of claim 1 , wherein:

each dialog response of the first plurality of suggested dialog responses includes a respective confidence score provided by a respective data provider of the plurality of data providers; and

the one or more first dialog responses in the corresponding first dialog are selected based on the respective confidence scores.

9. A dialog system comprising:

a user device; and

one or more computers configured to interact with the user device and to perform operations comprising:

receiving at the dialog system a request, from the user device, associated with performance of a first task, wherein the request comprises a first 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 first voice input, receiving a first plurality of suggested dialog responses to the first voice input from two or more of the data providers;

determining, from the first plurality of suggested dialog responses, a dialog intent of the first voice input and a corresponding first dialog for the first task including one or more first dialog responses to provide to the user device to complete the first dialog for the first task;

receiving at the dialog system a second voice input in response to providing the one or more first dialog responses to the user and submitting the second voice input to each of the plurality of data providers;

receiving a second plurality of suggested dialog responses to the second voice input from two or more of the data providers;

in response to one of the second plurality of suggested dialog responses of a second data provider, receiving, from a first data provider, an augmented response that includes a modification or addition based on a disambiguation of an entity, the disambiguation of the entity being included in the suggested dialog response that is provided by the second data provider; and

determining a second dialog response including determining a combined response including the suggested dialog response of the second data provider and the augmented response of the first data provider and providing the combined response to the user device.

10. The system of claim 9 , wherein the one or more computers are configured to perform operations comprising:

updating a state of the first dialog in response to the one or more first dialog responses to the first voice input; and

providing the updated state to the plurality of data providers as context for analyzing the second voice input.

11. The system of claim 9 , wherein the first dialog is generated by a first data provider and the second dialog is generated by a second data provider of the plurality of data providers.

12. The system of claim 9 , wherein the one or more computers are configured to perform operations comprising:

combining a dialog response from a first data provider and a second data provider to provide to the user device, wherein the combined dialog response is associated with the first task and with a second task determined from the second voice input.

13. The system of claim 12 , wherein the one or more computers are configured to perform operations comprising:

in response to a third voice input received from the user device in response to the combined dialog response, updating a state of both the first dialog and the second dialog.

14. The system of claim 9 , wherein each suggested dialog response of the first plurality of suggested dialog responses is scored, and wherein the particular dialog corresponding to the first task is determined based on the scoring.

15. One or more non-transitory computer storage media encoded with computer program instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

receiving at a dialog system a request, from a user device, associated with performance of a first task, wherein the request comprises a first 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 first voice input, receiving a first plurality of suggested dialog responses to the first voice input from two or more of the data providers;

determining, from the first plurality of suggested dialog responses, a dialog intent of the first voice input and a corresponding first dialog for the first task including one or more first dialog responses to provide to the user device to complete the first dialog for the first task;

receiving at the dialog system a second voice input in response to providing the one or more first dialog responses to the user and submitting the second voice input to each of the plurality of data providers;

receiving a second plurality of suggested dialog responses to the second voice input from two or more of the data providers;

in response to one of the second plurality of suggested dialog responses of a second data provider, receiving, from a first data provider, an augmented response that includes a modification or addition based on a disambiguation of an entity, the disambiguation of the entity being included in the suggested dialog response that is provided by the second data provider; and

determining a second dialog response including determining a combined response including the suggested dialog response of the second data provider and the augmented response of the first data provider and providing the combined response to the user device.

16. The one or more non-transitory computer storage media of claim 15 , comprising computer program instructions that when executed by the one or more computers cause the one or more computers to perform operations comprising:

updating a state of the first dialog in response to the one or more first dialog responses to the first voice input; and

providing the updated state to the plurality of data providers as context for analyzing the second voice input.

17. The one or more non-transitory computer storage media of claim 15 , wherein the first dialog is generated by a first data provider and the second dialog is generated by a second data provider of the plurality of data providers.

18. The one or more non-transitory computer storage media of claim 15 , further comprising computer program instructions that when executed by the one or more computers cause the one or more computers to perform operations comprising:

combining a dialog response from a first data provider and a second data provider to provide to the user device, wherein the combined dialog response is associated with the first task and with a second task determined from the second voice input.

19. The one or more non-transitory computer storage media of claim 18 , further comprising computer program instructions that when executed by the one or more computers cause the one or more computers to perform operations comprising:

in response to a third voice input received from the user device in response to the combined dialog response, updating a state of both the first dialog and the second dialog.

20. The one or more non-transitory computer storage media of claim 15 , wherein each suggested dialog response of the first plurality of suggested dialog responses is scored, and wherein the particular dialog corresponding to the first task is determined based on the scoring.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2019
From: ELSON, DAVID KLIGER; WHIPP, DAVID P.; YEHOSHUA, SHIR JUDITH
To: GOOGLE INC.
Reel/Frame 049256/0617 →
CHANGE OF NAME Recorded May 22, 2019
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 049262/0168 →
Continuity (2)
Continuation 14815794 · Jul 31, 2015
Related Publication 20190304471A1 · Oct 3, 2019
Cited By (1)
US 12,652,260