IP Library Granted Patent US 11,727,941
Granted Patent B2
US 11,727,941 · App. 17/473,750 · Granted Aug 15, 2023

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,727,941
App. No.
17/473,750
Granted
Aug 15, 2023
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 (58)

1. A method comprising:

receiving 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, and wherein the plurality of distinct data providers includes (i) a task data provider that directs a dialog toward information used to complete a task and (ii) a search data provider;

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 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, the second plurality of suggested dialog responses including a first suggested dialog response from the search data provider and a first suggested dialog response from the task data provider, the first suggested dialog response from the task data provider being based on the first suggested dialog response from the search data provider;

for each dialog response of the second plurality of suggested dialog responses, determining a respective score associated with the dialog response;

determining a second dialog response based on the respective scores associated with the second plurality of suggested dialog responses, the second dialog response being based on both the first suggested dialog response from the search data provider and the first suggested dialog response from the task data provider; and

providing the second dialog response to the user device.

2. The method of claim 1 , wherein determining the respective score associated with the dialog response is based on a user personalization model.

3. The method of claim 1 , wherein determining the respective score associated with the dialog response is based on a respective confidence score that is included with the dialog response that is received from one of the data providers.

4. 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.

5. A system comprising:

a user device; and

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

receiving 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, and wherein the plurality of distinct data providers includes (i) a task data provider that directs a dialog toward information used to complete a task and (ii) a search data provider;

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 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, the second plurality of suggested dialog responses including a first suggested dialog response from the search data provider and a first suggested dialog response from the task data provider, the first suggested dialog response from the task data provider being based on the first suggested dialog response from the search data provider;

for each dialog response of the second plurality of suggested dialog responses, determining a respective score associated with the dialog response;

determining a second dialog response based on the respective scores associated with the second plurality of suggested dialog responses, the second dialog response being based on both the first suggested dialog response from the search data provider and the first suggested dialog response from the task data provider; and

providing the second dialog response to the user device.

6. The system of claim 5 , wherein determining the respective score associated with the dialog response is based on a user personalization model.

7. The system of claim 5 , wherein determining the respective score associated with the dialog response is based on a respective confidence score that is included with the dialog response that is received from one of the data providers.

8. The system of claim 5 , wherein the one or more computers are further 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.

9. 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 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, and wherein the plurality of distinct data providers includes (i) a task data provider that directs a dialog toward information used to complete a task and (ii) a search data provider;

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 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, the second plurality of suggested dialog responses including a first suggested dialog response from the search data provider and a first suggested dialog response from the task data provider, the first suggested dialog response from the task data provider being based on the first suggested dialog response from the search data provider;

for each dialog response of the second plurality of suggested dialog responses, determining a respective score associated with the dialog response;

determining a second dialog response based on the respective scores associated with the second plurality of suggested dialog responses, the second dialog response being based on both the first suggested dialog response from the search data provider and the first suggested dialog response from the task data provider; and

providing the second dialog response to the user device.

10. The one or more non-transitory computer storage media of claim 9 , wherein determining the respective score associated with the dialog response is based on a user personalization model.

11. The one or more non-transitory computer storage media of claim 9 , wherein determining the respective score associated with the dialog response is based on a respective confidence score that is included with the dialog response that is received from one of the data providers.

12. The one or more non-transitory computer storage media of claim 9 , further 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.

13. The method of claim 1 , wherein:

the first plurality of suggested dialog responses includes a second suggested dialog response from the task data provider; and

the one or more first dialog responses include the second suggested dialog response from the task data provider.

14. The method of claim 1 , wherein the second plurality of suggested dialog responses further includes a second suggested dialog response from the task data provider, the second suggested dialog response from the task data provider not being based on the first suggested dialog response from the search data provider.

15. The method of claim 1 , wherein:

the plurality of distinct data providers further includes an additional data provider;

the second plurality of suggested dialog responses further includes a first suggested dialog response from the additional data provider and a second suggested dialog response from the task data provider, the second suggested dialog response from the task data provider being based on the first suggested dialog response from the additional data provider.

16. The method of claim 15 , wherein a score associated with the first suggested dialog response from the additional data provider does not satisfy a threshold,

further comprising, in response to the score associated with the first suggested dialog response from the additional data provider not satisfying the threshold:

avoiding basing the second dialog response on the first suggested dialog response from the additional data provider; and

avoiding basing the second dialog response on the second suggested dialog response from the task data provider.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2021
From: ELSON, DAVID KLIGER; WHIPP, DAVID P.; YEHOSHUA, SHIR JUDITH
To: GOOGLE INC.
Reel/Frame 058055/0477 →
CHANGE OF NAME Recorded Nov 9, 2021
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 058056/0495 →
Continuity (3)
Continuation 16378546 · Apr 8, 2019
Continuation 14815794 · Jul 31, 2015
Related Publication 20210407522A1 · Dec 30, 2021